前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ffmpeg的编译流程

ffmpeg的编译流程

作者头像
用户5746037
发布2022-05-18 12:15:22
1.2K0
发布2022-05-18 12:15:22
举报
文章被收录于专栏:web服务器web服务器

ffmpeg的编译流程

1.下载ffmpeg源码,下载nv-codec-headers

2.编译和安装nv-codec-headers

https://gitee.com/crazyyuzcc/nv-codec-headers.git

3.编译ffmpeg

配置

Ubuntu下安装FFmpeg

代码语言:javascript
复制
sudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-next
sudo apt-get update
sudo apt-get install ffmpeg

查看支持的编码器

ffmpeg -hwaccels

原因:FFmpeg编译时没有使用nv-codec-headers

解决办法:下载nv-codec-headers ,在nv-codec-headers目录下执行 make, make install。再次编译FFmpeg即可

问题

ERROR: cuvid requested, but not all dependencies are satisfied: cuda/ffnvcodec

ffmpeg使用GPU加速

根据nvidia给出的文档,建议使用如下命令

代码语言:javascript
复制
ffmpeg -y -vsync 0 -hwaccel cuvid -c:v h264_cuvid -i input.mp4 -c:a copy -vf scale_npp=920:-2 -c:v h264_nvenc output.mp4

如果遇到报错”no such filter ‘scale_npp’ ffmpeg”,表示ffmpeg中没有scale_npp模块,需要重新编译ffmpeg。

很遗憾,我从rpmforge中安装的ffmpeg就是这样,只能用老参数了,性能会差一些。

代码语言:javascript
复制
ffmpeg -y -vsync 0 -hwaccel cuvid -c:v h264_cuvid -i input.mp4 -c:a copy -vf scale=920:-2 -c:v h264_nvenc output.mp4 

GPU加速效果如下:

分辨率设置为860:-2

CPU模式转码fps 55-60 GPU模式转码fps 555-556

分辨率设置为920:-2

CPU模式转码fps 100-110 GPU模式转码fps 290-295

我的博客即将同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=33a774wt5yqs0

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档