vlc播放网络流延时参数设置
vlc-android播放网络视频流时网络延时参数设置: options.add(":file-caching=1500"); options.add(":network-caching=1500"); options.add(":codec=mediacodec,iomx,all"); options.add(":demux=h264"); 值越大,缓存越大,延迟越大。 下面是摘录别人的pc端的方法,供大家参考 vlc这款播放器非常优秀而且是开源的,它的核心是开源视频编解码库ffmpeg。而且这款播放器还支持RTSP协议,这个主要是用开源的live555来实现的,live555这个库以后还需要认真研习。
一:PC端(Windows平台)VLC播放RTSP视频延迟问题解决
前几天用PC平台上的VLC播放RTSP流媒体时延迟时间较长,存在1s左右的延迟,效果不是很好,后来查了资料,发现这个延迟时间是可以修改的。
找到工具->首选项,然后参数设置左下角选择“全部”,左边选择 “输入编解码”->“网络缓存”选项,可以根据具体需要加以修改,具体见下图不过这个值不要太小,否则缓存太小,播放视频的过程中会很卡
如果网络环境较好,300ms以内效果很好,实时性较好。
二:PC端(Linux平台)VLC播放RTSP视频延迟问题解决
这里我的测试平台是ubuntu,linux平台上的vlc可以以命令行的方式来运行,而命令行是可以带参数的,我们只需要在参数里面指定这个延迟时间就可以了,下面是具体的命令行形式,大家可以根据各自需要加以调整
vlcrtsp://192.168.1.1:8556/test.avi --newwork-caching=300
rtsp的地址要根据自己需要播放的视频地址修改,网络延迟时间也可以根据需要修改,这个值越小,实时性越好,当然太小了播放会很卡,或者设置的值失效,一般建议在100-300之间
三. Android平台VLC播放RTSP视频延迟问题解决
首先在Android平台上的VLC播放器不像windows平台上UI里提供了设置延迟时间这一项功能,其次也不像Linux平台上可以以命令行的方式来运行,我们也就不能通过设置参数的方式来修改这个延迟时间,怎么办呢,只剩下最后一条路,修改源代码,将延迟时间写死在源码里,有了前面linux平台下设置参数的经验,就可以在源码里面通过grep工具来查找”network-caching”,发现有很多文件包含这个值,下面是搜索的结果
点击(此处)折叠或打开
vlc/src/libvlc-module.c:add_integer( "network-caching", CLOCK_FREQ / 1000,
vlc/NEWS:- --network-caching specifies caching for networkresources,
vlc/modules/gui/macosx/simple_prefs.m:TestCaC("network-caching", 10/3);
vlc/modules/gui/macosx/simple_prefs.m:CaC("network-caching", 10/3);
vlc/modules/gui/qt4/components/open_panels.cpp:emit methodChanged( qfu( "network-caching" ) );
vlc/modules/gui/qt4/components/simple_preferences.cpp:TestCaC( "network-caching", 10/3 );
vlc/modules/gui/qt4/components/simple_preferences.cpp:CaC( "network-caching", 10/3 );
vlc/modules/access/file.c: *pi_64 = var_InheritInteger (p_access, "network-caching");
vlc/modules/access/rtp/rtp.c: *v = INT64_C(1000) * var_InheritInteger (demux, "network-caching");
vlc/modules/access/ftp.c: * var_InheritInteger( p_access, "network-caching" );
vlc/modules/access/live555.cpp: * var_InheritInteger( p_demux, "network-caching" );
vlc/modules/access/http.c: * var_InheritInteger( p_access, "network-caching" );
vlc/modules/access/sftp.c: * var_InheritInteger( p_access, "network-caching" );
vlc/modules/access/udp.c: * var_InheritInteger(p_access, "network-caching");
vlc/modules/access/smb.c: * var_InheritInteger( p_access, "network-caching" );
vlc/modules/access/tcp.c: * var_InheritInteger( p_access, "network-caching" );
vlc/modules/access/rtsp/access.c: * var_InheritInteger(p_access, "network-caching");
vlc/modules/access/mms/mmsh.c: * var_InheritInteger( p_access, "network-caching" );
vlc/modules/access/mms/mmstu.c: * var_InheritInteger( p_access, "network-caching" );
vlc/modules/access/vnc.c: * var_InheritInteger( p_demux, "network-caching" );
vlc-android/jni/libvlcjni.c:libvlc_media_add_option(p_md, ":network-caching=1500");
对这些文件的代码进行了一些分析,最后发现目标在vlc/src/libvlc-module.c这个文件,于是修改这个文件的1832行,如下图所示,将CLOCK_FREQ/ 1000改为 CLOCK_FREQ/ 3000,这里可以根据各自的需要加以修改,分母越大,这个值就越小,实时性也就越好,当然跟前面所说一样,不能太小
点击(此处)折叠或打开
1832 //add_integer( "network-caching", CLOCK_FREQ / 1000,
1833 // NETWORK_CACHING_TEXT, NETWORK_CACHING_LONGTEXT, true )
1834add_integer( "network-caching", CLOCK_FREQ / 3000,
1835NETWORK_CACHING_TEXT, NETWORK_CACHING_LONGTEXT, true )
最后再编译运行发现延迟时间大概在200ms左右,比修改之前实时性有明显改善,实时性很好,希望这篇文章能给需要相关资料的朋友提供一些帮助,如果有什么问题欢迎给我留言。
vlc播放网络流延时参数设置相关推荐
- 网页中Flash播放器常用参数设置(转)
网页中Flash播放器常用参数设置 2006-11-26 23:24 我们现在大部分人做网页,都是直接用DW插入flash,而且DW也是所见即所得,直接生成了相应的flash显示代码.可是我们又有多少 ...
- MySQL 网络延时参数设置建议
近期投产生产 MySQL组复制集群偶尔出现节点被逐出集群的情况,怀疑是网络抖动导致.查询官方文档发现,MySQL 8.0.13 版本引入集群网络延迟容错参数group_replication_memb ...
- mysql 如何设置延迟启动_技术分享 | MySQL 网络延时参数设置建议
作者:毛思平 工作11年,从事数据库工作7年,主要在金融行业.主要是做oracle,mysql.现在在农行软开中心主要做数据库应用方面的研究. 本文来源:原创投稿 *爱可生开源社区出品,原创内容未经授 ...
- vlc播放rtp延时越来越大
最近用GB28181调海康的IPC,将ps流解析为es,然后打包rtp,这里得吐槽一下,ps流中的pts打的准一点有那么难吗?还好帧率是稳定的,rtp头部的时戳不能直接用解析出来的pts,索性就自己按 ...
- ffmpeg ffplay播放延时大问题:播放延时参数设置
本文转自:http://blog.csdn.net/cai6811376/article/details/52637158 使用ffplay播放视频源时,rtsp/rtmp等,会有一定的延时,这里我们 ...
- vlc 详细使用方法:libvlc_media_add_option 函数中的参数设置
[转载自]tinyle的专栏 [原文链接地址]http://blog.csdn.net/myaccella/article/details/7027962 [手记] 下面列出的参数可以在命令行中执行, ...
- Vcastr 2.2 flv 网络播放器 参数设置
Vcastr 2.2 flv 网络播放器 参数设置 参数名称 参数说明 默认值 vcastr_file 方法2传递影片flv文件地址参数,多个使用|分开 空 vcastr_title 影片标题参数,多 ...
- 设置VLC播放器进行RTSP推流桌面(共享桌面)
设置VLC播放器进行RTSP推流桌面(共享桌面) 一.推流与拉流概念 二.设置推流端 三.设置拉流端(播放端) VLC官网:https://www.videolan.org/ 一.推流与拉流概念 首先 ...
- 学习开源播放器代码解析之参数设置
1.前言 出于学习音视频的目的,在Github找了个基于FFMPEG的播放器代码,代码量比较小.地址:fflayer.于是乎下载编译了下,运行结果良好.So,出于学习的目的,写写学习笔记,归纳归纳 ...
最新文章
- Windows中文件夹与linux中目录的区别
- kosaraju算法
- iOS游戏框架Sprite Kit基础教程第1章编写第一个Sprite Kit程序
- Excel 公式 两个时间比大小
- android 单选、多选弹出菜单
- 最短路径 的一些解法和特殊情况
- 【机器学习】九种顶流回归算法及实例总结
- 排序算法:冒泡和快排 摘自网络
- Vue第一部分(1):Vue简介以及第一个示例
- java httpost阻塞_httpclient发送get请求阻塞?
- Net-Snmp安装配置
- GPS :NEMA数据解析
- Wise UNpacker 0.91A [with Delphi Source]
- asp判断是否移动端_ASP判断当前访问的是PC端还是移动设备端
- linux下代码覆盖率检查工具---gcov的用法
- python-回文字符串
- 电路邱关源第五版部分章节总结笔记
- 首度亮相服贸会,亚马逊云科技如何演绎“大象起舞”?
- php-ftm,FTM/MTF的激素种类
- 游戏开发常遇到数据一致性BUG,怎么解?
热门文章
- You are using pip version 8.1.1, however version 20.1.1 is available
- linux中html的图片显示不出来,如何在HTML中显示原始的rgb图像
- 服务器python密码_python实现批量修改服务器密码的方法
- SecureCRT安装的注意事项
- java hashset应用_三.java集合的应用
- 美国大学计算机专业都学什么,在美国大学计算机专业都学什么.docx
- 马斯克脑洞破解谁是“中本聪”?
- 课堂上的社死现场...
- 常用的JVM参数,你现在就记好!
- 一次线上JVM调优实践,FullGC40次/天到10天一次的优化过程