使用i9-9880H测试h264/265编解码开销

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
简介: 使用i9-9880H测试h264/265编解码开销

编解码方式:h264

几路:一路编码一路解码

是否都在本机:是

WxH帧率:1920x1080

码率:10M

id:90

cpu:Intel® Core™ i9-9880H CPU @ 2.30GHz 8核16线程

流媒体类型:sls

流协议:srt

复用方式:mpegts

服务器和推拉流端部署在同一个计算机吗:对

视频质量:佳

音频质量:无

每个核是否负载均衡:16个线程有一个线程50-60左右,应该是ffplay或者sls的线程

视频三元组:yuv420p,25帧

音频帧率是否有丢:25帧稳定

音频三元组:无

备注:ffmpeg推流yuv文件,测试i9性能

所使用的命令:

ffmpeg -i westLife.mp4 -ss 5:00 -t 180 -c copy westLife_mini.mp4

ffmpeg -threads 16 -i westLife_mini.mp4 -s 1920x1080 -pix_fmt yuv420p output_mini.yuv

ffplay -f rawvideo -video_size 1920x752 -pix_fmt yuv420p output_mini.yuv

ffmpeg -re -f rawvideo -video_size 1920x1080 -pix_fmt yuv420p -stream_loop -1 -i output_mini.yuv -threads 16 -preset ultrafast -vcodec h264 -r 25 -f mpegts srt://192.168.100.77:8080?streamid=uplive.sls.com/live/test1

ffplay -fflags nobuffer -analyzeduration 1000000 srt://127.0.0.1:8080?streamid=live.sls.com/live/test1


编解码方式:h264

几路:2路编码2路解码

是否都在本机:是

WxH帧率:1920x1080

码率:10M

id:75

cpu:Intel® Core™ i9-9880H CPU @ 2.30GHz 8核16线程

流媒体类型:sls

流协议:srt

复用方式:mpegts

服务器和推拉流端部署在同一个计算机吗:1个在本机,1个在台式机

视频质量:佳

音频质量:无

每个核是否负载均衡:均衡

视频三元组:yuv420p,25帧

音频帧率是否有丢:25帧稳定

音频三元组:无

备注:ffmpeg推流yuv文件,测试i9性能

所使用的命令:

ffmpeg -i westLife.mp4 -ss 5:00 -t 180 -c copy westLife_mini.mp4

ffmpeg -threads 16 -i westLife_mini.mp4 -s 1920x1080 -pix_fmt yuv420p output_mini.yuv

ffplay -f rawvideo -video_size 1920x1080 -pix_fmt yuv420p output_mini.yuv

ffmpeg -re -f rawvideo -video_size 1920x1080 -pix_fmt yuv420p -stream_loop -1 -i output_mini.yuv -threads 16 -preset ultrafast -vcodec h264 -r 25 -f mpegts srt://192.168.100.77:8080?streamid=uplive.sls.com/live/test1

ffplay -fflags nobuffer -analyzeduration 1000000 srt://127.0.0.1:8080?streamid=live.sls.com/live/test1


编解码方式:h264

几路:一路编码一路解码

是否都在本机:是

WxH帧率:1920x1080

码率:10M

id:55

cpu:Intel® Core™ i9-9880H CPU @ 2.30GHz 8核16线程

流媒体类型:sls

流协议:srt

复用方式:mpegts

服务器和推拉流端部署在同一个计算机吗:1个在本机1个在台式机

视频质量:佳

音频质量:无

每个核是否负载均衡:是

视频三元组:uyvy422,25帧

音频帧率是否有丢:25帧稳定

音频三元组:无

备注:ffmpeg推流yuv文件,测试i9性能,测试422的yuv是否对性能影响很大

结论:对性能影响区确实很大,其他不变改为yuv420,id75

原因:422处理的时候cpu需要频繁的字节对齐,造成巨大开销

所使用的命令:

ffmpeg -threads 16 -i westLife_mini.mp4 -s 1920x1080 -pix_fmt uyvy422 output_mini_uyvy422.yuv

ffplay -f rawvideo -video_size 1920x1080 -pix_fmt uyvy422 output_mini_uyvy422.yuv

ffmpeg -re -f rawvideo -video_size 1920x1080 -pix_fmt uyvy422 -stream_loop -1 -i output_mini_uyvy422.yuv -threads 16 -preset ultrafast -vcodec h264 -r 25 -f mpegts srt://192.168.100.77:8080?streamid=uplive.sls.com/live/test1

ffplay -fflags nobuffer -analyzeduration 1000000 srt://127.0.0.1:8080?streamid=live.sls.com/live/test1


编解码方式:h265

几路:一路编码一路解码

是否都在本机:是

WxH帧率:1920x1080

码率:1.4M

id:16

cpu:Intel® Core™ i9-9880H CPU @ 2.30GHz 8核16线程

流媒体类型:sls

流协议:srt

复用方式:mpegts

服务器和推拉流端部署在同一个计算机吗:对

视频质量:卡顿

音频质量:无

每个核是否负载均衡:均衡

视频三元组:yuv420p,25帧

音频帧率是否有丢:在25和24跳动

音频三元组:无

备注:ffmpeg推流yuv文件,测试i9性能,测试h265

结论:265开销非常大

原因:无

所使用的命令:

ffmpeg -i westLife.mp4 -ss 5:00 -t 180 -c copy westLife_mini.mp4

ffmpeg -threads 16 -i westLife_mini.mp4 -s 1920x1080 -pix_fmt yuv420p output_mini.yuv

ffplay -f rawvideo -video_size 1920x752 -pix_fmt yuv420p output_mini.yuv

ffmpeg -re -f rawvideo -video_size 1920x1080 -pix_fmt yuv420p -stream_loop -1 -i output_mini.yuv -threads 16 -preset ultrafast -vcodec libx265 -r 25 -f mpegts srt://192.168.100.77:8080?streamid=uplive.sls.com/live/test1

ffplay -fflags nobuffer -analyzeduration 1000000 srt://127.0.0.1:8080?streamid=live.sls.com/live/test1


thxchtb3wcn3k_d11fc1ff3db9431d8ad7575e9297ae48.png

相关实践学习
通过ACR快速部署网站应用
本次实验任务是在云上基于ECS部署Docker环境,制作网站镜像并上传至ACR镜像仓库,通过容器镜像运行网站应用,网站运行在Docker容器中、网站业务数据存储在Mariadb数据库中、网站文件数据存储在服务器ECS云盘中,通过公网地址进行访问。
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
1天前
|
JSON JavaScript 测试技术
Postman接口测试工具详解
Postman接口测试工具详解
11 1
|
4天前
|
JSON 前端开发 测试技术
从零开始:学习使用 Postman 进行接口测试
在当前,API(应用程序接口)的使用变得越来越普遍。其中,HTTP/HTTPS API 是最常见的一种。无论是开发前端还是后端,测试 API 都是一个关键环节。Postman 是一种流行且强大的 API 测试工具,能够帮助开发人员轻松地进行接口测试和调试。
|
4天前
|
敏捷开发 测试技术 API
阿里云云效产品使用问题之API中包含有获取测试计划的接口吗
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
5天前
|
安全 API 数据安全/隐私保护
​6个值得测试的发送邮件接口API
在数字营销和企业通信中,发送邮件接口API如SendGrid、Mailgun、Amazon SES、AOKSend、Postmark和Sendinblue是关键工具。这些API自动化邮件发送,提高效率,确保及时送达。各具特色,如SendGrid和Mailgun适合大规模发送,AOKSend易于集成,Postmark专于事务邮件,而Sendinblue提供综合营销解决方案。根据企业需求,如邮件量、成本、功能和集成简易度,可选择最适合的API服务。
|
6天前
|
存储 JSON 测试技术
软件测试之 接口测试 Postman使用(下)
软件测试之 接口测试 Postman使用(下)
17 2
|
6天前
|
测试技术 数据格式
软件测试之 接口测试 Postman使用(上)
软件测试之 接口测试 Postman使用(上)
14 1
|
8天前
|
监控 druid Java
Springboot用JUnit测试接口时报错Failed to determine a suitable driver class configure a DataSource: ‘url‘
Springboot用JUnit测试接口时报错Failed to determine a suitable driver class configure a DataSource: ‘url‘
16 0
|
13天前
|
JSON Java Maven
使用`MockMvc`来测试带有单个和多个请求参数的`GET`和`POST`接口
使用`MockMvc`来测试带有单个和多个请求参数的`GET`和`POST`接口
24 3