为什么Chrome83不能播放这个AV1编码的视频?

Why can't Chrome 83 play this AV1 encoded video?

该文件在 VLC 中播放效果很好。

我试过将 codecs="av01.0.05M.08" 添加到视频源,但没有成功 - 没有浏览器可以播放它,尽管这里有说明:https://caniuse.com/#feat=av1

视频编码如下:

ffmpeg -i input.avi -pix_fmt yuva420p -f nut -c:v libaom-av1 -minrate 1k -b:v 350k -maxrate 2000k -strict experimental output.mp4

浏览器控制台:

Media resource https://example.com/example.mp4 could not be decoded. example.mp4
Media resource https://example.com/example.mp4 could not be decoded, error: Error Code: NS_ERROR_DOM_MEDIA_METADATA_ERR (0x806e0006)
Details: static MP4Metadata::ResultAndByteBuffer __cdecl mozilla::MP4Metadata::Metadata(mozilla::ByteStream *): Cannot parse metadata

任何有关我在理解或编码参数方面出错的建议,将不胜感激!

您使用 -f nut 手动选择了 NUT 混合器,但给出了输出文件名 .mp4,因此它实际上是浏览器不支持的 NUT 格式。尝试:

ffmpeg -i input.avi -c:v libaom-av1 -minrate 1k -b:v 350k -maxrate 2000k -vf format=yuv420p -strict experimental -movflags +faststart output.mp4

请注意,libaom-av1 不支持 yuva420p 像素格式,因此使用 yuv420p 代替。参见 ffmpeg -h encoder=libaom-av1