【发布时间】:2019-08-27 07:52:10
【问题描述】:
我的任务是从输入视频(.avi、.mov、.mp4 等)创建兼容 html5 的视频。我的理解是我的输出应该是 .webm 或 .mp4(H264 视频,aac 音频)。 我使用ffmpeg进行转换,需要很多时间。我想知道我是否可以使用 ffprobe 来测试输入视频是否是“H264”和“aac”,如果是,那么也许我可以直接将视频/音频复制到输出中而不需要修改。
即我有下一个想法:
- 使用 ffprobe 获取输入视频信息:
ffprobe {input} -v quiet -show_entries stream=codec_name,codec_type -print_format json
结果会是这样的 JSON:
"streams": [
{codec_name="mjpeg",codec_type="video"},
{codec_name="aac",codec_type="audio"}
]
- 如果 JSON 告诉视频编解码器是 h264,那么我想我可以复制视频流。如果 JSON 告诉音频编解码器是
h264aac,那么我想我可以复制音频流。 - 上面的 JSON 表明我的音频是“aac”。所以我想我可以将音频流复制到输出视频中,但仍然需要视频流转换。对于上面的示例,我的 ffmpeg 命令如下:
ffmpeg -i {input} -c:v libx264 -c:a copy ouput.mp4
问题是我是否可以一直使用这个想法来制作兼容 html5 的视频,以及这种方法是否真的可以加快视频转换速度。
【问题讨论】:
标签: ffmpeg video-encoding ffprobe