绝大部分播放器的灵魂,也是很多音视频相关工程的基石。
后面我会选择h264编码方式编码视频,h264编码由其高压缩率、高质量等特点,非常流行。x264是一个非常优秀的编码器,能集成进ffmpeg,使用上很方便。
开源项目编译运行大都一个套路模式,基本都是configure, make, make install。这里说的不涉及交叉编译,因为树莓派本身已经集成了我们所需的编译环境,所有工作都可在一块小小的板子上完成。pc交叉编译、下载到宿主机(开发板、手机),再运行的调试的梗咱就不玩了,你觉得树莓派编译太慢?性能不够?不敢苟同,下面咱就走起来。(这里假设大家知道什么是linux,会基本的cd 命令)
首先需要下载代码,代码都是通过git的方式下载。git不会用的,自行搜索,很好的工具,最新版代码下载命令:
- x264: git://git.videolan.org/x264.git
- ffmpeg:git://source.ffmpeg.org/ffmpeg.git
复制代码
另外ffmpeg中的播放器程序ffplay依赖sdl来显示视频,sdl是一个图形显示库,安装命令:
- sudo apt-get install libsdl2-dev
复制代码
下载完之后,会有两个git工程下载到本地。接下来就可以开工了(注意以下操作均需cd进入各自的目录)。
通过执行./configure --help可以查看帮助信息,如果执行configure配置出错的时候,可以查看ffmpeg源码目录下的config.log文件,此文件提供完整的出错信息。configure执行成功后,会打印配置信息表,一目了然。附件提供的配置脚本,就是调用的configure命令,理解了含义之后,很好用。
x264配置及编译:
附件下载配置脚本,然后放入x264目录下
- chmod +x config_x264_rpi.sh
./config_x264_rpi.sh
make -j4
sudo make install
复制代码
ffmpeg配置编译及裁剪优化
ffmpeg通过configure生成Makefile,同时configure也担当编译配置的作用,
由于默认的configure配置会编译几乎所有的代码文件,编译出来的库文件和程序文件都非常大,这在树莓派3上是一项相当大的工作,4核满负荷工作也需要大概20多分钟。而且默认配置是没有使能树莓派的硬件编解码加速的,所以需要做一定的配置。配置脚本见附件,通过该脚本配置后,
编译ffmpeg的时间可以缩减到10分钟以内,这个还是可以接受的,所以普通的开发工作可以直接在树莓派上完成,非常方便,给树莓派点个赞。
其中有两个比较关键的东西叫omx-rpi和mmal:
omx-rpi 树莓派的硬编码加速
mmal 树莓派的硬解码加速
在这里我们都启用了。编译只需执行
chmod +x config_ffmpeg_rpi.sh
./config_ffmpeg_rpi.sh
make -j4
sudo make install
复制代码
ffmpeg简单测试
如果前面两部顺利完成了的话,恭喜你,ffmpeg可以在树莓派上运行了,执行ffmpeg -version之后,会打印帮助信息。OK,大工告成!
附上x264和ffmpeg的配置脚本,纯手工敲打的哦,尤其树莓派硬编解码部分的配置,是我不断摸索,不断编译才捣鼓出来的,耗费了我好几个深夜,限时免费中,需要速速下载收藏,版权所有,请勿用于商业用途!!!
config_x264_rpi.sh
(287 Bytes, 下载次数: 505)
config_ffmpeg_rpi_v0_1_1.sh
(1.81 KB, 下载次数: 350, 售价: 5 分芯积分)