本帖最后由 qiao--- 于 2024-2-22 18:09 编辑
前言:由于我是前面是用buildroot搭建的系统,现在不想重新编译Ubuntu系统,所以在安装ffmpeg过程稍微复杂一些,但是也不是非常复杂,如果你们是一些像Ubuntu这样的发行版系统两个命令就可以安装ffmpeg。我不换Ubuntu镜像还有一个原因是之前我已经适配好了LCD的驱动,一会我会把视频显示到LCD上播放,对于我来说这样方便一些。
1.安装ffmpeg
在自己的虚拟机上拉取相关的代码并解压
wget http://www.ffmpeg.org/releases/ffmpeg-3.4.8.tar.gz
tar -zxvf ffmpeg-3.4.8.tar.gz
cd ffmpeg-3.4.8/
安装ffmpeg过程中,执行./configure时,报yasm/nasm not found or too old. Use --disable-yasm for a crippledbuild错误,分析、解决如下:
分析:yasm是汇编编译器,ffmpeg为了提高效率使用了汇编指令,如MMX和SSE等。所以系统中未安装yasm时,就会报上面错误。
解决:安装yasm编译器或者直接–disable-yasm。安装方法如下:
在http://www.tortall.net/projects/yasm/releases下面找到适合自己平台的yasm版本。然后进行安装。举例如下:
//下载
wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
//解压并进入解压目录
tar -zxvf yasm-1.3.0.tar.gz
cd yasm-1.3.0
//配置
./configure
//编译和安装
make
make install
然后对ffmpeg配置并编译
sudo ./configure --enable-cross-compile --arch=arm --target-os=linux --cross-prefix=/home/tang/linux/LuckFox_RV1106/luckfox-pico/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf- --enable-shared --prefix=/usr/lib/ffmpeg
make
make install
就会生成我们需要的可执行文件和一些需要用到的库,如下:
我们将这个文件夹拷贝到到我们的板子上就行了。
注意:我这里是拷贝到我SD卡设置挂载的位置,光靠我们flash那点容量装不下ffmpeg。
如果你是Ubuntu等系统直接敲命令下载:
sudo apt update
sudo apt install ffmpeg
2.播放视频测试
我们用ffmpeg时候,先将bin里面的文件拷贝到系统的/usr/bin目录下。因为挂载的设备里面的文件不具有执行权限。
然后指出我们ffmpeg相关库所在的位置,这里有两个方法。
1.导出环境变量export LD_LIBRARY_PATH=<your-lib-path>:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/mnt/sdcard/ffmpeg/lib
2.用ldconfig。将自己可能存放库文件的路径都加入到 /etc/ld.so.conf 中是明智的选择,因为这种添加库路径的效果是永久的。添加方法也很简单,将库文件的绝对路径直接写进去就OK了,一行一个。我这里创建一个文件并写入lib路径即可
cd /etc/ld.so.conf.d
touch ffmpeg.conf
vi /etc/ld.so.conf.d/ffmpeg.conf
//在里面添加路径
/usr/local/ffmpeg/lib
//最后用ldconfig
ldconfig
上面步骤完成后就可以使用我们ffmpeg了,这里我用一个bad Apple视频举例
敲击下面的命令
ffmpeg -i /mnt/sdcard/Bad\ Apple.mp4 -r 30 -pix_fmt rgb565le -f fbdev /dev/fb0
效果:
IMG_8541
总结:本次测评通过ffmpeg进行视频解码相关的操作,可以看到视频流畅度还是很可以的,幸狐 RV1106的视频解码能力不错。
参考链接:
1.【平头哥Sipeed LicheeRV 86 Panel测评】10-视频播放测试 https://bbs.eeworld.com.cn/thread-1195385-1-1.html
2.linux下 opencv 和 ffmpeg安装_ffmpeg-3.4.8-rtmp-hevc-src-linux.zip下载-CSDN博客