Video 是否有任何简单的方法可以提取附录B格式的h.264原始流?

Video 是否有任何简单的方法可以提取附录B格式的h.264原始流?,video,ffmpeg,extract,h.264,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 01序列开始 我希望我能从尽可能多的包含有效h.264流的文件中提取annexb格式的

当我使用命令行使用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 01序列开始

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



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

您可能要查找的是h264_mp4toannexb位流过滤器,它通过-bsf命令行选项调用:

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

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

老问题,但是您在某个地方(例如在avcC中)获取的PPS和SPS是否为常量值?因为我自己正在编写一个非常基本的解复用器,因为我正在使用的解码器库没有解复用,我想确保我正在重建的流能够工作。是否有一个参数指定要提取的流(如果MP4包含多个H264基本流)?注:可以使用
ffplay out.H264
,,但对于VLC2.2.1,不是
vlc out.h264