說(shuō)明
- FFmpeg是一套開(kāi)源的音視頻編解碼庫(kù)褂删,有非常強(qiáng)大的功能,包括視頻采集功能冲茸、視頻格式轉(zhuǎn)換等屯阀。眾所周知視頻編解碼是一個(gè)非常消耗系統(tǒng)資源的過(guò)程,而樹(shù)莓派自帶了H.264的硬件編解碼器轴术,因此本文將詳解在樹(shù)莓派配置FFmpeg使其支持硬件編解碼器并編譯安裝的過(guò)程难衰。
準(zhǔn)備工作
- 樹(shù)莓派一個(gè)(1至3代都可以)
- 已連接到網(wǎng)絡(luò)(github無(wú)障礙)
步驟
- 更新源并安裝git
sudo apt-get update
sudo apt-get install git
- x264配置腳本config_x264_rpi.sh,放進(jìn)x264目錄
#!/bin/sh
./configure \
--disable-shared --enable-static \
--enable-strip \
--disable-cli
- 下載x264源碼并編譯安裝
git clone git://git.videolan.org/x264.git
cd x264
mv ../config_x264_rpi.sh ./
chmod +x config_x264_rpi.sh
./config_x264_rpi.sh
make -j4
sudo make install
- ffmpeg配置腳本config_ffmpeg_rpi.sh膳音,放進(jìn)ffmpeg目錄
#!/bin/sh
PREFIX=/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官網(wǎng)獲取源碼 http://ffmpeg.org/download.html 召衔,當(dāng)前版本為 ffmpeg-3.3.2.tar.bz2 ,配置完成后編譯并安裝
wget http://ffmpeg.org/releases/ffmpeg-3.3.2.tar.bz2
tar jxvf ffmpeg-3.3.2.tar.bz2
cd ffmpeg-3.3.2
mv ../config_ffmpeg_rpi.sh ./
chmod +x config_ffmpeg_rpi.sh
./config_ffmpeg_rpi.sh
make -j4
sudo make install
-
輸入ffmpeg并回車祭陷,可以看到以下內(nèi)容苍凛,其中有h264_omx和h264_mmal字樣趣席,說(shuō)明ffmpeg已支持樹(shù)莓派的H.264硬件編解碼器。
最后
- 下一篇文章將介紹硬件H.264硬件編解碼器的應(yīng)用醇蝴。