在Android上使用libvlc播放RTP流时减少延迟

du7egjpx  于 2022-12-25  发布在  Android
关注(0)|答案(3)|浏览(727)

我正在使用LibVLC 3.0.0版本在Android上通过RTP播放传入的mpeg 2 ts流。代码如下:

SurfaceView playerView; //Initialized somewhere before    

LibVLC libVlc = new LibVLC(context, arrayListOf("--file-caching=150", "--network-caching=150",
                    "--clock-jitter=0", "--live-caching=150", "--clock-synchro=0",
                    "-vvv", "--drop-late-frames", "--skip-frames"));
MediaPlayer player = new MediaPlayer(libVlc);
IVLCVout vout = player.getVLCVout();
vout.setVideoView(playerView);
vout.attachViews();
Media media = new Media(libVlc, Uri.parse("rtp://@:" + UDP_PORT + "/"));
player.setMedia(media);
player.play();

这确实播放了流,但是有大约2秒的延迟。我确信延迟可以减少到~300毫秒,因为其他播放器可以在这个延迟下播放它。我应该使用哪些选项来减少延迟?我知道我必须用质量来换取它,但是我首先要怎么做呢?

vx6bjr1n

vx6bjr1n1#

有一种方法可以将延迟从约2秒减少到约200毫秒
溶液:

ArrayList<String> options = new ArrayList<>();
 options.add("--file-caching=2000");
 options.add("-vvv");

 LibVLC mLibVLC = new LibVLC(getApplicationContext(), options);
 MediaPlayer mMediaPlayer =  new MediaPlayer(mLibVLC);

 Media media = new Media(mLibVLC, Uri.parse("rtsp://192.168.0.1:1935/myApp/myStream"));
        media.setHWDecoderEnabled(true, false);
        media.addOption(":network-caching=150");
        media.addOption(":clock-jitter=0");
        media.addOption(":clock-synchro=0");

 mMediaPlayer.setMedia(media);
 mMediaPlayer.play();

希望这对你有帮助!

wko9yo5t

wko9yo5t2#

使用以下选项对我来说很有用。

ArrayList<String> options = new ArrayList<>();
options.add("-vvv");
options.add("--rtsp-tcp");

使用的LibVLC:

implementation 'org.videolan.android:libvlc-all:3+'
2wnc66cl

2wnc66cl3#

我解决了这个问题。
安卓系统:

val options: ArrayList<String> = ArrayList()
    options.add("--file-caching=2000")
    options.add("-vvv")
    options.add("--rtsp-tcp")

扑动:

class _MyHomePageState extends State<MyHomePage> {
final VlcPlayerController _vlcViewController = 
VlcPlayerController.network(
  "rtsp://RTSP_URL_HERE",
  autoPlay: true,
  options: VlcPlayerOptions(
      rtp: VlcRtpOptions([VlcRtpOptions.rtpOverRtsp(true)])));

相关问题