Closed11
MacのSafariでAV1のHLSを再生させてみる
MacのSafariにおいて、AV1の再生状況を確認
一旦結果として、Macbook Air (M3 CPU) 15.6と、Safari 18.6で、hls.js 1.6.9経由で再生はできた。
ただエンコードによっては再生できない為、ここでいろいろ調べていく。
iPhone 16 Pro MaxとiPad mini 7でも再生を確認
ProじゃないiPhoneでも試したい。。。
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でもエンコードしてみる
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
SVT-AV1 2.3.0 + FFmpeg HEAD
再生できた
なのでSVT-AV1のバージョンアップではなく、FFmpegのバージョンアップ起因
となるとHEADからとってきてるだけでリリースバージョン切られてるわけではないのでちょっと怖い
てことでffmpeg側の更新を調べていく
LTSの7.1系にもマージされると嬉しいなあ
diffの結果は上と同じ
このコミットで修正された模様
ということは、意図しない挙動ではなく意図して直したということで安心できそう
This is caused by an empty sdtp atom being erroneously written to the
fmp4 init segment.
diffのとおり、再生されないほうにだけsdtpがある事と一致
stdpはinitにあってはいけないもので、これがあるとappleは再生を拒否するらしい
これにて解決
このスクラップは19日前にクローズされました