-
Notifications
You must be signed in to change notification settings - Fork 8.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
请问下做RTSP直播,在局域网环境,1080p、30fps的视频流。现在通过设置相关option参数,延时在300-350ms。怎么做进一步优化,达到100ms左右延时呢 #4267
Comments
首先能不能请问300-350ms是怎样设置参数的。。。 |
probesize设置小点 |
问下这个问题有解决吗,我也遇到这个问题 |
做到了130ms,还得继续优化。。。 |
能看看你的option参数配置吗 |
@xufuji456 请问怎么配置或者修改达到130ms? |
@xufuji456 朋友,你好,请问你的优化直播延时选项是否可以告知,我会有偿感谢的。 |
// VideoOptionModel videoOptionMode16 = new VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "rtsp_transport", "tcp");//tcp传输数据 备注:这是Android配置,ios参数类似 |
@zhengchengbin610 感谢就不用了,大家相互学习而已 |
@xufuji456 感谢的回复,max_cached_duration 这个选项是需要自己去按照网络文章加进去吧? 交个朋友,这是我的QQ:471102531 |
max_cached_duration是自己加的,用来控制音视频缓存队列 |
我试了你给我的配置选项,但是还是有480ms的延时,不知什么了,我是局域网播放rtsp 流,请问有什么建议吗? |
总延时=采集+编码(缓冲)+发送+传输+接收+解码(缓冲)+播放,你先确认下采集编码端有多少延时 |
@xufuji456 明白,我确认一下,不过我测试的流没有音频,然后我disable 掉了音频流的播放 |
@xufuji456 我用了一个其他的app 测试同一个流,延时在300ms左右,我的目标也就是300-350之间,但是我用ijkplayer的延时 一直保持在480ms 左右,感觉一直稳定在480ms,换了你的配置也是这样。对ijkplayer 还有什么修改优化的方法吗? |
你换成硬解码试下 |
@xufuji456 是的,这个是否硬解码的选项 也有打开试过,基本没有什么变化,估计瓶颈延时不在解码部分,你是否可以给我修改的版本呢? |
@zhengchengbin610 打开硬解后,可以降低 CPU 的使用率,可以让 CPU 做其他的事情,直播是因为码率一般不高,所以不明显,实际上是要好一些的 |
@Supecomer 你说的了解,只是针对目前延时一直在480ms的问题上,用硬解码不太明显,当然CPU肯定低了,对于整个APP性能是有提升的,关于延时问题你有什么建议吗 |
你好,我现在也是在局域网环境的推流,现在设置option后延迟在300ms左右,想进一步优化延迟,请问你添加max_cached_duration的逻辑能说下吗?非常感谢 |
判断音视频缓存队列时间戳是否大于max_cached_duration,如果大于,就丢视频帧,要注意的是整个GOP都需要丢,否则会花屏 |
你先把编译环境搭建好,建议在ubuntu环境编译。 |
已经处理好了,谢谢 |
我设置上面的参数后,在局域网中还是有2秒的延迟呢? |
您好,我设置上面的参数后还是有2秒的延迟呢,我就用了一个无线路由器,么有接网线测试的 |
1、你确认下推流端延时多少,用其他播放器拉流播放对比 |
@xufuji456 关于基于ijkplayer低延时300ms以内优化方法,是否可以交流,有偿的,感谢 |
@zhengchengbin610 你那边直播的参数是怎么样的呢,分辨率、码率、帧率这些。 |
你好 ,怎么看log 确认是延迟300-500ms |
|
@xufuji456 大神你这个FFmpegAndroid里面的Onlive里面的so库 虽然能到达90ms 但是stop的时候没有发送teardown 来停止服务器发送rtsp |
您好,请问您编译的so库可以分享一下吗? |
在开始播放器开始加载视频源的时候打开一个线程,用来监听时间变化,在setOnPreparedListener的onPrepared方法中,打印出准备了多长时间。在setOnInfoListener的onInfo方法中通知MEDIA_INFO_VIDEO_RENDERING_START时打印开始播放的时间。
…------------------ 原始邮件 ------------------
发件人: "吃苹果的猫"<[email protected]>;
发送时间: 2019年7月22日(星期一) 中午11:38
收件人: "bilibili/ijkplayer"<[email protected]>;
抄送: "724699262"<[email protected]>;"Comment"<[email protected]>;
主题: Re: [bilibili/ijkplayer] 请问下做RTSP直播,在局域网环境,1080p、30fps的视频流。现在通过设置相关option参数,延时在300-350ms。怎么做进一步优化,达到100ms左右延时呢 (#4267)
请问你们是怎么获取到延时时间的呢
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.
|
(Android平台) 请教下大家,网络波动的时候,或者RTSP服务器断开的时候,你们是如何捕捉到这个事件的?就是说没有一个错误回调的方法,我这边有设置 ijkMediaPlayer.setOnErrorListener(new IMediaPlayer.OnErrorListener() { 但是没有作用,什么打印都没有。希望有大神指点下,谢谢! |
和Android平台应该没关系,ffmpeg拉流,本质离不开av_read_frame,RTSP-Server断开或者网络出错,av_read_frame会返回错误码,用av_err2str可以查出具体原因。 |
setup、teardown、play这些命令应该是推流端发送的,拉流端是接收命令进行处理 |
|
退出拉流的时候,确实应该要发送 teardown 吧。 我用vlc拉rtsp然后退出的时候,vlc 是有发送 teardwon指令给到服务器端的,但是用这个就没有发送teardwon 指令 |
ijkplayer 有接口可以直接操作 av_read_frame 吗? av_err2str 这个在哪里可以查呢? |
没直接操作av_read_frame的,这个在ff_ffplay.c读线程里面。 `
` |
@xufuji456 能告知做到130ms的option的设置参数吗? |
我在html5,最低做到了270ms。 我尝试使用rtsp局域网,最低到80ms。 |
最大时延是在: 播放器端; 流到了后要解码。这是软解的可能至少要50ms的时延了。 |
乐播投屏可以在1080p做到wifi 40ms延时,他们是如何实现的呢?(局域网) |
猜测并不是1080P,只是分辨率达到了1920*1080. 1080P是逐行扫描,直播或者低延时的高清,可能都比较困难。 如果 知道乐投是1080P,麻烦告知。 |
分辨率确实是1920x1080,延时利用的秒表,让投屏端显示秒表。然后把接收端和投屏端放在一起,用另一个设备拍照。上面显示的差值即为延迟。乐播投屏和接收端都可以在网上下到,很容易验证。 |
目前市面上产品以80ms延时为主,偶尔出现40ms,局域网传输,不考虑网络抖动和网络延时。 |
如果不嫌多个库的话,可以使用live555 来连接rtsp流,,,github上可以找到一个live55helper,是把live555进行一次封装,很好用..使用liv555出来的数据直接就是h265或者265的裸流,给ffmpeg直接解码就行..这样在我的环境下(摄像头->H3516a编码->live555->ffmpeg软解->opengl渲染)效率解码综合下来能有180ms..我打印过日志从live555出来的数据到软解完4-6ms,主要延迟还是在摄像头编码板.pc端的,仅供参考 |
想咨询下 |
你看下是不是网络抖动引用卡顿的 |
在播放中怎样查询查询网络抖动呢?是定时检测网速还是ijk有接口可以直接打印,我看了下安卓那边可以打印检测的,但是iOS没找到打印这些信息的接口
…------------------ 原始邮件 ------------------
发件人: "bilibili/ijkplayer" <[email protected]>;
发送时间: 2021年1月21日(星期四) 上午10:38
收件人: "bilibili/ijkplayer"<[email protected]>;
抄送: "李侨林"<[email protected]>;"Comment"<[email protected]>;
主题: Re: [bilibili/ijkplayer] 请问下做RTSP直播,在局域网环境,1080p、30fps的视频流。现在通过设置相关option参数,延时在300-350ms。怎么做进一步优化,达到100ms左右延时呢 (#4267)
你看下是不是网络抖动引用卡顿的
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.
|
|
Dear @wuhongsheng ,
flutter: timeline view = 93.0 |
这个能到ubuntu(非安卓)上使用吗? |
H265的1080P的实时流,硬解码,拉一个流没问题,如果同时拉两个流,在iOS端会有卡顿,知道可能的原因是什么吗?安卓端是没问题 |
h265的情况下1080根据网络上修改确实是在100左右(80-130),但是也看设备端,手机是推流是能轻松达到 |
No description provided.
The text was updated successfully, but these errors were encountered: