JNI FFmpeg 软硬解码,画面有 3 秒左右的延时

2018-09-13 15:38:18 +08:00
 jiaxin1121

如题,请问有什么解决方案

6141 次点击
所在节点    Android
12 条回复
jiaxin1121
2018-09-13 16:00:00 +08:00
可以设置 0 缓冲吗?
orochix
2018-09-13 16:02:50 +08:00
设置声音延迟 3000ms 不就解决?
XinLake
2018-09-13 16:44:42 +08:00
楼上人才,牛批
XinLake
2018-09-13 16:54:46 +08:00
@XinLake 我就开个玩笑的。
lee1997
2018-09-13 16:56:19 +08:00
Thread.sleep(3000);不也解决了🤔
jiaxin1121
2018-09-13 16:57:48 +08:00
真的解决了,感谢!
whajcf
2018-09-13 17:06:25 +08:00
@jiaxin1121 真的是声音延迟 3000ms 么?
pabupa
2018-09-13 17:07:37 +08:00
哈哈哈,好厉害~
ju5t4fun
2018-09-13 17:24:39 +08:00
二楼真人才
jiaxin1121
2018-09-13 17:39:41 +08:00
解码 RTSP 网络摄像机,我把缓冲区调小了。

av_dict_set(&opts, "probesize", "4096", 0);
av_dict_set(&opts, "max_delay", "200", 0);
zhgg0
2018-09-13 22:19:10 +08:00
av_dict_set(&opts, "probesize", "4096", 0);
这个设置得过小可能导致无声音,如果你的推流设备固定的话没什么问题。
可以修改 avformat_find_stream_info 这个函数。获取到一帧视频+一帧音频就立马退出循环,不用设置 probesize。
zhgg0
2018-09-13 22:20:34 +08:00
解决延时可以丢弃老数据或者延时过高时加速播放,没延时时再恢复正常速度。上面的回答是解决首开慢。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/488977

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX