关于ffmpeg的安装和编码格式问题

安装

5.1安装
https://blog.csdn.net/JineD/article/details/113528285
3.4.8安装
https://blog.csdn.net/qq_42528520/article/details/120487457

编码格式

ffmpeg能转很多的视频格式,不同的格式对应的版本也不一样。如上述安装5.1和3.4.8都是一样的流程,但5.1中转h264格式会报错,找不到对应的设备,就需要安装3.4.8的低版本才行。

编码格式

执行命令ffmpeg -i {video_path} -vcodec h264 {h264_video_path}
可能报错:Cannot load libnvcuvid.so.1 Cannot load libnvidia-encode.so.1 [h264_nvenc @ 0x17f6270] Cannot load libnvidia-encode.so.1 [h264_nvenc @ 0x17f6270] The minimum required Nvidia driver for nvenc is 445.87 or newer Error initializing output stream 0:0 – Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height

解决方案:
因为docker容器内没有这两个文件,经过我查找发现,在宿主机中有,我们需要拷贝今容器内,然后再作一个软连接。在这些目录下查找上述文件 /usr/lib/x86_64-linux-gnu 和 /usr/lib/x86_64-linux-gnu我们ll命令文件,找到原始文件,
libnvcuvid.so.440.100
libnvidia-encode.so.440.100
后面的尾号可能不一样,它是显卡驱动版本号,
我们把这个拷贝到docker中,然后软连接宿主机

/usr/lib/x86_64-linux-gnu/libnvcuvid.so.440.100 
/usr/lib/x86_64-linux-gnu/libnvidia-encode.so.440.100 

拷贝到docker这里 
/lib64/libnvcuvid.so.440.100 
/lib64/libnvidia-encode.so.440.100 

docker内软连接
ln -s /lib64/libnvcuvid.so.440.100 /lib64/libnvcuvid.so.1 
ln -s /lib64/libnvidia-encode.so.440.100 /lib64/libnvidia-encode.so.1 

然后vi /etc/ld.so.conf 
添加软连接路径 /lib64 
更新 ldconfig
最后再次测试GPU视频编解码

参考:https://blog.csdn.net/sunt2018/article/details/107483599
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值