rk3588 ffmpeg使用硬件解码

rk3588 ffmpeg使用硬件解码

  • 安装ffmpeg最新的静态构建版本
  • 方法1
    • 安装rkmpp
    • 安装264
    • 安装libdrm
    • 下载ffmpeg源码
  • 方法2
    • ppa搜索需要的软件包
    • 安装支持rkmpp硬件解码的ffmpeg

安装ffmpeg最新的静态构建版本

在https://johnvansickle.com/ffmpeg/下载最新的版本然后解压

tar xvf ffmpeg-git-arm64-static.tar.xz

将ffmpeg移动到/usr/local/bin文件夹
命令行输入ffmpeg没有报错就安装好了

方法1

安装rkmpp

git下载mpp包

git clone https://github.com/rockchip-linux/mpp

编译安装

cd mpp/build/linux/aarch64  
./make-Makefiles.bash
make -j8
sudo make install

安装264

git clone https://code.videolan.org/videolan/x264.git
cd x264
./configure --prefix=/usr/local/my/x264 --disable-opencl --enable-static --enable-shared
make -j8
sudo  make install

安装libdrm

wget https://dri.freedesktop.org/libdrm/libdrm-2.4.89.tar.bz2
tar -jxvf libdrm-2.4.89.tar.bz2
./configure --prefix=/usr/local/my/libdrm --host=aarch64-linux-gnu
make -j8
sudo make install

解压
–prefix 指定安装目录
–host 当前编译工具链的前缀 ll /usr/bin/gcc*查看

下载ffmpeg源码

git clone https://git.ffmpeg.org/ffmpeg.git 

编译指令

./configure --prefix=/usr/local/my/ffmpeg --enable-version3 --enable-libdrm --enable-rkmpp --enable-libx264 --enable-nonfree --enable-gpl

–enable-gpl 允许使用GPL代码,生成的库和二进制文件将在GPL下[no]
–enable-version3 升级(L)GPL到版本3 [no]
–enable-nonfree 允许使用非自由代码,生成的库 和二进制文件将是不可分发的[不]
直接./configure会报错
在这里插入图片描述
应该设置一下PKG_CONFIG_PATH

sudo find / -name pkgconfig

找到需要的x264 libdrm的pkgconfig文件夹,rockchip_mpp.pc 被安装在了/usr/local/lib/pkgconfig这里

export PKG_CONFIG_PATH=/usr/local/my/x264/lib/pkgconfig:/usr/local/my/libdrm/lib/pkgconfig:/usr/local/lib/pkgconfig

查看一下

echo $PKG_CONFIG_PATH
/usr/local/my/x264/lib/pkgconfig:/usr/local/my/libdrm/lib/pkgconfig:/usr/local/lib/pkgconfig

下一步可以安装了

./configure --prefix=/usr/local/my/ffmpeg --enable-version3 --enable-rkmpp --enable-libx264 --enable-libdrm --enable-nonfree --enable-gpl
make -j8
sudo make install

竟然四分钟就编译好了,运行ffmpeg报错
在这里插入图片描述
在这里插入图片描述
提示找不到librockchip_mpp.so、libx264.so ,使用find命令分别找到这些文件在哪个文件夹,
然后更改配置文件/etc/ld.so.conf

sudo vim /etc/ld.so.conf

include /etc/ld.so.conf.d/*.conf
#复制下面内容
/usr/local/lib #librockchip_mpp.so
/usr/local/my/x264/lib #lib264.so

然后执行sudo ldconfig命令生效
将ffmpeg路经添加到PATH

sudo vim .bashrc
#最后一行添加自己的ffmpeg路经
export PATH=$PATH:/usr/local/my/ffmpeg/bin

然后执行source .bashrc生效
查看一下系统PATH,可以看到已经将ffmpeg添加好了
在这里插入图片描述
执行ffmpeg
rk3588 ffmpeg使用硬件解码_第1张图片
查看支持的编解码器

ffmpeg configure -codecs | grep h264

decoders: h264 h264_v4l2m2m h264_rkmpp
encoders: libx264 libx264rgb h264_v4l2m2m

方法2

ppa搜索需要的软件包

在https://launchpad.net/上搜索软件名+ppa
找到需要的包后下面命令安装

sudo add-apt-repository ppa:george-coolpi/multimedia
sudo apt update

如果不需要了下面命令删除

sudo add-apt-repository -r ppa:george-coolpi/multimedia
sudo apt-get update

安装支持rkmpp硬件解码的ffmpeg

sudo apt-get install ffmpeg

查看所有解/编码器

ffmpeg -codecs | grep h264
(decoders: h264_rkmpp h264 )
 encoders: libx264 libx264rgb h264_omx h264_v4l2m2m

你可能感兴趣的:(ffmpeg,git,linux)