如何处理来自不同来源的不同.mp4文件类型?

时间:2017-09-18 16:55:16

标签: c# video ffmpeg mp4

如果我在我的手机(Samsung S5)上录制.mp4并使用以下命令通过FFmpeg传递,则输出文件(fileX.avi)是一个灰度位图未压缩视频文件。

  • 允许我查找视频帧数据的fileX.avi(FFmpeg输出)中的偏移值始终为5680字节。

  • 帧间标题为62个字节。

  • 数据是未压缩的RGB24,因此我可以轻松地从高x宽x 3计算视频帧的大小。

因此,我的C#应用​​程序可以在fileX.avi处访问上述偏移量中的视频帧 (这很好用)。

我的FFmpeg命令是:

ffmpeg.exe -i source.mp4 -b 1150 -r 20.97 -g 120 -an -vf format=gray -f rawvideo -pixfmt gray -s 384x216 -vcodec rawvideo -y fileX.avi

然而......我最近从不同的来源(由Power Director 14制作而不是直接从我的手机制作)获取了.mp4文件,并将其用作输入source.mp4。但现在fileX.avi的结构不同,因为从fileX.avi开始的5680 + 62字节的偏移值不会在视频数据帧的开头出现。

.mp4似乎有不同的文件格式 - 显然如果有我的粗略偏移方法将不适用于所有。我怀疑当时我写的代码我的方法太容易解决了!

那么有人可以就我现在采取的方法提出建议吗?我应该检查原始.mp4或输出文件(fileX.avi)以确定"文件类型" 我可以确定不同的偏移量吗?

至少我需要能够识别出有效的.mp4文件的&#34;类型&#34; ,这样我才能声明可以使用我的软件的类型。< / p>

0 个答案:

没有答案