Encoding FFmpeg WebM AV1支持

Encoding FFmpeg WebM AV1支持,encoding,ffmpeg,webm,Encoding,Ffmpeg,Webm,使用FFmpeg,如何在webm容器中使用AV1编解码器 我得到一个错误: Only VP8 or VP9 video and Vorbis or Opus audio and WebVTT subtitles are supported for WebM. Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument Error initializing output str

使用FFmpeg,如何在
webm
容器中使用
AV1
编解码器

我得到一个错误:

Only VP8 or VP9 video and Vorbis or Opus audio and WebVTT subtitles are supported for WebM.
Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
Error initializing output stream 0:0 --

然而维基百科说WebM支持AV1

AV1旨在与音频格式Opus一起用于HTML5网络视频的未来版本的WebM容器格式

或者FFmpeg可以不编码这个新版本吗


我的设置:

ffmpeg -y 

-i "C:\Users\Matt\video.mp4" 

-c:v libaom-av1 -strict experimental 
-cpu-used 1 -crf 28 
-pix_fmt yuv420p 
-map 0:v:0? -map_chapters -1 
-sn 

-c:a libopus 
-map 0:a:0? 

-map_metadata 0 

-f webm 

-threads 0 

"C:\Users\Matt\video.webm"

ffmpeg目前不支持WebM中的muxing AV1:

请注意表达式中缺少


不过,这并不奇怪。Matroska的AV1(因此WebM)尚未最终确定。如果您想了解Matroska(和WebM)中AV1的进展情况。

如果您愿意使用除
ffmpeg
以外的其他工具,您可以尝试()。但正如我在回答中提到的,MKV/WebM中AV1的比特流尚未最终确定,因此您今天创建的文件明天可能无效。
if (mkv->mode == MODE_WEBM && !(par->codec_id == AV_CODEC_ID_VP8 ||
                                par->codec_id == AV_CODEC_ID_VP9 ||
                                par->codec_id == AV_CODEC_ID_OPUS ||
                                par->codec_id == AV_CODEC_ID_VORBIS ||
                                par->codec_id == AV_CODEC_ID_WEBVTT)) {
    av_log(s, AV_LOG_ERROR,
           "Only VP8 or VP9 video and Vorbis or Opus audio and WebVTT subtitles are supported for WebM.\n");
    return AVERROR(EINVAL);
}