hevcはffmpegのデフォルト(libx265, hevc_videotoolbox)でエンコードすると、Finderでサムネイル表示されないし、Spaceキーを押してもアイコンが表示されるのみで再生されない。
よくわからないがタグがhev1とhvc1の2種類あり、MacやiPhoneでサポートされているのはhvc1らしい。一方ffmpegで何も指定しないとhev1になるから表示されないということらしい。
環境
- macOS Sequoia 15.5
- ffmpeg 7.1.1
入力ファイル
デフォルトでエンコード(hevc_videotoolbox)
コマンド
ffmpeg -i input.mp4 -c:v hevc_videotoolbox -c:a copy out_hev1.mp4
結果
ffprobe -i "out_hev1.mp4"
Stream #0:0[0x1](und): Video: hevc (Main) (hev1 / 0x31766568), yuv420p(tv, smpte170m/bt470bg/bt709, progressive), 320x240 [SAR 1:1 DAR 4:3], 266 kb/s, 15 fps, 15 tbr, 15360 tbn (default)
Metadata:
handler_name : ISO Media file produced by Google Inc.
vendor_id : [0][0][0][0]
encoder : Lavc61.19.101 hevc_videotoolbox
ffprobeで見ると、hevcにエンコードはできているがタグがhev1となっている。これのせいでQuickLookでの再生・サムネイル表示ができないらしい。
タグをhvc1に変更
コマンド
ffmpeg -i input.mp4 -c:v hevc_videotoolbox -c:a copy -tag:v hvc1 out_hvc1.mp4
-tag:v hvc1の部分がキモ。タグをhvc1に変更する。
結果
ffprobe -i "out_hvc1.mp4"
Stream #0:0[0x1](und): Video: hevc (Main) (hvc1 / 0x31637668), yuv420p(tv, smpte170m/bt470bg/bt709, progressive), 320x240 [SAR 1:1 DAR 4:3], 266 kb/s, 15 fps, 15 tbr, 15360 tbn (default)
Metadata:
handler_name : ISO Media file produced by Google Inc.
vendor_id : [0][0][0][0]
encoder : Lavc61.19.101 hevc_videotoolbox
hevcになっているし、タグがhvc1になっている。