测试x264编码器的低延时编码和非延时编码
最近在学x264的编码,经过大量的测试,编码1080P的视频,编码10000帧数据。
在设置为低延时编码的时候:
编码线程0,一帧耗时:7.000000 ms.
编码线程0,一帧耗时:8.000000 ms.
编码线程0,一帧耗时:7.000000 ms.
编码线程0,一帧耗时:8.000000 ms.
编码线程0,一帧耗时:8.000000 ms.
编码线程0,一帧耗时:7.000000 ms.
编码线程0,一帧耗时:7.000000 ms.
编码线程0,一帧耗时:7.000000 ms.
编码线程0,一帧耗时:7.000000 ms.
编码线程0,一帧耗时:7.000000 ms.
编码线程0,一帧耗时:7.000000 ms.
编码线程0,一帧耗时:7.000000 ms.
编码线程0,一帧耗时:7.000000 ms.
编码线程0,一帧耗时:7.000000 ms.
编码线程0,一帧耗时:6.000000 ms.
编码线程0,平均帧编码时间7.24ms.
编码线程0,总编码帧数:10000,得到编码帧数:10000,延时编码帧数:0,单帧最小耗时:5.00,最大耗时:18.00,总消耗时间:104274.000 ms,总编码耗时:72352 ms,平均耗时:0 ms.
结束:1 路编码平均总时间=104274.000000.
结束!!
出第一帧的时间,耗时7ms.
==============================
CPU:
4路编码,25帧2倍速,CPU:65~75%
5路编码,25帧2倍速,CPU:90~95%
8路编码,25帧1倍速,CPU:60~70%
当设置为非延时编码时:
编码线程0,一帧耗时:2.000000 ms.
编码线程0,一帧耗时:1.000000 ms.
编码线程0,一帧耗时:1.000000 ms.
编码线程0,一帧耗时:1.000000 ms.
编码线程0,一帧耗时:1.000000 ms.
编码线程0,一帧耗时:4.000000 ms.
编码线程0,一帧耗时:1.000000 ms.
编码线程0,一帧耗时:1.000000 ms.
编码线程0,一帧耗时:1.000000 ms.
编码线程0,一帧耗时:1.000000 ms.
编码线程0,一帧耗时:1.000000 ms.
编码线程0,一帧耗时:5.000000 ms.
编码线程0,一帧耗时:1.000000 ms.
编码线程0,一帧耗时:1.000000 ms.
编码线程0,一帧耗时:2.000000 ms.
编码线程0,取延时帧,一帧耗时:0.000000 ms.
编码线程0,取延时帧,一帧耗时:0.000000 ms.
编码线程0,取延时帧,一帧耗时:2.000000 ms.
编码线程0,取延时帧,一帧耗时:2.000000 ms.
编码线程0,取延时帧,一帧耗时:0.000000 ms.
编码线程0,取延时帧,一帧耗时:0.000000 ms.
编码线程0,平均帧编码时间1.48ms.
编码线程0,总编码帧数:10000,得到编码帧数:10000,延时编码帧数:6,单帧最小耗时:0.00,最大耗时:24.00,总消耗时间:45206.000 ms,总编码耗时:14774 ms,平均耗时:0 ms.
结束:1 路编码平均总时间=45206.000000.
结束!!
出第一帧的时间,耗时47ms
==============================
CPU:
8路编码,25帧1倍速,CPU:65~80%
5路编码,25帧2倍速,CPU:85~95%
4路编码,25帧2倍速,CPU:55~65%
差距这么大,我自己也惊讶了。
查找了下原因:
(官方)
Each slice adds some bitrate (or equivalently reduces quality), for a variety of reasons: the slice header costs some bits, cabac contexts are reset, mvs and intra samples can't be predicted across the slice boundary.
因为采用低延时编码的时候,每个切片添加了bitrate比特,然后有些算法上下文需要重置,以及帧内预测不能在片内做。(本人的理解。)
测试x264编码器的低延时编码和非延时编码的更多相关文章
- matplotlib作图 归零编码、曼切斯特编码、非归零编码、差分曼切斯特编码
效果图 代码 import matplotlib.pyplot as plt config = { 'color': 'black', 'lw': 5, } def init(): plt.figur ...
- x264 编码器选项分析 (x264 Codec Strong and Weak Points) 2
文章目录: x264 编码器选项分析 (x264 Codec Strong and Weak Points) 1 x264 编码器选项分析 (x264 Codec Strong and Weak Po ...
- x264 编码器选项分析 (x264 Codec Strong and Weak Points) 1
文章文件夹: x264 编码器选项分析 (x264 Codec Strong and Weak Points) 1 x264 编码器选项分析 (x264 Codec Strong and Weak P ...
- ffmpeg源码分析五:ffmpeg调用x264编码器的过程分析 (转5)
原帖地址:http://blog.csdn.net/austinblog/article/details/25127533 该文将以X264编码器为例,解释说明FFMPEG是怎么调用第三方编码器来进行 ...
- Mac系统下编译支持Android平台的最新X264编码器
Mac系统下编译支持Android平台的最新X264编码器 原文来自 http://www.mingjianhua.com,转载请注明出处 1.首先去官网下载最新的x264源代码,解压到任意目录 ht ...
- 【python测试开发栈】带你彻底搞明白python3编码原理
在之前的文章中,我们介绍过编码格式的发展史:[文章传送门-todo].今天我们通过几个例子,来彻底搞清楚python3中的编码格式原理,这样你之后写python脚本时碰到编码问题,才能有章可循. 我们 ...
- 【Java】如何检测、替换4个字节的utf-8编码(此范围编码包含emoji表情)
> 参考的优秀文章 1.十分钟搞清字符集和字符编码 2.Java中byte与16进制字符串的互相转换 3.[异常处理]Incorrect string value: '\xF0\x90\x8D\ ...
- 编码占用的字节数 1 byte 8 bit 1 sh 1 bit 中文字符编码 2. 字符与编码在程序中的实现 变长编码 Unicode UTF-8 转换 在网络上传输 保存到磁盘上 bytes
小结: 1.UNICODE 字符集编码的标准有很多种,比如:UTF-8, UTF-7, UTF-16, UnicodeLittle, UnicodeBig 等: 2 服务器->网页 utf-8 ...
- 【转】关于URL编码/javascript/js url 编码/url的三个js编码函数
来源:http://www.cnblogs.com/huzi007/p/4174519.html 关于URL编码/javascript/js url 编码/url的三个js编码函数escape(),e ...
随机推荐
- 局域网不同用户同时登录同一个网站,会出现session乱窜的问题
出现这种问题的情景再现: 1.有一部分人访问网站会出现session乱窜的问题. 2.这部分人是在同一个局域网中. 3.不同菜单看到的信息是不同人的,或者同一个菜单翻页时有的时候看到的是自己的数据,有 ...
- dubbo-admin 管理台的部署
首先上传dubbo-admin的war包 参考链接: http://www.open-open.com/lib/view/open1454043410245.html
- MySQL索引经验
在数据库表中,使用索引可以大大提高查询速度. 假如我们创建了一个testIndex表:create TABLE testIndex(i_testID INT NOT NULL,vc_Name VARC ...
- ps可选颜色
RGB模式和CMYK模式 青色加红色是黑色->颜料,而蓝色绿色(它们合起来是青色)加红色却是白色->加光 可调整的原色(主色)可调整的主色分为三组RGB三原色:红色.绿色.蓝色CMY三原色 ...
- #ifndef用于避免多重包含
原因:C中,某一个重要的头文件可能被多个文件包含,如果编译的多个文件均包含了同一个头文件, 就可能存在,一个头文件被多次包含的问题. 用法:这个问题,一般用#ifndef来解决. 1.定义一个与文件名 ...
- WebDriver 原理
注:学会根据执行顺序看底层代码 <以下内容摘自大师兄博客> WebDriver webdriver是按照server – client的经典设计模式设计的. webdriver的作用就是创 ...
- 每日英语:China Underwhelmed After First Apple Event
Apple's roll-out of its latest iPhones landed with a thud in China, the company's biggest foreign ma ...
- GNU风格 ARM汇编语法4
.GNU汇编语言定义入口点 汇编程序的缺省入口是_start标号,用户也可以在连接脚本文件中用ENTRY标志指明其它入口点. 例:定义入口点 .section .data < initializ ...
- 通过Windows PowerShell远程管理计算机(精简版)
现在你手中有一台server(主控端),你打算通过主控端远程管理多台server(被控端).这个过程可以通过Windows PowerShell来完成. 首先在被控端上以管理员权限打开PowerShe ...
- TOMCAT源码分析——生命周期管理
前言 从server.xml文件解析出来的各个对象都是容器,比如:Server.Service.Connector等.这些容器都具有新建.初始化完成.启动.停止.失败.销毁等状态.tomcat的实现提 ...