树莓派编译安装ffmpeg | 树莓派小无相系列
ffmpeg 是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。因为视频编解码十分消耗系统资源,工作相对较为耗时,而树莓派自带 H.264 的硬件编解码器,所以计划在树莓派上编译安装支持硬件编解码器的 ffmpeg。
安装 x264 编码器
git clone git://git.videolan.org/x264.git cd x264 ./configure --host=arm-unknown-linux-gnueabi --enable-static --disable-opencl --enable-shared make sudo make install
注:配置这加上 --enable-shared
可以避免安装 ffmpeg 时出现错误 ERROR: libx264 not found
安装 ffmpeg
在 ffmpeg 官网下载页面 http://ffmpeg.org/download.html 获取到下载链接,文章完成时版本是 ffmpeg-4.0.tar.bz2,命令行如下:
wget http://ffmpeg.org/releases/ffmpeg-4.0.tar.bz2 tar jxvf ffmpeg-4.0.tar.bz2 cd ffmpeg-4.0 ./configure --arch=armel --target-os=linux --enable-gpl --enable-libx264 --enable-nonfree make sudo make install
配置 ldconfig
完成上述步骤后,直接运行命令 ffmpeg 会报错:ffmpeg: error while loading shared libraries: libx264.so.155: cannot open shared object file: No such file or directory。
找不到对应库,库文件存放在 /usr/local/lib 这个目录,这里将目录添加到配置文件中,命令行如下:
nano /etc/ld.so.conf
添加 /usr/local/lib,最终文件内容为:
include /etc/ld.so.conf.d/*.conf /usr/local/lib
运行 ldconfig 使配置生效:
sudo ldconfig
检测安装
完成上述步骤后,ffmpeg就应该正确安装了。在命令行输入 ffmpeg,可以看到类似如下输出:
ffmpeg version 4.0 Copyright (c) 2000-2018 the FFmpeg developers built with gcc 6.3.0 (Raspbian 6.3.0-18+rpi1+deb9u1) 20170516 configuration: --arch=armel --target-os=linux --enable-gpl --enable-libx264 --enable-nonfree libavutil 56. 14.100 / 56. 14.100 libavcodec 58. 18.100 / 58. 18.100 libavformat 58. 12.100 / 58. 12.100 libavdevice 58. 3.100 / 58. 3.100 libavfilter 7. 16.100 / 7. 16.100 libswscale 5. 1.100 / 5. 1.100 libswresample 3. 1.100 / 3. 1.100 libpostproc 55. 1.100 / 55. 1.100 Hyper fast Audio and Video encoder usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...
系列说明
小无相功是小说《天龙八部》中「逍遥派」的一门内功,讲究不着形相,无迹可寻,熟悉后再了解其他武功招式便可依仗威力习得,甚至青出于蓝而胜于蓝。而树莓派形似小无相功,同具无限可能,了解一些基础便可轻松上手,去探寻其他更多未知。因此,系列以此为题,带来一系列树莓派相关的教程,同时也是对个人长期折腾树莓派以来的一个归档整理。
注:本作品采用知识共享署名-非商业性使用-禁止演绎 3.0 未本地化版本许可协议进行许可。