树莓派编译安装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 未本地化版本许可协议进行许可。

相关推荐