说明
FFmpeg 是一套开源的音视频编解码库,有非常强大的功能,包括视频采集功能、视频格式转换等。众所周知视频编解码是一个非常消耗系统资源的过程,而树莓派自带了 H.264 的硬件编解码器,因此本文将详解在树莓派配置 FFmpeg 使其支持硬件编解码器并编译安装的过程。
准备工作
树莓派一个(1 至 3 代都可以)
已连接到网络( github 无障碍)
步骤
更新源并安装 git
sudo apt-get updatesudo apt-get install git
x264 配置脚本 config_x264_rpi.sh ,放进 x264 目录
#!/bin/sh./configure \--disable-shared --enable-static \--enable-strip \--disable-cli
下载 x264 源码并编译安装
git clone git:///x264.gitcd x264mv ../config_x264_rpi.sh ./chmod +x config_x264_rpi.sh./config_x264_rpi.shmake -j4sudo make install
ffmpeg 配置脚本 config_ffmpeg_rpi.sh ,放进 ffmpeg 目录
#!/bin/shPREFIX=/usr/local./configure \--enable-gpl --enable-version3 --enable-nonfree \--enable-static --disable-shared \\--prefix=$PREFIX \\--disable-opencl \--disable-thumb \--disable-pic \--disable-stripping \\--enable-small \\--enable-ffmpeg \--enable-ffplay \--enable-ffserver \--enable-ffprobe \\--disable-doc \--disable-htmlpages \--disable-podpages \--disable-txtpages \--disable-manpages \\--disable-everything \\--enable-libx264 \--enable-encoder=libx264 \--enable-decoder=h264 \--enable-encoder=aac \--enable-decoder=aac \--enable-encoder=ac3 \--enable-decoder=ac3 \--enable-encoder=rawvideo \--enable-decoder=rawvideo \--enable-encoder=mjpeg \--enable-decoder=mjpeg \\--enable-demuxer=concat \--enable-muxer=flv \--enable-demuxer=flv \--enable-demuxer=live_flv \--enable-muxer=hls \--enable-muxer=segment \--enable-muxer=stream_segment \--enable-muxer=mov \--enable-demuxer=mov \--enable-muxer=mp4 \--enable-muxer=mpegts \--enable-demuxer=mpegts \--enable-demuxer=mpegvideo \--enable-muxer=matroska \--enable-demuxer=matroska \--enable-muxer=wav \--enable-demuxer=wav \--enable-muxer=pcm* \--enable-demuxer=pcm* \--enable-muxer=rawvideo \--enable-demuxer=rawvideo \--enable-muxer=rtsp \--enable-demuxer=rtsp \--enable-muxer=rtsp \--enable-demuxer=sdp \--enable-muxer=fifo \--enable-muxer=tee \\--enable-parser=h264 \--enable-parser=aac \\--enable-protocol=file \--enable-protocol=tcp \--enable-protocol=rtmp \--enable-protocol=cache \--enable-protocol=pipe \\--enable-filter=aresample \--enable-filter=allyuv \--enable-filter=scale \--enable-libfreetype \\--enable-indev=v4l2 \--enable-indev=alsa \\--enable-omx \--enable-omx-rpi \--enable-encoder=h264_omx \\--enable-mmal \--enable-hwaccel=h264_mmal \--enable-decoder=h264_mmal \\
在 FFmpeg 官网获取源码 /download.html ,当前版本为 ffmpeg-3.3.2.tar.bz2 ,配置完成后编译并安装
wget /releases/ffmpeg-3.3.2.tar.bz2tar jxvf ffmpeg-3.3.2.tar.bz2cd ffmpeg-3.3.2mv ../config_ffmpeg_rpi.sh ./chmod +x config_ffmpeg_rpi.sh./config_ffmpeg_rpi.shmake -j4sudo make install
输入 ffmpeg 并回车,可以看到其中有 h264_omx 和 h264_mmal 字样,说明 ffmpeg 已支持树莓派的 H.264 硬件编解码器。
最后
下一篇文章将介绍硬件 H.264 硬件编解码器的应用。