【发布时间】:2019-04-08 08:34:56
【问题描述】:
我正在从 USB 网络摄像头获取视频并将其编码为 h.264 原始流,如下所示...
ffmpeg.exe -f dshow -rtbufsize 200M -i video="Logitech HD Webcam C270" -vcodec libx264 -preset ultrafast -tune zerolatency -g 30 -s 480x640 -buf 大小:v 50M output.h264
我期望 output.h264 流中有 1 关键帧和 29-P 帧(带 SPS/PPS)。但我没有得到预期的结果。但是视频播放正常。
我尝试使用 ffprob 获取同一文件的元数据 ..
ffprobe -show_frames videofilename.h264 > outputlogfile.txt
在这里我可以看到正确的序列 1-Key 帧和 29-P 帧。但是如果我们在二进制阅读器中打开 h264 文件(我使用的是 HDX)我可以看到 Key/P 帧的顺序不正确。
您可以从以下链接下载 h264 示例和 ffprob 日志。
https://www.dropbox.com/s/3ghpkqdc36wdgxr/TimerSample.h264?dl=0 https://www.dropbox.com/s/gdn64004o0udrfk/TimerSample.txt?dl=0
你可以从 here (filtered by start code)找到同一个文件的二进制序列
请让我知道我是否缺少某些过滤器。谢谢。
【问题讨论】:
-
你看到了什么序列?
-
请添加 ouput.h264、videofilename.h264 和 outputlogfile.txt。否则我们将猜测或寻找我们的“罗技高清网络摄像头 C270”相机 - 谢谢。
-
@MarkusSchumann 我已经添加了问题的链接。谢谢
-
@Gyan 我已将序列屏幕截图附加到问题中。谢谢
标签: ffmpeg video-streaming h.264 keyframe