编译ffmpeg 生成结果没有ffplay 的问题解决

之前一直有这个问题,但没有解决。最近查到文档,并不是编译参数的原因,而是因为系统没有sdl2 的依赖库。configure 时找不到这个依赖库,所以没有编译出来ffplay 了。树莓派添加sdl2 的方法是

sudo apt-get install libstdl1.2-dev

之后再 configure 就可以看到包含了 ffplay  了

编译FFMPEG 使用 硬件编码、解码器,树莓派版

树莓派官方操作系统 64位版,通过自行编译 ffmpeg 添加引用,可以使用树莓派自带的硬件进行视频硬件编码、解码。

sudo apt install libdrm-dev librtmp-dev libsnappy-dev libsoxr-dev libssh-dev libvorbis-dev libvpx-dev libfreetype-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libopus-dev libwebp-dev libx264-dev libx265-dev libxml2-dev libdav1d-dev libgmp-dev libaom-dev libass-dev

./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-nonfree –enable-omx –enable-omx-rpi –enable-version3 –enable-pthreads –enable-openssl –enable-hardcoded-tables –prefix=/usr/local/ffmpeg –enable-static –enable-shared –arch=aarch64 –target-os=linux –enable-ffplay

make -j4

sudo make install

后记,根据文档,应该可以使用–enable-mmal  参数开启博通的硬件编解码支持,但因为使用了最新的64位版官方操作系统,而 mmal 库默认没有64 位版,虽然偿试了用 github 上的 userland 的源码自行编译,但不成功。所以只能暂时这样使用了。