h264和h265编码所需要的处理器性能

h265压缩比为1:200,h264压缩比为1:100,压缩一帧h265理论上比压缩一帧h264多10ms的时间。
以下数据均来自实测
在Intel® Core™ i7-6700 CPU @ 3.40GHz 4核8线程中:
用h265编码1080i50,uyvy422的裸数据,码率为6M,编码器速度配置ultrafast,线程配置8线程编码 top后id为2.5
值得注意的是crtl+c也是衡量cpu是否过载的方法之一。
记录编码一帧h265的视频帧用时,不同时间段随机多次采样为:

88ms,135ms,73ms,58ms,102ms

1080i50帧率为25帧每秒,每帧间隔是40ms,因此编码严重超时,满足不了帧率。cpu空闲了也用完了,性能已经到瓶颈了。更不可能编码帧率更高的视频了。
同样的环境配置,编码方式改为h264,测试如下:

11ms 28ms 29ms 32ms 30ms 40ms 34ms 19ms 35ms 26ms

id:50
可以看到跳动还是比较大的,偶尔也会超过40ms,比如记录到一个50ms的,但总体在30ms左右,不影响使用。

再改变一下,输入视频帧格式改为1080p60。

视频ctrl+c有延时
12ms 22ms 15ms 30ms 24ms 25ms 23ms 9ms 33ms 27ms
id:40

因此1080p60帧率为60,所以每帧间隔16.6ms,从测试来看,编码器编码一帧耗时太久,丢帧还是比较严重的。因此并不满足工业级生产开发。

再改变一下,输入视频格式改为1080i60,测试得:

ctrl+c有延时
41ms 33ms 36ms 20ms 40ms 18ms 25ms 32ms 46ms 38ms 22ms 19ms 43ms
id:50

1080i60帧率为30帧,每帧间隔33.33ms,因此从测试来看,依然丢帧严重。

再改变一下,输入视频格式改为1080i50,测试得:

ctrl+c无延时
正常不丢帧
id 55

再改变一下,输入视频格式改为1080i50,四路视频输入,同时编码,编码一个小时,分不同时间段采样,测试得:

id:25
25帧 25帧 25帧 25帧 25帧 25帧 25帧 25帧 25帧 25帧 25帧 25帧

可以看出这个配置编码四路1080i50不会丢帧,音频也无问题。

在Intel® Core™ i5-6300U CPU @2.40GHz 4核4线程中:
配置低于上面的i7。
用h264编码1080p60,uyvy422的裸数据,码率为6M,编码器速度配置ultrafast,线程配置4线程编码。
不同时段,三次采样分别丢

13帧,9帧,13帧

id:21

视频改为1080i50,无丢帧。

在Intel® Core™ i5-4460 CPU @ 3.20GHz 4核4线程中(台式机):
用h264编码1080i50,uyvy422的裸数据,码率为6M,编码器速度配置ultrafast,线程配置4线程编码。测试无丢帧。

换成Intel® Core™ i5-4200U CPU @ 1.60GHz2核2线程,其他不变,测试一路h264编码id为40,编码一路h264视频粗略约为30ms,另一个电脑ffplay播放后音视频都没问题。因为代码编码使用的是多线程编码。
如果使用命令:

ffmpeg -re -stream_loop -1 -i westLife.mp4 -ar 44100 -acodec libfdk_aac -s 1920x1080 -pix_fmt yuv420p -preset ultrafast -vcodec h264 -f mpegts srt://192.168.100.78:8080?streamid=uplive.sls.com/live/test1

编码推流,发现id为2,播放推流的音频卡顿严重。
(srs是在上面i5-4200U运行的。但如果再运行一路./TestPattern,则id为16,另一个电脑ffplay后音频卡顿。四个线程负载id都在80左右,有时单个id97)。
此配置当只进行一路h264解码时,音频偶有卡顿,id为85。

ffmpeg是音视频必备,但即使从业数年,它似乎依然有无穷的秘密,感兴趣添加笔者微信:YQW1163720468,加入ffmpeg微信群讨论。但记得备注:ffmpeg爱好者

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
NVIDIA H.265编码是指使用NVIDIA图形处理器(GPU)进行H.265视频编码的技术。H.265,也被称为HEVC(高效视频编码),是一种先进的视频压缩标准,可以提供更高的视频质量和更低的比特率。 使用NVIDIA H.265编码,可以利用NVIDIA GPU的强大计算能力,加速H.265编码过程,从而提高编码效率和性能。相比于传统软编码,硬编码能够更快地完成编码任务。这对于需要大量视频编码的应用程序(如视频编辑软件、在线视频直播等)来说,非常有益。 H.265编码功能可以通过NVIDIA官方提供的视频编码软件开发包(Video Codec SDK)来实现。该SDK提供了一套API和工具,方便开发者在应用程序中使用NVIDIA GPU进行H.265编码。开发者可以使用各种编程语言(如C++、Python等)来调用API,实现图像数据的输入、编码参数的设置和编码结果的输出等功能。 在使用NVIDIA H.265编码时,除了提高编码速度外,还可以降低能源消耗、减少空间占用和提升性价比。因为NVIDIA GPU在编码过程中可以利用其并行处理能力,同时处理多个视频帧,从而加速整个编码流程。此外,NVIDIA GPU也支持硬件加速的视频解码功能,可以在视频播放时提供更流畅的观看体验。 总之,NVIDIA H.265编码是一种利用NVIDIA GPU进行H.265视频编码的技术,可以加速编码过程,提高编码效率和性能。这对于需要大量视频编码的应用程序来说非常有益,同时也具有节能、节省空间和提升性价比等优势。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

、、、、南山小雨、、、、

分享对你有帮助,打赏一下吧!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值