第二步:在树莓派上安装ffmpeg实现推流

1. FFmpeg是一套开源的音视频编解码库。

2. 具有视频采集、视频格式转换等功能。
3. 视频编解码是一个非常消耗系统资源的过程,而树莓派自带了H.264的硬件编解码器

下面将说明如何在树莓派上配置FFmpeg使其支持硬件编解码器


1. 源码编译安装 x264

源码git地址:git://git.videolan.org/x264.git
clone后,进入目录,touch一个脚本config_x264.sh
vim config_x264.sh
添加如下内容
#!/bin/sh
./configure \
--disable-shared --enable-static \
--enable-strip \
--disable-cli


然后增加执行权限:chmod +x config_x264.sh


./config_x264.sh
make -j4
sudo make install


2. 源码编译安装ffmpeg

在FFmpeg官网获取源码 http://ffmpeg.org/download.html ,当前版本为 ffmpeg-3.4.2.tar.bz2 ,配置完成后编译并安装
wget https://ffmpeg.org/releases/ffmpeg-3.4.2.tar.bz2
解压后进入,touch一个脚本config_ffmpeg.sh

vim config_ffmpeg.sh

输入如下内容:

#!/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 \
\
chmod +x config_ffmpeg.sh
./config_ffmpeg.sh
make -j4
sudo make install
退出重新登录后,输入ffmpeg,会发现多了h264_omx和h264_mmal,说明ffmpeg已经支持树莓派的H.264硬件编解码了。



Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐