现在的显卡和两年前已经不一样。
从 NVIDIA 显卡的能力表来看,新卡 1070 支持 x265 10bit 编码。
正好最近有需求,来研究一下。
CPU也不一样了,现在是 i7-8750H, 顺便研究 intel 显卡硬件编码 x265。
FFMPEG 也不一样了,现在可以支持更多编码参数了。


2021-4-17 更新ffmpeg -codecs | sls cuvid
检查ffmpeg是否支持 nvenc 转码ffmpeg -h encoder=hevc_nvenc
检查 x265 nvenc 的可以使用的选项在同等文件大小情况下,仍然是CPU编码的质量最好,但两者差别不大。同时,码率越高,CPU编码和nvenc编码两者差别质量越少。
例如一部 13G 1080P 你的名字 蓝光电影,分别使用 CPU 和 nvenc 压到 3500K,两者差别几乎是肉眼不可分辨的。
简单的速度比较
一段影片,i7 8750H; GTX 1070
hevc        编码速度为 0.1X
hevc_nvenc  编码速度为 5.1X使用平均码率控制模式,建议使用这个,因为这个比较方便调整输出视频大小ffmpeg -i 1.mkv -b:v 3500K -bufsize 6000K -maxrate 5000K -c:v hevc_nvenc -preset slow -pix_fmt p010le -profile:v rext -level 6.2 -tier high -rc vbr_hq -rc-lookahead 250 -2pass 1 -nonref_p 1 2.mkv
转码 1.mkv 到 2.mkv
设定
-b:v 3500K          视频平均比特率为 3500K
-bufsize 6000K      缓存区大小 6000K,建议设定为 当前码率*帧率*5,也许这里的2pass是针对缓冲区的,缓存未来5s
-maxrate 5000K      最大码率为 5000K,每帧的最高码率不超过这个数值
-c:v hevc_nvenc     使用hevc_nvenc 编码器(nvidia硬件加速x265)
-preset slow        预设方案是 slow,slow已经是最好的选项了
-pix_fmt p010le     输出的像素格式是 p010le 也就10bit,只有新的硬件支持,例如:970m不支持,1070可以支持
-profile:v rext     设定 参考配置 为 rext,这个也是最好的选项
-level 6.2          设定编码等级为6.2,这个也是最好的选项
-tier high          设定 tier 为 high,当前最好选项把
-rc vbr_hq          设定质量控制类型为 vbr_hq
-rc-lookahead 250   前 250 帧作为码率控制的参数(貌似没用)
-2pass 1            使用 2pass 编码,但看不出什么差别,貌似没用
-nonref_p 1         使用自动插入无引用的P帧,不知道干嘛的如果要8bit的编码可以删掉上面的 -pix_fmt p010le 参数 再执行。# 2021年4月后的FFMPEG
ffmpeg -i .\1.mkv -b:v 4000K -bufsize 16000K -maxrate 8000K -c:v hevc_nvenc -preset p7 -tune hq -pix_fmt p010le -profile:v rext -level 6.2 -tier high -multipass 2 -rc-lookahead 1800 2.mkv
这个参数用来转换9g h264的电影,可能会不错ffmpeg.exe -i 1.mkv -b:v 2200K -bufsize 16000K -maxrate 3000K -c:v hevc_nvenc -preset p7 -tune hq -pix_fmt p010le -profile:v rext -level 6.2 -tier high  -multipass 2 -rc-lookahead 1800 -c:a aac -b:a 128K .\2.mkv# 过时,2020年的FFMPEG
ffmpeg -i .\1.mkv -b:v 4000K -bufsize 16000K -maxrate 8000K -c:v hevc_nvenc -preset slow -pix_fmt p010le -profile:v rext -level 6.2 -tier high -rc vbr_hq -rc-lookahead 1800 2.mkv
这个参数用来转换9g h264的电影,可能会不错使用固定qp模式,也就是固定质量模式,此时输出文件大小不怎么好估计,不是很关心文件大小可以用这个ffmpeg -y -i 1.mkv -c:v hevc_nvenc -preset p7 -profile:v rext -level 6.2 -tier high -rc constqp -qp 23 -nonref_p 1 2.mkv
这里基本与上面相同,不同的是这里使用固定质量模式
-rc constqp         代表使用固定质量模式
-qp 23              使用固定质量等级为23

2020-12-7 更新ffmpeg -codecs | sls qsv
检查ffmpeg是否支持 qsv 转码ffmpeg -h encoder=hevc_qsv
检查 x265 qsv 的可以使用的选项目前不建议使用hevc_qsv编码图像,因为在同等文件大小下,hevc_nvenc 编码的速度更快,并且质量更好。
简单的速度比较
一段影片,i7 8750H
hevc        编码速度为 0.1X
hevc_qsv    编码速度为 1.1X使用平均编码模式ffmpeg -i 1.mkv -b:v 3500K -bufsize 6000K -maxrate 5000K -vcodec hevc_qsv -preset slow -pix_fmt p010le -profile:v main10 2.mkv
转码 1.mkv 到 2.mkv
设定
-b:v 3500K          视频平均比特率为 3500K
-bufsize 6000K      缓存区大小 6000K,建议设定为 当前码率*帧率*5,也许这里的2pass是针对缓冲区的,缓存未来5s
-maxrate 5000K      最大码率为 5000K,每帧的最高码率不超过这个数值
-c:v hevc_qsv       使用 hevc_qsv 编码器(intel硬件加速x265)
-preset slow        预设方案是 slow,在我这里无法使用更高选项,但使用更高的选项会报错
-pix_fmt p010le     输出的像素格式是 p010le 也就10bit
-profile:v main10   设定 参考配置 为 main10,有rext选项,但无法使用,因为会报错如果要8bit的编码可以删掉上面的 -pix_fmt p010le 和 -profile:v main10 参数 再执行。
或者把对应参数改成 -pix_fmt nv12 和 -profile:v main ,效果和上面一样。目前 hevc_qsv 不支持CQP编码模式

FFMPEG视频编码 NVIDIA 和 INTEL 硬件加速 x265 8bit 和 10bit相关推荐

  1. 使用Lucid Virtu在有独立显卡的情况下使用Intel硬件加速H.264编码

    在硬编码领域,大家都知道CUDA技术对于H.264视频编码速度的提升.然而实际上常见的高清H.264视频压缩都不是用CUDA技术进行硬编码,而是用传统的x264进行软编码,因为通过CUDA硬编码的视频 ...

  2. Intel硬件加速 VS CUDA完胜 视频转码感受

    对比试用平台介绍 在体验了酷睿 I5 2300 在3D游戏和多任务.高清播放等方面的突出性能后,今天我利用空闲时间针对酷睿 I5 2300在高清转码方面上与本人的旧平台上对比了一下.,其结果也让人感到 ...

  3. FFmpeg —— 查看NVIDIA显卡对硬件加速的支持

    起因      起初了解学习掌握ffmpeg的编解码,以为只是学会了相关API的使用就可以了,但现实却不是这样的.视频.音频.字幕等都是需要仔细的学习了解,更是对一个行业的涉足.      在对ffm ...

  4. 腾讯视频怎么开启禁止界面硬件加速

    本文小编给大家分享"腾讯视频怎么开启禁止界面硬件加速".腾讯视频播放器下载界面设计.功能操作使用.启动播放速度.视频内容数量.画面品质等方面均得到了用户的高度认可.相对于其他几大视 ...

  5. LiveVideoStackCon 2018技术培训 — 从FFmpeg视频编码到抖音式视频特效实现

    LiveVideoStackCon 2018技术培训,"从FFmpeg视频编码到抖音式视频特效实现".我们拒绝"纸上谈兵",坚持技术讲解与实战训练相结合.门票火 ...

  6. ffmpeg 视频编码一(精简版)

    1. ffmpeg 视频解码一 2. ffmpeg 视频解码二 3. ffmpeg 音频解码一 4. ffmpeg 音频解码二 5. ffmpeg 音视频解码 6. ffmpeg 视频编码一 7. f ...

  7. ffmpeg 视频编码三(基于 libavfilter 转换视频)

    1. ffmpeg 视频解码一 2. ffmpeg 视频解码二 3. ffmpeg 音频解码一 4. ffmpeg 音频解码二 5. ffmpeg 音视频解码 6. ffmpeg 视频编码一 7. f ...

  8. 【ffmpeg基础】ffmpeg视频编码

    一.ffmpeg编码H264 输入为YUV输出为H264 ffmpeg -s 416x240 -pix_fmt yuv420p -i BlowingBubbles_416x240_50.yuv -r ...

  9. ffmpeg Intel硬件加速总结

    0. 概述 FFmpeg可通过Intel的GPU进行加速,加速器的名称是Intel Quick Sync Video,简称qsv,支持该加速器的Intel处理器的型号是带有Intel Iris gra ...

  10. FFmpeg视频编码步骤

    未编码的视频数据放在AVFrame中, 编码的视频数据放在AVPacket 本文不介绍源码级的代码, 如何使用ffmpeg的API将AVFrame转为AVPacket并保存在文件中. 以H264编码格 ...

最新文章

  1. 牛!月入2w,95后送外卖的程序员,送餐途中改bug
  2. 1660s功耗多少w_1660显卡要多大电源?GTX1660用多大电源合适
  3. swing 选择对话框_Java Swing –日期选择器对话框
  4. spring boot构建
  5. 智能数据引擎Dataphin重磅发布,提供一站式的技术管理能力
  6. PHP学习笔记(八)
  7. 关于SQL时间类型的模糊查询
  8. R语言基础期末大作业
  9. 【Sibelius】制谱软件 (西贝柳斯)入门笔记
  10. 数学科普书籍介绍(一)
  11. 1.2、logistic回归之极大似然法
  12. Java十进制转换为二进制
  13. 对一个整形数组进行顺序排列
  14. tesseract安装及配置
  15. Doom流量回放工具导致的测试环境服务接口无响应的排查过程
  16. C语言如何求n次方根
  17. is running 8724480B beyond the ‘PHYSICAL‘ memory limit.
  18. 第四讲 switch结构和循环(switch结构、while循环、do-while循环)
  19. 推荐几款机顶盒用的芯片
  20. 计算机网络配适器型号在哪里看,网络适配器型号在哪看_怎么更换网络适配器...

热门文章

  1. 分享多引擎样本查毒网站+多款杀软在线查毒网站
  2. 备考BEC高级全记录:
  3. leetcode刷题报告 之hrt篇 oa leetcode 722 Remove Comments python
  4. 小白的理财之道:赚钱人生第一桶金
  5. java中使用MD5验证文件的完整性
  6. retina屏 适配问题
  7. 在微信公众号中使用JQueryWeui组件实现文件上传
  8. centos7下载安装postgresql 12详细过程
  9. MyBatisPlus的使用--十数个案例足以让你步入mybatisplus
  10. 中文汉字错别字纠错方法