Zenn
🎥

MP4動画がappleデバイスで再生できない

2025/03/01に公開

https://widedeep.hatenablog.jp/entry/mp4-forcc-appledevice

状況

最近はH.264から、圧縮率の高いH.265(HEVC)に移行が進んでいますが、まだH.265に未対応の機器もたくさんあります。
ところでH.265動画をFFmpegなどを使って変換したところ、iphoneなどのappleデバイスでで再生できなくなったことはないでしょうか。
今回私が陥った状況を整理したので役立てていただければと思います

以下の状況に該当する場合、この記事が役立つかもしれません。

  1. android端末でH.265動画を撮影
  2. 容量を圧縮するために、Windows端末でFFmpegを用いて変換(ビデオのみ変換)
  3. android、Windows端末では問題ないが、iOS端末では再生不可で「MPEG-4 ムービー」と表示される
  4. ただし、VLCPlayerなどの再生アプリをiOS端末に入れれば再生可能

原因

H.265のFourCCがhev1 になっているため。

解説

ビデオにはCodecID(FourCC)と呼ばれる四バイトの識別子があります。

https://ja.wikipedia.org/wiki/FourCC

H.265のCodecIDにはhev1hvc1がありますが、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

ログインするとコメントできます