🎥
MP4動画がappleデバイスで再生できない
状況
最近はH.264から、圧縮率の高いH.265(HEVC)に移行が進んでいますが、まだH.265に未対応の機器もたくさんあります。
ところでH.265動画をFFmpegなどを使って変換したところ、iphoneなどのappleデバイスでで再生できなくなったことはないでしょうか。
今回私が陥った状況を整理したので役立てていただければと思います
以下の状況に該当する場合、この記事が役立つかもしれません。
- android端末でH.265動画を撮影
- 容量を圧縮するために、Windows端末でFFmpegを用いて変換(ビデオのみ変換)
- android、Windows端末では問題ないが、iOS端末では再生不可で「MPEG-4 ムービー」と表示される
- ただし、VLCPlayerなどの再生アプリをiOS端末に入れれば再生可能
原因
H.265のFourCCがhev1
になっているため。
解説
ビデオにはCodecID(FourCC)と呼ばれる四バイトの識別子があります。
https://ja.wikipedia.org/wiki/FourCC
H.265のCodecIDにはhev1
とhvc1
がありますが、appleデバイスで再生できるのはhvc1
だけのようです。
https://video.stackexchange.com/questions/36359/what-does-the-tag-tagv-hvc1-means
FFmpegで変換するとデフォルトがhev1
になるため、appleデバイスで再生できなくなります。
ただし、VLC media playerなどのサードパーティアプリであれば再生可能です。
https://apps.apple.com/jp/app/vlc-media-player/id650377962
対応策
FFmpegで変換する場合は、-tag:v
で指定することで変換できます。
ffmpeg -i input.mp4 -c copy -tag:v hvc1 output.mp4
まとめ
appleがhev1に対応してくれれば問題ないのですが。。
Discussion