Closed11

MacのSafariでAV1のHLSを再生させてみる

_takashi_o_takashi_o

MacのSafariにおいて、AV1の再生状況を確認

一旦結果として、Macbook Air (M3 CPU) 15.6と、Safari 18.6で、hls.js 1.6.9経由で再生はできた。
ただエンコードによっては再生できない為、ここでいろいろ調べていく。

_takashi_o_takashi_o

iPhone 16 Pro MaxとiPad mini 7でも再生を確認
ProじゃないiPhoneでも試したい。。。

_takashi_o_takashi_o

SVT-AV1 3.1.0 + FFmpeg HEADでつくったav1は再生可能
SVT-AV1 2.3.0 + FFmpeg 7.1.1でつくったav1は再生不可能

切り分けのために、SVT-AV1 2.3.0 + FFmpeg HEADでもエンコードしてみる

_takashi_o_takashi_o

init_0.mp4を解析比較

$ ./Bento4-SDK-1-6-0-641.x86_64-unknown-linux/bin/mp4dump init_0_230.mp4 > 230.txt
$ ./Bento4-SDK-1-6-0-641.x86_64-unknown-linux/bin/mp4dump init_0_310.mp4 > 310.txt

$ diff 230.txt 310.txt 
8c8
< [moov] size=8+1267
---
> [moov] size=8+1255
13c13
<   [trak] size=8+534
---
>   [trak] size=8+522
29c29
<     [mdia] size=8+386
---
>     [mdia] size=8+374
38c38
<       [minf] size=8+301
---
>       [minf] size=8+289
46c46
<         [stbl] size=8+237
---
>         [stbl] size=8+225
53c53
<               compressor = Lavc61.19.101 libsvtav1
---
>               compressor = Lavc62.10.100 libsvtav1
70d69
<           [sdtp] size=8+4
149c148
<             value = Lavf61.7.100
---
>             value = Lavf62.2.100
_takashi_o_takashi_o

SVT-AV1 2.3.0 + FFmpeg HEAD
再生できた

なのでSVT-AV1のバージョンアップではなく、FFmpegのバージョンアップ起因
となるとHEADからとってきてるだけでリリースバージョン切られてるわけではないのでちょっと怖い

てことでffmpeg側の更新を調べていく

_takashi_o_takashi_o

LTSの7.1系にもマージされると嬉しいなあ

_takashi_o_takashi_o

This is caused by an empty sdtp atom being erroneously written to the
fmp4 init segment.

diffのとおり、再生されないほうにだけsdtpがある事と一致
stdpはinitにあってはいけないもので、これがあるとappleは再生を拒否するらしい

このスクラップは19日前にクローズされました