使用最新的 ffmpeg(N-87630-ge9f9175-tessus 或从 HEAD 构建),您可以使用 -tag:v hvc1 编码为 macOS High Sierra Quicktime 所需的 MP4 版本。
如果您有基于hev1 的mp4,并且您需要容器为hvc1 并且您不想对其重新编码:
ffmpeg -i input-hev1.mp4 -c:v copy -tag:v hvc1 -c:a copy output-hvc1.mp4
使用 ffprobe 确认更改:
发件人:
~~~~
Stream #0:0(eng): Video: hevc (Main) (hev1 / 0x31766568), yuv420p(tv, progressive), 720x404, 164 kb/s, 29.97 fps,
~~~~
收件人:
~~~~
Stream #0:0(eng): Video: hevc (Main) (hvc1 / 0x31637668), yuv420p(tv, progressive), 720x404, 164 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 29.97 tbc (default)
~~~~
如果你有一个旧基于avc1的mp4,你需要重新编码。
ffprobe 示例 (avc1):
Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 960x540 [SAR 1:1 DAR 16:9], 2778 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 180k tbc (default)
编码示例:
ffmpeg
-i input.mp4 \
-c:v libx265 \
-preset slow \
-vf scale="720:trunc(ow/a/2)*2" \
-crf 28 \
-tag:v hvc1 \
-c:a aac -b:a 44100 \
output-hvc1.mp4
关键是-tag:v hvc1,否则您将得到一个基于hev1 的容器,Quicktime 10.4+ (High Sierra) 将无法打开。