使用 ffmpeg 检查不完整的视频片段
Check incomplete video segment with ffmpeg
我有一个用户必须上传一个非常大的视频:它至少有 100GB 并且是 .mov
格式。在用户能够上传完整文件之前,我需要检查以下内容:
- 分辨率为 1920x080
- 有视频编解码器 Apple ProRes 422
- 有 6 个或 8 个音轨
- 有 PCM Little Endian 音频
为了检查用户是否有有效的上传文件,我想到了以下方法:
- 也许只抓取文件的前 10K 字节并检查文件头(这总是有效吗?)
- 大概抓取 10K 的头部和 10K 的尾部以及 运行 ffmpeg(通过 https://itnext.io/build-ffmpeg-webassembly-version-ffmpeg-js-part-1-preparation-ed12bf4c8fac 在服务器端或在浏览器中)。
执行此操作的好方法是什么?再次重申,我有一个用户上传了一个非常大的视频,我想在允许他们上传整个视频文件之前预先检查它是否满足四个条件。
FFmpeg 需要解析每个 video/audio 流的完整 header 和前几帧以填充这些细节。对于 header,您可能需要超过 10K,比如 1M。
根据 moov
的位置,您需要头部和尾部的数据。
用户访问https://mediaarea.net/MediaInfoOnline并向您发送文本报告会更方便。
我有一个用户必须上传一个非常大的视频:它至少有 100GB 并且是 .mov
格式。在用户能够上传完整文件之前,我需要检查以下内容:
- 分辨率为 1920x080
- 有视频编解码器 Apple ProRes 422
- 有 6 个或 8 个音轨
- 有 PCM Little Endian 音频
为了检查用户是否有有效的上传文件,我想到了以下方法:
- 也许只抓取文件的前 10K 字节并检查文件头(这总是有效吗?)
- 大概抓取 10K 的头部和 10K 的尾部以及 运行 ffmpeg(通过 https://itnext.io/build-ffmpeg-webassembly-version-ffmpeg-js-part-1-preparation-ed12bf4c8fac 在服务器端或在浏览器中)。
执行此操作的好方法是什么?再次重申,我有一个用户上传了一个非常大的视频,我想在允许他们上传整个视频文件之前预先检查它是否满足四个条件。
FFmpeg 需要解析每个 video/audio 流的完整 header 和前几帧以填充这些细节。对于 header,您可能需要超过 10K,比如 1M。
根据 moov
的位置,您需要头部和尾部的数据。
用户访问https://mediaarea.net/MediaInfoOnline并向您发送文本报告会更方便。