为什么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
浏览器控制台:
Chrome 没有给出任何关于它为什么不播放的提示。 Firefox 提供了一些小线索。
Firefox 显示如下
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
。
该文件在 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
浏览器控制台:
Chrome 没有给出任何关于它为什么不播放的提示。 Firefox 提供了一些小线索。
Firefox 显示如下
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
。