如何为树莓派构建支持硬件解码的ffmpeg?(如果可能的话进行交叉编译)

3

是否可以构建支持树莓派解码的ffmpeg?我读到过mmal可以在树莓派上进行硬件加速解码。

我已经在x86_64上的debian 10上尝试过:

./configure \
    --prefix=${BUILD_DIR}/desktop/${FFMPEG_ARCH_FLAG} \
    --disable-doc \
    --enable-cross-compile \
    --cross-prefix=${CROSS_PREFIX} \
    --target-os=linux \
    --arch=${FFMPEG_ARCH_FLAG} \
    --extra-cflags="-O3 -fPIC $EXTRA_CFLAGS" \
    --enable-mmal \
    --enable-omx \
    --enable-omx-rpi \
    --enable-shared \
    --disable-debug \
    --disable-runtime-cpudetect \
    --disable-programs \
    --disable-muxers \
    --disable-encoders \
    --disable-bsfs \
    --disable-pthreads \
    --disable-avdevice \
    --disable-network \
    --disable-postproc 

其中CROSS_PREFIX=aarch64-linux-gnu-FFMPEG_ARCH_FLAG=aarch64,但显然会出现ERROR: mmal not found。我找不到MMAL进行编译和安装。

2个回答

5
这是可能的。您可以使用this构建脚本,在树莓派上运行。您最关心的部分可能在最后:
git clone --depth 1 https://github.com/FFmpeg/FFmpeg.git ~/FFmpeg \
  && cd ~/FFmpeg \
  && ./configure \
    --extra-cflags="-I/usr/local/include" \
    --extra-ldflags="-L/usr/local/lib" \
    --extra-libs="-lpthread -lm -latomic" \
    --arch=armel \
    --enable-gmp \
    --enable-gpl \
    --enable-libaom \
    --enable-libass \
    --enable-libdav1d \
    --enable-libfdk-aac \
    --enable-libfreetype \
    --enable-libkvazaar \
    --enable-libmp3lame \
    --enable-libopencore-amrnb \
    --enable-libopencore-amrwb \
    --enable-libopus \
    --enable-librtmp \
    --enable-libsnappy \
    --enable-libsoxr \
    --enable-libssh \
    --enable-libvorbis \
    --enable-libvpx \
    --enable-libzimg \
    --enable-libwebp \
    --enable-libx264 \
    --enable-libx265 \
    --enable-libxml2 \
    --enable-mmal \
    --enable-nonfree \
    --enable-omx \
    --enable-omx-rpi \
    --enable-version3 \
    --target-os=linux \
    --enable-pthreads \
    --enable-openssl \
    --enable-hardcoded-tables \
  && make -j$(nproc) \
  && sudo make install

请注意RaspberryPi.org中的警告:

MMAL是仅在VideoCore 4系统上使用的Broadcom专有API。

这让我认为交叉编译的可能性很低,但您可以尝试使用此脚本。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接