java– 在Android上使用libvlc播放rtp流时减少延迟

java– 在Android上使用libvlc播放rtp流时减少延迟,第1张

概述我正在使用LibVLC3.0.0版在Android上通过rtp播放传入的mpeg2ts流.代码如下:SurfaceViewplayerView;//InitializedsomewherebeforeLibVLClibVlc=newLibVLC(context,arrayListOf("--file-caching=150","--network-caching=150","-

我正在使用libVLC 3.0.0版在Android上通过rtp播放传入的mpeg2ts流.代码如下:

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毫秒,因为其他一些玩家可以在这个延迟时间播放它.我应该使用哪些选项来减少延迟?我知道我必须为此交易质量,但我该如何做呢?

解决方法:

有一种方法可以将延迟从~2秒减少到~200ms

解:

 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();

希望这对你有所帮助! =)

总结

以上是内存溢出为你收集整理的java – 在Android上使用libvlc播放rtp流时减少延迟全部内容,希望文章能够帮你解决java – 在Android上使用libvlc播放rtp流时减少延迟所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1097786.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存