当前位置: 首页 > 知识库问答 >
问题:

是否有任何简单的方法来提取附件格式的h.264原始流?

鲁羽
2023-03-14

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

ffmpeg-i{一些文件}-vcodec复制-an-f{rawvideo|h264|任何}out. h264

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

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

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

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

共有1个答案

邹玮
2023-03-14

您可能正在寻找的是h264\U mp4toannexb位流过滤器,该过滤器通过-bsf命令行选项调用:

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

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

 类似资料:
  • 我正在对来自IP摄像机的视频(H.264)和音频(AAC)进行一些集成工作。 我取得了一些进步,我可以存储视频 我现在正在尝试将流混合到MP4文件中,而不进行任何解码或编码,但到目前为止还没有找到答案。 我可以通过ffmpeg:ffmpeg-I录制手动完成。h264-i录音。aac-vcodec副本-acodec副本-absf aac_adtstoasc记录。mp4 如何使用C中的ffmpeg库执

  • 问题内容: 我正在尝试将长度不定的多个数据列表输出到CSV文件。每个列表应该是输出CSV文件中的一列。有直接的做事方法吗?如果我将每个列表输出为一行,那么我将遍历每个列表并在结束时输出返回值,但是这种方法在按列工作时不起作用。 我曾想过一次逐项检查所有列表并增加一个计数器,但这也会失败,因为有些列表比另一些​​更长。为了解决这个问题,我将不得不在每次迭代时检查计数器是否在每个列表的末尾,这在计算方

  • 问题内容: 如何使用Java获取ActiveMQ中的队列长度(发送到队列的未消耗的消息数)? 问题答案: 您必须使用JMX,因为Queue接口不提供此类信息。 检索特定队列大小的示例: 参考:ActiveMQ JMX ,必需的MBean 示例:使用JMX API管理ActiveMQ

  • 环境: 到目前为止我做了什么: 我获取所拥有原始流数据并对其进行解析。由于数据是通过RTP传输的,我需要处理NAL字节、SPS和PPS。 1.编写原始文件 视频帧的开始和结束->开始位和结束位 有效负载的类型->5个片段类型位 NAL单位字节 在我的例子中,需要的片段类型有: NAL字节是通过将来自字节1和2的NAL单位位放在一起来创建的。 现在,根据碎片类型,我执行以下操作: SPS/PPS:

  • 问题内容: 我在项目中使用JUnit4和Hibernate3。Hibernate依赖于Slf4j,因此我的项目也包括此库。现在,我想在单元测试中使用Slf4j,以便记录补充测试信息。您能否提供一个简短的示例,说明我的单元测试仅记录一行文本的外观?最好在多个测试中 不重复代码 。 问题答案: 我还喜欢在我的DAO类的JUnit测试中使用slf4j。当您创建新测试或修改旧测试时,它确实有帮助。我通常将