有没有简单的方法来提取附件b格式的h.264原始流?

时间:2012-04-30 07:33:31

标签: video ffmpeg extract h.264

当我使用命令行使用ffmpeg提取视频流时:

ffmpeg -i {some file} -vcodec copy -an -f {rawvideo | h264 | whatever} out.h264

使用Adobe Media Encoder生成的一些媒体文件,只有.m4v(编码为h.264蓝光)文件可以产生一些可用的结果。

其他一些格式(如.f4v)可以生成h.264流,但没有PPS / SPS,每个切片都以大小而不是00 00 00 01序列开始。

我希望我可以从包含有效h.264流的尽可能多的文件中提取annexb格式的原始流。我知道我可以自己添加PPS / SPS并将大小更改为00 00 00 01。但是有没有现成的软件可以做到这一点?


或者可以保证ffmpeg始终可以从.m4v文件中提取annexb格式的流,无论文件编码的软件是什么?

1 个答案:

答案 0 :(得分:11)

您可能正在寻找的是使用-bsf命令行选项调用的h264_mp4toannexb比特流过滤器:

ffmpeg -i {some file} -vcodec copy -bsf h264_mp4toannexb -an -f {rawvideo|h264|whatever} out.h264

请注意,如果您的FFmpeg版本有点旧,您可能需要使用-vbsf而不是-bsf(该选项最近已重命名)。