本文共 3688 字,大约阅读时间需要 12 分钟。
cd ~/ffmpeg_sources && \git -C aom pull 2> /dev/null || git clone --depth 1 https://aomedia.googlesource.com/aom && \mkdir -p aom_build && \cd aom_build && \PATH="$HOME/bin:$PATH" cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$HOME/ffmpeg_build" -DENABLE_SHARED=off -DENABLE_NASM=on ../aom && \PATH="$HOME/bin:$PATH" make && \make install
如果出现错误提示 Building from within the aom source tree is not supported. 不能直接在当前 aom源码内进行编译,可以额外新建一个目录重新进行cmake的构建就可以。
参考:
ffmpeg在configure配置的时候,添加 --enable-libaom 选项支持av1编解码库
--enable-libaom
没有添加av1的时候,通过ffprobe分析av1码流,会无法识别出片源的编码格式
$ ffprobe ~/test_av1.webm ffprobe version 2.4.3 Copyright (c) 2007-2014 the FFmpeg developers built on Nov 14 2014 14:29:31 with gcc 4.7 (Debian 4.7.2-5) configuration: --prefix=/home/install --enable-gpl --enable-libx264 --enable-libmp3lame --extra-libs=-ldl libavutil 54. 7.100 / 54. 7.100 libavcodec 56. 1.100 / 56. 1.100 libavformat 56. 4.101 / 56. 4.101 libavdevice 56. 0.100 / 56. 0.100 libavfilter 5. 1.100 / 5. 1.100 libswscale 3. 0.100 / 3. 0.100 libswresample 1. 1.100 / 1. 1.100 libpostproc 53. 0.100 / 53. 0.100[matroska,webm @ 0x34bc020] Unknown entry 0x73C5 Last message repeated 1 times[matroska,webm @ 0x34bc020] Unknown/unsupported AVCodecID V_AV1.[matroska,webm @ 0x34bc020] Could not find codec parameters for stream 0 (Video: none, 1920x1080): unknown codecConsider increasing the value for the 'analyzeduration' and 'probesize' optionsInput #0, matroska,webm, from '/home/xubinbin.5808/media/test_av1.webm': Metadata: COMPATIBLE_BRANDS: isomiso2avc1mp41 MAJOR_BRAND : isom MINOR_VERSION : 512 ENCODER : IDMmkvlib0.1 LANGUAGE : und HANDLER_NAME : AudioHandler Duration: 00:30:40.14, start: 0.000000, bitrate: 1934 kb/s Stream #0:0: Video: none, 1920x1080, SAR 1:1 DAR 16:9, 50 fps, 50 tbr, 1k tbn, 1k tbc (default) Stream #0:1: Audio: opus, 48000 Hz, stereo, fltp (default)Unsupported codec with id 0 for input stream 0
添加 libaom-av1 库后
# ./ffprobe /home/media/test_av1.webm ffprobe version n4.2.2 Copyright (c) 2007-2019 the FFmpeg developers built with gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516 configuration: --prefix=../local --env='PKG_CONFIG_PATH=../local/lib/pkgconfig' --pkg-config-flags=--static --extra-ldexeflags=-static --disable-doc --disable-libxcb --enable-gpl --enable-version3 --enable-nonfree --enable-libx264 --enable-libfreetype --enable-libfdk-aac --enable-libwebp --enable-libaom --extra-libs='-lpthread -lm -lstdc++' --extra-cflags=-I../local/include --extra-ldflags=-L../local/lib libavutil 56. 31.100 / 56. 31.100 libavcodec 58. 54.100 / 58. 54.100 libavformat 58. 29.100 / 58. 29.100 libavdevice 58. 8.100 / 58. 8.100 libavfilter 7. 57.100 / 7. 57.100 libswscale 5. 5.100 / 5. 5.100 libswresample 3. 5.100 / 3. 5.100 libpostproc 55. 5.100 / 55. 5.100[libaom-av1 @ 0x4951b40] 1.0.0-errata1-avif-226-g3cd9eec38Input #0, matroska,webm, from '/home/media/test_av1.webm': Metadata: COMPATIBLE_BRANDS: isomiso2avc1mp41 MAJOR_BRAND : isom MINOR_VERSION : 512 ENCODER : IDMmkvlib0.1 LANGUAGE : und HANDLER_NAME : AudioHandler Duration: 00:30:40.14, start: 0.000000, bitrate: 1934 kb/s Stream #0:0: Video: av1 (Main), yuv420p(tv, bt709), 1920x1080, SAR 1:1 DAR 16:9, 50 fps, 50 tbr, 1k tbn, 1k tbc (default) Stream #0:1: Audio: opus, 48000 Hz, stereo, fltp (default)[libaom-av1 @ 0x4954c00] 1.0.0-errata1-avif-226-g3cd9eec38
av1转码h264测试
./ffmpeg -t 10 -i /home/media/test_av1.webm -c:v libx264 -c:a libfdk_aac -f mp4 test.mp4 -y
转载地址:http://hmfli.baihongyu.com/