ChinaFFmpeg

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 9743|回复: 6

关于ffmpeg-3.4.x编解码不能实时输出的问题

[复制链接]
发表于 2018-4-23 16:58:01 | 显示全部楼层 |阅读模式
各位大神好!
使用ffmpeg-3.4.x与ffmpeg-3.3.x进行Mpeg2实时编、解码,调用ffmpeg视频解码api函数:avcodec_decode_video2两个版本具有不同的输出结果:
(1)使用ffmpeg-3.3.x,调用旧接口avcodec_decode_video2可以实时输出解码后的结果;
(2)使用ffmpeg-3.4.x,调用旧接口avcodec_decode_video2,不能输出解码后的结果,其行为类似于有一帧的延迟;
(3)使用ffmpeg-3.4.x,调用新接口avcodec_send_packet与avcodec_receive_frame,很明显有1帧延迟,在第1帧pkt输入后,avcodec_receive_frame返回AVERROR(EAGAIN);
请教各位大神:是否有办法在ffmpeg-3.4.x上实现0延迟的输出?
回复

使用道具 举报

发表于 2018-4-23 17:08:11 | 显示全部楼层
能否回溯到某一个git提交?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-4-23 17:11:03 | 显示全部楼层
所使用的是ffmpeg-3.3.3、ffmpeg-3.4.1,ffmpeg主页上的链接
回复 支持 反对

使用道具 举报

发表于 2018-4-23 17:19:36 | 显示全部楼层
jackly8831040 发表于 2018-4-23 17:11
所使用的是ffmpeg-3.3.3、ffmpeg-3.4.1,ffmpeg主页上的链接

3.3.3和3.4.1之间有很多次提交的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-4-24 10:07:17 | 显示全部楼层
ffmpeg-3.3.3用的是2017.4.13的版本,对应的git应该是https://git.ffmpeg.org/gitweb/ff ... 0489aa8feb2cd9f8092
ffmpeg-3.4.2用的是2018.4.21的版本,对应的git应该是
https://git.ffmpeg.org/gitweb/ff ... 69b138c0e3ce90664fc
回复 支持 反对

使用道具 举报

发表于 2018-4-24 10:36:36 | 显示全部楼层
jackly8831040 发表于 2018-4-24 10:07
ffmpeg-3.3.3用的是2017.4.13的版本,对应的git应该是https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/42 ...

两个提交之间,相差2515次提交,帮不了你了,需要自己找一下哪次提交引发的问题
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-4-24 11:06:42 | 显示全部楼层
貌似找到了,跟解码器一个设置相关
当ffmpeg-3.4.x,解码器设置,AVCodecContext中的flag设置包含CODEC_FLAG_TRUNCATED,问题就出现了,当注释掉这个,问题就没了。
3.3.3没有这个问题。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|Archiver|ChinaFFmpeg

GMT+8, 2024-4-25 08:30 , Processed in 0.057210 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表