【发布时间】:2012-01-07 10:26:19
【问题描述】:
我知道使用 FFMPEG 是可能的,但是如果我有部分文件(比如没有开头和结尾)该怎么办。是否可以从中提取一些帧?
【问题讨论】:
标签: ffmpeg flv mp4 video-encoding mpeg-4
我知道使用 FFMPEG 是可能的,但是如果我有部分文件(比如没有开头和结尾)该怎么办。是否可以从中提取一些帧?
【问题讨论】:
标签: ffmpeg flv mp4 video-encoding mpeg-4
命令
ffmpeg -ss 00:00:25 -t 00:00:00.04 -i YOURMOVIE.MP4 -r 25.0 YOURIMAGE%4d.jpg
将提取帧
在应用选项 [-r] 之前检查电影的帧速率,同样适用于 [-t],除非您想以自定义速率提取帧。
从未尝试过使用裁剪(损坏?)的输入文件。 值得一试。
【讨论】:
-q:v 2 获得最佳质量 (stackoverflow.com/questions/10225403/…)
YOURIMAGE%4d.bmp。
这可能非常困难。 MP4 文件格式包括一个“moov”原子,它具有指向音频和视频“样本”的指针。如果您拥有的 mp4 文件片段没有 moov 原子,那么您的工作会复杂得多。您必须开发逻辑来检查“mdat”原子(包含所有音频和视频样本)并使用有根据的猜测来找到音频和视频的边界。
更糟糕的是,如果没有 moov atom,您将没有解码切片所需的 SPS 和 PPS。您必须合成替代品;如果您知道用于创建 MP4 的编解码器,那么您可能能够从类似编码的文件中复制 SPS 和 PPS;如果不是,这可能是一个痛苦的试错过程,因为切片(H.264 编码图片)的语法取决于 SPS 和 PPS 中指定的值。
【讨论】: