ffmpeg-libav-tutorial环境搭建

发布于:2025-09-01 ⋅ 阅读:(15) ⋅ 点赞:(0)

最近在学习音视频的知识,发现了一个不错的github开源项目,里面有实例代码,编译运行起来需要实验环境,然后看了源码里面有个dockfile文件,里面详细记录了安装FFmpeg依赖的三方库,所有三方库库都是源码安装,我这里为了节约时间,有些库使用apt install xxx安装,apt install xxx安装不成功了,才采用了源码安装。
 

安装环境:ubuntu2020,04

下载ffmpeg-4.4源码

curl -sLO https://ffmpeg.org/releases/ffmpeg-4-4.tar.bz2

解压:

tar xvf  ffmpeg-4-4.tar.bz2

进入ffmpeg源码目录

cd ffmpeg-4.4/


使用configure配置安装插件特性

./configure --disable-debug --disable-doc --disable-ffplay --enable-shared --enable-avresample --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-gpl --enable-libass --enable-fontconfig --enable-libfreetype --enable-libvidstab --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libxcb --enable-libx265 --enable-libxvid --enable-libx264 --enable-nonfree --enable-openssl --enable-libfdk_aac --enable-postproc --enable-small --enable-version3 --enable-libbluray --enable-libzmq --extra-libs=-ldl --prefix=/usr/local/ffmpeg --enable-libopenjpeg --enable-libkvazaar --enable-libaom --extra-libs=-lpthread --enable-libsrt --enable-libaribb24 --enable-libvmaf --extra-cflags="-I/usr/local/ffmpeg/include" --extra-ldflags="-L/usr/local/ffmpeg/lib" 

configure过程中会报错,报错清单见报错部分

使用apt install可以解决的库

sudo apt-get update
sudo apt-get install libaom-dev -y
sudo apt-get install libass-dev -y
sudo apt-get install libaribb24-dev -y
sudo apt-get install libass-dev -y
sudo apt-get install libbluray-dev -y
sudo apt-get install libopencore-amrnb-dev -y
sudo apt install libopenjp2-7-dev -y
sudo apt-get install libsrt-dev -y
sudo apt-get install libtheora-dev -y
sudo apt-get install libvidstab-dev -y
sudo apt-get install libwebp-dev -y
sudo apt-get install libxvidcore-dev -y
sudo apt-get install libzmq3-dev -y
sudo apt install libxcb-devel xcb-util-devel xcb-util-keysyms-devel xcb-util-wm-devel xcb-util-image-devel -y

源码安装

 KVAZAAR_VERSION=2.0.0 

## kvazaar https://github.com/ultravideo/kvazaar
RUN \
        DIR=/tmp/kvazaar && \
        mkdir -p ${DIR} && \
        cd ${DIR} && \
        curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \
        tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \
        ./autogen.sh && \
        ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \
        make && \
        make install && \
        rm -rf ${DIR}

OPENCOREAMR_VERSION=0.1.5

## opencore-amr https://sourceforge.net/projects/opencore-amr/
RUN \
        DIR=/tmp/opencore-amr && \
        mkdir -p ${DIR} && \
        cd ${DIR} && \
        curl -sL https://versaweb.dl.sourceforge.net/project/opencore-amr/opencore-amr/opencore-amr-${OPENCOREAMR_VERSION}.tar.gz | \
        tar -zx --strip-components=1 && \
        ./configure --prefix="${PREFIX}" --enable-shared  && \
        make && \
        make install && \
        rm -rf ${DIR}

LIBVMAF_VERSION=2.1.1 

## libvmaf https://github.com/Netflix/vmaf
RUN \
        if which meson || false; then \
                echo "Building VMAF." && \
                DIR=/tmp/vmaf && \
                mkdir -p ${DIR} && \
                cd ${DIR} && \
                curl -sLO https://github.com/Netflix/vmaf/archive/v${LIBVMAF_VERSION}.tar.gz && \
                tar -xz --strip-components=1 -f v${LIBVMAF_VERSION}.tar.gz && \
                cd /tmp/vmaf/libvmaf && \
                meson build --buildtype release --prefix=${PREFIX} && \
                ninja -vC build && \
                ninja -vC build install && \
                mkdir -p ${PREFIX}/share/model/ && \
                cp -r /tmp/vmaf/model/* ${PREFIX}/share/model/ && \
                rm -rf ${DIR}; \
        else \
                echo "VMAF skipped."; \
        fi

再次执行

./configure --disable-debug --disable-doc --disable-ffplay --enable-shared --enable-avresample --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-gpl --enable-libass --enable-fontconfig --enable-libfreetype --enable-libvidstab --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libxcb --enable-libx265 --enable-libxvid --enable-libx264 --enable-nonfree --enable-openssl --enable-libfdk_aac --enable-postproc --enable-small --enable-version3 --enable-libbluray --enable-libzmq --extra-libs=-ldl --prefix=/usr/local/ffmpeg --enable-libopenjpeg --enable-libkvazaar --enable-libaom --extra-libs=-lpthread --enable-libsrt --enable-libaribb24 --enable-libvmaf --extra-cflags="-I/usr/local/ffmpeg/include" --extra-ldflags="-L/usr/local/ffmpeg/lib" 

编译安装

make -j $(nproc) && make install

报错部分:

sudo apt-get update
sudo apt-get install libaom-dev

sudo apt-get install libaribb24-dev -y

sudo apt-get install libass-dev -y

sudo apt-get install libbluray-dev -y

解决方法:源码安装库

sudo apt-get install libopencore-amrnb-dev -y

版本匹配不上,需要源码安装

sudo apt install libopenjp2-7-dev -y

sudo apt-get install libsrt-dev -y

sudo apt-get install libtheora-dev -y

sudo apt-get install libvidstab-dev -y

源码安装

sudo apt-get install libwebp-dev -y

sudo apt-get install libxvidcore-dev -y

sudo apt-get install libzmq3-dev -y

sudo apt install libxcb-devel xcb-util-devel xcb-util-keysyms-devel xcb-util-wm-devel xcb-util-image-devel -y

ffmpeg tutorial


网站公告

今日签到

点亮在社区的每一天
去签到