当前位置:文档之家› X264码率参数解析

X264码率参数解析

X264码率参数解析
X264码率参数解析

x264的许多参数可以有-/--两种输入法,以下等价参数用“参数1/参数2 <必需数值格式>”表示

-I/--keyint <整数> 最大IDR帧间距,默认250,也是GOP的最大值.

-i/--min-keyint <整数> 最小IDR帧间距,默认25,也是GOP的最小值

IDR-frame就是该帧的另一边没有可参照的帧。IDR-Frame需要I-Frame,但是不是所有的I-Frame都是IDR-Frame。大多数情况x264会把场景的第一个帧做为IDR-Frame。

GOP意思是画面组,一个GOP就是一组连续的画面。在X264中GOP被定义为IDR帧之间的距离

建议值:

Blu-Ray设置为framerate的10被,其他设置为5~10倍。

min-keyint

IDR-frame之间的最短长度。

建议及默认值:

默认25,建议默认或者1xframerate。

--scenecut <整数> 画面动态变化限,当超出此值时插入I帧,默认40

设定I/IDR帧放置的阀值。x264会计算每个帧和前面帧的不同,如果不同值低于“scenecut”,那么就确定为是一个scenecut,如果同时又少于min-keyint帧数,那么就随后放置一个I-frame,否则会放置一个IDR-frame。这个值越高,增加scenecut被侦测的几率。

默认值40

-b/--bframes <整数> 在IP帧之间可插入的B帧数量最大值,范围0~16,默认3

设定x264最多能同时使用多少个b-frame,如果没有b-frame,那么x264的帧类型如下:IPPPPP...PI,如果--bframe 2,那么就最多两个连续的P可以被替换为B,比如IBPBBPBPPPB..PI

B-frame和P-frame的区别在于B可以对将来的帧使用动态预测(motion prediction)。可以显著的提高压缩率。平均质量通过pbratio参数控制。如果可能的话,用b-adapt来强制x264使用固定的B-frames。

--b-adapt <整数> 设定B-frame放置决定算法。

控制x264如何决定是放置一个B还是一个P帧。多pass下时,该参数仅对Pass1有效,因为在pass1中frame types就决定了。

如果是--b-adapt 2,--bframes越高会显著的降低压缩速度,但是没有太多的好处。一般设置为2~5。Blu-Ray 限制了最大B-frames到3。

如果不是--b-adapt 2,那么使用--bframes 16(怎么这么拗口...:lol),也就是最大值。这是最合适以及最快的压制参数。

即:--b-adapt影响到--b-frame的选择。

1.0,禁用。始终选择B-frames。等同与--no-b-adapt参数。

2.1,老式算法。更快,在高--b-frames的情况下略微提高速度。

3.2,新算法。速度慢,高--b-frames下时略微减慢速度。

建议参数

2,如果你不怕耽误时间的话。

--b-bias <整数> 控制插入B帧判定,范围-100~+100,越高越容易插入B帧,默认0

控制代替P-frames的B-frames的可能性。大于0的数值增加B-frames的权重,小于0的相反。不是数值型的,只是主观的度量。数值从-100~+100,100并不代表保证所有的P-frame会被替代,使用--b-badapt 0

效果更好。

建议参数

0,除非你认为你比x264更好的控制。

--b-pyramid 允许B帧做参考帧

如果没有这个设定那么只能用I/P帧。虽然I/P用起来效果更好(IP的画质好),但是B-frame同样可用。作为参考帧的B-frame会得到P-frame以及正常B-frame的一般quantizer(容器,编码器?)。在b-pyramid 工作前,至少需要2个B-frame。

参数有3种,

1.none,不使用B-frame作为参考帧。

2.strict,使用一个B-frame作为参考帧,是Blu-Ray规范制定的。(allow one B-frame per minigop

to be used as reference,什么是minigop...)

3.normal,允许多个B-frame作为参考帧。

默认以及建议参数

设置为Normal。如果是Blu-Ray,使用None或者Strict。

--no-cabac 关闭内容自适应二进制算术编码(CABAC,高效率的熵编码)(会提高速度,但严重影响质量)

建议值

建议使用CABAC。

-r/--ref <整数> 最大参考帧数,范围0~16,默认1

ref控制DPB(Decoded Picture Buffer)的大小。从0~16。这个值代表每个P-frame可以用来作为参考帧的个数。根据B-frames本身是否被用作参考帧,它用到的会少 1~2个。最小值为1。

需要注意的是ITU-T(国际电信联盟)标准限制了DPB以及每个level的ref数目。如果遵守 Level 4.1标准的话,1080p和720p的大小分别是4以及9。如果视频高度非标准高度,应该使用高一点的ref值。Blu- Ray和HD-DVD用到的就是Level 4.1标准,并且是众多播放器比如xbox,ps3所支持的最高标准。这也是为什么设置错误的ref会造成无法硬解的原因。

公式:

1.maximum ref = MaxDPB * 1024 / ( width * height * 1.5)

2.or

3.8388608/(宽x高)

建议及参考值

4~6。增加会造成质量降低以及速度损失。非常大的ref并不有效,但是16的ref在动画,视频游戏捕获,CGI记忆其他场合比较有效。

有个列表

1.1280x544,12

2.1280x720,9

3.1920x800,5

4.1920x816,5

5.1920x1080,4

--no-deblock 关闭环路滤波(一种除马赛克算法)

--deblock 设置环路滤波的AlphaC和Beta的参数,范围-6-6,默认都为0

两种Deblocking,称为Deblocking strength以及Deblocking threshold,分别对应Alpha Deblocking以及Beta Deblocking(官方名称)。

1.Alpha Deblocking,越高越有效,但是会摧毁细节,将图像变得平滑。默认0。一般在-3~3之间。

当使用cqm时,建议使用默认值,不能超过+/-2。

2.Beta Deblocking,决定在块中的东西是否是细节(detail),当Deblocking应用在他上面时。我

估计这玩意是用来判断哪些画面属于 block的。原文看后面。一般来说这个值不用修改。

3.一般来说,-3:-3比较流行。如果是动画的话,高一点比较好。

--interlaced 交错

默认没有设置。x264的interlaced encoding比progressive encoding效率更低。所以最好在压制前反交错一个源,而不是使用interlaced模式。

--slices --slice-max-size --slice-max-mbs 设定每个帧中的片。并且枪支直角slices。如果设定了slice-max-size或者slice-max-mbs则会覆盖掉slice。

后面两个,设定最大的slice大小(单位字节),包含estimated NAL overhead,以及设定macroblocks 中最大的slice大小。两者都和interlaced不兼容。

建议值:

不要使用slice,除非是blu-ray。用4。

码率控制

X264码率控制流程分析 码率控制的理论知识: 码率控制的目的和意义: 图像通信中码率控制的目的:通过调节编码参数,控制单位时间内的编码视频流的数据量,以使产生的比特流符合各种应用的需求。视频压缩的效率和视频内容有很大的关系,对于变化多样的画面,视频编码的输出的码流变化较大,在信道环境不好的时候就容易导致解码端显示的质量的不稳定。 率失真理论: 由于传输带宽和存储空间的限制,视频应用对压缩比有较高的要求。而无损编码较低的压缩比无法满足视频在实际应用中的需求。但如果给视频引入一定程度的失真,通常可以获得较高的压缩比。 率失真理论对有损压缩编码下的失真和编码性能之间的关系的描述,为码率控制的研究提供了坚实的理论依据。率失真理论主旨是描述编码失真度和编码数据速率的关系。该理论建立在图像是连续的基础上的,在有限数据速率下,由于存在量化误差,必然存在失真。当使用有损编码方法时,重建图像g(x,y)和原始图像f(x,y)之间存在差异,失真度D的函数形式在理论上是可以根据需要自由选取的,在图像编码中,D 常用均方差形式表示的,典型的率失真曲线。R(D)为D的凸减函数。 对于怎么选择哪个函数的率失真效果更好,则是比较哪个函数的率失真函数更为接近典型的率失真函数的曲线。 x264码率控制方法:采用的码率控制算法并没有采用拉格朗日代价函数来控制编码,而是使用一种更简单的方法,即利用半精度帧的SATD(sum of absolute transformed difference)作为模式选择的依据。SATD 即将残差经哈德曼变换的4×4块的预测残差绝对值总和,可以将其看作简单的时频变换,其值在一定程度上可以反映生成码流的大小。SATD是将残差经哈达曼变换4*4块的预测残差绝对值总和。自适应宏块层码率控制策略:X264的宏块没有任何码率控制的机制,其在帧层得到一个QP后,属于该帧的所有宏块都用着统一的QP进行量化。 码率控制性能测度: 1、比特率误差|ABR-TBR|/TBR ,越小越好。 2、编码器性能。 3、缓冲区满度与TBL的匹配程度。 4、跳帧数。 5、PSNR波动越小越好。 x264中码率控制的流程(对于重点函数在下面有注释): 1.在进行编码时,Encode--->x264_encoder_open(主要是进行参数的修订设置,进行初始 化)---->x264_ratecontrol_new 2.encode--->Encode_frame--->x264_encoder_encode--->x264_ratecontrol_slice_type 3.encode--->Encode_frame--->x264_encoder_encode--->x264_ratecontrol_start************** 4.encode--->Encode_frame--->x264_encoder_encode--->x264_ratecontrol_qp 5.encode--->Encode_frame--->x264_encoder_encode--->x264_slices_write--->x264_slice_write --->x264_ratecontrol_mb******************** 6.encode--->Encode_frame--->x264_encoder_encode--->x264_ratecontrol_end(在编完一帧过后)

qaac 2.15命令行参数

qaac 2.15 Usage: qaac [options] infiles.... "-" as infile means stdin. On ADTS/WAV output mode, "-" as outfile means stdout. Main options: --formats Show available AAC formats and exit -a, --abr AAC ABR mode / bitrate -V, --tvbr AAC True VBR mode / quality [0-127] -v, --cvbr AAC Constrained VBR mode / bitrate -c, --cbr AAC CBR mode / bitrate For -a, -v, -c, "0" as bitrate means "highest". Highest bitrate available is automatically chosen. For LC, default is -V90 For HE, default is -v0 --he HE AAC mode (TVBR is not available) -q, --quality AAC encoding Quality [0-2] --adts ADTS output (AAC only) -A, --alac ALAC encoding mode -d Output directory. Default is current working dir. --check Show library versions and exit. -D, --decode Wave output mode. -r, --rate keep: output sampling rate will be same as input if possible. auto: output sampling rate will be automatically chosen by encoder. n: desired output sampling rate in Hz. --lowpass Specify lowpass filter cut-off frequency in Hz. Use this when you want lower cut-off than Apple default. -b, --bits-per-sample Bits per sample of output (for WAV/ALAC only) --no-dither Turn off dither when quantizing to lower bit depth. --gain Adjust gain by f dB. Use negative value to decrese gain, when you want to avoid clipping introduced by DSP. -N, --normalize Normalize (works in two pass. generates HUGE tempfile for large input) --delay <[[hh:]mm:]ss[.ss..]|ns> Specify delay either by time or number of samples. When positive value is given, prepend silence at the begining to achieve delay of specified amount.

Locust命令行参数详解

Locust命令行参数详解 -h, --help 查看帮助 -H HOST, --host=HOST 被测试的主机地址,格式:http://10.21.32.33 --web-host=WEB_HOST Locust Web 页面的主机地址,默认为本机 -P PORT, --port=PORT, --web-port=PORT 被测试主机端口,默认8089 -f LOCUSTFILE, --locustfile=LOCUSTFILE 指定运行Locust 性能测试文件,默认为: locustfile.py --csv=CSVFILEBASE, --csv-base-name=CSVFILEBASE 以CSV格式存储当前请求测试数据 --master 分布式模式使用,指定当前节点为master 节点 --slave 分布式模式使用,指定当前节点为slave节点 --master-host=MASTER_HOST 分布式模式运行,设置master节点的主机或IP地址,只在与slave节点一起运行时使用,默认为:127.0.0.1 --master-port=MASTER_PORT 分布式模式运行,设置master节点的端口号,只在与slave节点一起运行时使用,默认为:5557。注意,slave节点也将连接到这个端口上的master节点 --master-bind-host=MASTER_BIND_HOST 绑定Locust的主机名,只有使用master参数时可用,默认为* --master-bind-port=MASTER_BIND_PORT 绑定Locust的端口,只有使用master参数时可用,默认为5557。注意Locust将使用这个端口,所以默认情况master节点将绑定到5557和5558

fastcopy命令行参数解释

fastcopy命令行参数解释 2011-06-17 16:05 fastcopy是一款复制删除文件的工具,为什么要用它,因为他比系统的复制删除要快,特别是文件超多,超大的情况下. FASTCOPY可以在WINDOWS下使用,也可以在DOS下运行命令 下面是FASTCOPY命令行方式: fastcopy.exe [/参数] file1 file2 ... [/to=dest_dir] 基本参数: /cmd=(noexist_only|diff|update|sync|force_copy|move|delete) noexist_only 复制-如重名,则不复制 diff 复制-如重名,则公复制大小与时间不同的文件 update 复制-如重名,则复制较新的源文件 sync 同步-如重名,则复制大小与时间不同的文件 force_copy 复制-覆盖重名文件 move 移动-覆盖重名文件并强行删除源文件 delete 删除-强行删除指定的文件与目录 /auto_close 拷贝结束后,自动关闭 /force_close 如果拷贝结束后,发生错误,也强行关闭 /open_window 显示Fastcopy窗口界面 /estimate 预测拷贝完成时间 /no_exec 对Fastcopy窗口界面设置参数,但是不执行 /no_confirm_del 当用/delete参数时,不显示确认界面 /error_stop 发生错误时中止动作(在/error_stop=FALSE抑制)

/bufsize=N(MB) 用MB单位来指定缓冲器大小 /speed=(full|autoslow|9-1(90%-10%)|suspend) 速度限制 /log 输出记录文件(fastcopy.log) (在/log=FALSE抑制) /skip_empty_dir 启用过滤,不拷贝空文件夹(在/skip_empty_dir=FALSE抑制) /job=任务名称执行指定的任务 /force_start 在其他的FastCopy拷贝,并且正执行的时候,执行立即也(在/force_start=FALSE抑制) /disk_mode=(auto|same|diff) 指定自动/恒等性/其他HDD方式。(债务不履行声明:) auto) /include="..." 指定Include过滤器 /exclude="..." 指定Exclude过滤器 /overwrite_del 在删除文件之前,删掉方式时,重新取名给重复&,使复原无效(在/overwrite_del=FALSE抑制) /acl 拷贝存取支配清单(ACL)(只NTFS有效)(在/acl=FALSE抑制) /stream 拷贝副其次线流(只NTFS有效)(在/stream=FALSE抑制) /junction 复制junction·mount point(不是属下)junction·mount point自己(/junction=FALSE 拷贝属下) /symlink 用象征性连接(而不是本质)拷贝象征性连接其本身(在/symlink=FALSE 拷贝本质) [/to=dest_dir] 目标磁盘 fastcopy.exe [/options] file1 file2 ... [/to=dest_dir] Please use space character(' ') as separator(not semicolon). If filename contains space character, please enclose with dobule quotation marks. Ex) fastopy.exe C:\Windows "C:\Program Files" /to="D:\Backup Folder\" 使用"做为分隔符 c:\Progra~1\FastCopy\FastCopy.exe /cmd=sync /auto_close /open_window "\\ztsv-xs\e\网络游戏\永恒之塔" /to="e:\games\online\"

H.264的码率控制策略

h.264的码率控制策略 本文详细讨论了H.264编码标准的码率控制结构,与MPEG-2的TM5模型进行了比较;并对JVT-G012提出的流量往返控制模型进行了探讨;最后对H.264码率控制提出了一些改进意见。 关键词:H.264 码率控制VBR CBR 一、引言 到目前为止,视频编码标准通常采用去除时空域相关性的帧内/帧间预测、离散余弦变换量化和熵编码技术,以达到较高的编码效率。对视频通信而言,由于通信信道带宽有限,需对视频编码码率进行控制,来保证编码码流的顺利传输和信道带宽的充分利用。针对不同的应用场合,学者们提出了多种码率控制(Rate Control)策略。其中,实时编码码率控制方法主要有两种:用先前宏块编码产生的比特数来预测当前宏块编码产生比特数,或者通过视频编码率失真函数来预测当前宏块编码产生的比特数。 码率控制算法[1]就是动态调整编码器参数,得到目标比特数。它为视频序列中的图像组GOP、图像或者子图像分配一定的比特。现有的码率控制算法主要是通过调整离散余弦变换的量化参数大小输出目标码率。实际上,量化参数(QP)反映了空间细节压缩情况,如QP小,大部分的细节都会被保留;QP增大,一些细节丢失,码率降低,但图像失真加强和质量下降。也就是说,QP和比特率成反比的关系,而且随着视频源复杂度的提高,这种反比关系会更明显。 码率控制有两种模式: VBR和CBR,即可变比特控制和固定比特控制。VBR模式是一种开环处理,输入为视频源和一个QP值。由于实际视频序列中的图像复杂度是不断变化的,细节多少、运动快慢等等,比特率也相应变化,不稳定。CBR模式是一种闭环处理,输入为视频源和目标比特。它根据对源复杂度估计、解码缓冲的大小及网络带宽估计动态调整QP,得到符合要求的码率。 二、H.264码率控制结构 作为新一代的视频压缩编码标准,H.264对多编码模式、编码参数自适应选择、上下文自适应熵编码、多参考帧的灵活选择、高精度预测、去方块滤波以及抗误码能力等方面进行了精雕细刻,采取了一系列切合实际的技术措施,大大提高了编码效率和网络自适应能力。 但H.264标准草案并没有很好地研究RC,主要精力放在了编码码流及解码方法上。它将QP同时用于码率控制算法和率失真优化,导致了蛋鸡悖论:为了计算当前帧中宏块的RDO,需利用当前帧或宏块的MAD预测每个宏块的QP,而每个当前帧或宏块的MAD只有在RDO后才能计算出。 H.264 码率控制方法的提案主要有两个[2]:JVT-F086中MPEG-2TM5改进

c语言中命令行参数argc,argv

main( int argc, char ** argv ) argv:指针的指针 argc:整数 char **argv or char *argv[] or char argv[][] 为了能形象的说明这两个参数的含义,我们先用一个实例来进行讲解: 假设程序的名称为test,当只输入test,则由操作系统传来的参数为: argc = 1,表示只有一程序名称; argc只有一个元素,argv[0]指向输入的程序路径及名称:./ test 当输入test para_1,有一个参数,则由操作系统传来的参数为: argc = 2,表示除了程序名外还有一个参数; argv[0]指向输入的程序路径及名称; argv[1]指向参数para_1字符串 当输入test para_1 para_2 有2个参数,则由操作系统传来的参数为: argc = 3,表示除了程序名外还有两个参数; argv[0]指向输入的程序路径及名称; argv[1]指向参数para_1字符串; argv[2]指向参数para_2字符串; 以此类推……………… void main( int argc, char *argv[] ) char *argv[]: argv是一个指针数组,元素个数是argc,存放的是指向每一个参数

的指针,第一个元素即argv[0]为程序运行的全路径名,从二个元素(argv[1])开始,是每一个参数的名称,最后一个元素为NULL。总的来说,即: * argv: 字符串数组 argv[0] 为程序运行的全路径名 argv[1] 为执行程序名后的第一个字符串; argv[2] 为执行程序名后的第二个字符串; ... argv[argc]为NULL。 int argc:表示argv的大小,是实际参数个数+1,其中+1是因为argv[0]是编译后的可执行文件名 main() 参数: Turbo C2.0启动时总是把argc、argv、env(存放环境变量)这三个参数传递给main()函数, 可以在用户程序中说明(或不说明)它们, 如果说明了部分(或全部)参数, 它们就成为main()子程序的局部变量。 请注意: 一旦想说明这些参数, 则必须按argc, argv, env 的顺序, 如以下的例子: main() main(int argc) main(int argc, char *argv[]) main(int argc, char *argv[], char *env[]) 其中第二种情况是合法的, 但不常见, 因为在程序中很少有只用argc, 而不 用argv[]的情况。 以下提供一样例程序EXAMPLE.EXE, 演示如何在main()函数中使用三个参数: /*program name EXAMPLE.EXE*/ #i nclude

面向自适应码率视频直播的码率控制算法

第45卷第$期V o l.45 N o.3计算机工程 C o m p u te r E n g in e e rin g 2019年3月 M a rc h2019 ?多媒体技术及应用?文章编号:1000#428(2019)0$-0268-05 文献标志码:A中图分类号:TN919.8 面向自适应码率视频直播的码率控制算法 詹亘,肖晶,陈宇静,陈军 (武汉大学计算机学院国家多媒体软件工程研究中心,武汉430079) 摘要:在自适应码率视频直播过程中,传统码率控制方法不能有效控制切片码率,导致客户端播放器自适应判断 失准,出现卡顿。为此,提出一种切片层级的码率控制算法。在切片内部使用基于帧类型的码率分配策略,提出关 键P帧的概念,通过调整关键P帧的分布来优化不同视频内容下的码率分配。建立基于S A T D和量化系数的线性 预测模型,利用模型迭代调整每行的量化系数,进而控制整帧的编码大小。实验结果表明,该算法可以准确控制切 片码率,保证视频质量。 关键词:视频直播;自适应码率;视频编码;码率控制;量化参数 中文引用格式:詹亘,肖晶,陈宇静,等.面向自适应码率视频直播的码率控制算法[J].计算机工程,2019,45(3):268-272. 英文引用格式:Z H A N G en,X IA O J in g,C H E N Y u j in g,et a l.B it-rate control algorithm for adaptive bit-rate live streaming*J]. Computer Engineering,2019,45 (3) :268 -272. Bit-rate Control Algorithm for Adaptive Bit-rate Live Streaming Z H A N G e n,X IA O J in g,C H E N Y u jin g,C H E N Jun (National Engineering Research Center for Multimedia Software,School of Computer,Wuhan Universit;^,Wuhan 430079,China) [A b s tr a c t]As tra d itio n a l rate control methods cannot e ffe ctive ly control the segment size in adaptive bit-rate liv e stream ing,the bitrate adaption o f video player is affected by the fluctu ation o f segment s iz e,and t decisions,resulting in the delay on the client side.To s o lv e th is p ro b le m,a segment level rate control algorithm is proposed.B it allocation strategy based on fram e type is used inside each segment.The concept o f key P-fram e is and the d istribu tion o f key P-fram e is adjusted to optim ize the allocation under d iffe re n t video contents.A t the same tim e, a linear prediction m odel based on S A T D and Q uantization Param eter#Q P)is b u ilt,and the Q P o f each row is adjusted itera tively to control the coding size o f the w hole fram e.E xperim ental results show that the p control the bit-rate o f segment precisely and ensure the video q u a lity. [K e y w o rd s]liv e stream ing;adaptive b it-ra te;video c o d in g;bit-rate c o n tro l;Q uantization Param eter#Q P) D O I:10.19678/j.issn.1000-3428.0050413 〇概述 随着流媒体技术的不断发展、移动通信网络环 境的改善以及智能终端设备的普及,视频直播因其 实时性和互动性,成为互联网内容生产的重要载体。由于终端设备和网络存在异构性,为了给用户提供 持续、可靠、高质量的观看体验,动态码率自适应技 术[1]越来越多地运用于视频直播服务中,如T w itc h 使用H L S(H T T P L iv e S tre a m in g)[2]作为直播的主要 技术,而 Y o u T u b e 则采用 D A S H(D y n a m ic A d a p tiv e S trea m ing o v e r H T T P)[3]技术。 码率自适应技术是一种能够根据网络状况自适应切换视频质量的方法[4],需要服务器端将原始码 流转换为多码率的版本,每个码率的视频又被切分 为一定时长的视频切片供客户端下载。客户端播放 器通过监测网络、内存、C P U等的状况,选择合适码 率的切片下载,在有限、时变的网络带宽条件下保证 流畅、高质量的视频服务。 由于无法预知每个切片的实际大小,因此播放 器通过转码时设定的视频平均码率进行选择,切片 码率相对于设定值的波动会影响播放器的决策效 果。如果切片码率远超设定值,切片下载时间超出 预期,则客户端会出现卡顿的情况。如果切片码率 远低于设定值,则会导致带宽浪费。因此,码率控 基金项目:湖北省技术创新专项重大项目(2016AAA015)。 作者简介:詹亘(1990—),男,硕士研究生,主研方向为视频编码、流媒体传输;肖晶,副教授;陈宇静,硕士研究生;陈军,教授。收稿日期:2018-02-05 修回日期:2018-03-15 E-ma i l:zhangen90@ sina. com

Chrome 的可用命令行参数

谷歌浏览器Google Chrome 的可用命令行参数 -allow-all-activex 允許所有的ActiveX -always-enable-dev-tools 始终启用-DEV-工具 -app 应用程序 -assert-test断言测试 -automation-channel 自动化通道 -channel 渠道 -crash-test 碰撞试验 -debug-children 调试儿童 -debug-print 调试打印 disable-accelerated-compositing 禁用加速 disable-winsta 禁用渲染备用窗口 disable-application-cache 禁用应用程序缓存 disable-apps 禁用应用程序 disable-audio 禁用音频 disable-auth-negotiate-cname-lookup disable-background-networking 禁用后台联网 disable-backing-store-limit 禁用存储数量限制,可以防止在打开大量的标签窗口时,页面出现闪烁的现象。 disable-byte-range-support 禁用缓存的支持字节范围 disable-click-to-play 禁用点击播放 disable-connect-backup-jobs 如果超过指定的时间,则禁用建立备份的TCP连接disable-content-prefetch 禁用内容预取 disable-custom-jumplist 禁用Windows 7的JumpList自定义功能 disable-databases 禁用HTML5的数据库支持 disable-desktop-notifications 禁用桌面通知(默认窗口启用) disable-dev-tools 禁用所有页面的渲染检测 disable-device-orientation 禁用设备向导 disable-webgl 禁用WebGL实验功能 disable-extensions 禁用扩展 disable-extensions-file-access-check 禁用扩展文件访问检查 disable-geolocation 禁用地理位置的JavaScript API disable-glsl-translator 禁用GLSL翻译 disable-hang-monitor 禁止任务管理器监视功能 disable-internal-flash 禁用内部的Flash Player disable-ipv6 禁用IPv6 disable-preconnect 禁用TCP/IP协议 disable-javascript 禁用JS disable-java 禁用Java disable-local-storage 禁用本地存储 disable-logging 禁用调试记录 disable-new-tab-first-run 禁用新标签显示的通知 disable-outdated-plugins 禁用过时的插件

单通道视频编码的可变码率控制方法

收稿日期!!""#$$"=%!!!!!!浙江大学学报"工学版#网址!&&&%’()*+,-.%/’)%01)%2+"0+3作者简介!陈建乐#$454$%&男&浙江温州人&博士生&从事多媒体音视频压缩’传输方面的研究%89:,;-!’-2A 0+!/’)%01)%2+第#4卷第#期 !""=年#月浙!江!大!学!学!报"工学版#>()*+,-(?@A 0’;,+3B +;C 0*.;D E "8+3;+00*;+3F 2;0+20#G (-%#4H (%#I ,*%!""= 单通道视频编码的可变码率控制方法 陈建乐!刘济林!王兴国!陈国斌 #浙江大学信息与电子工程学系&浙江杭州#$""!5 %摘!要!为提高实时视频编码的图像质量&提出了一种低复杂度单通道视频编码的可变码率#G ]\% 控制算法%通过简化经典率失真\9V 模型推导得到图像复杂度和空间活动性的线性公式& 根据运动估计过程的残差信息计算当前编码图像的复杂度% 在编码过程中&动态地改变该公式的参数来适应各种不同的视频场景%利用图像复杂度和编码比特数的线性模型来分配当前图像的目标编码比特数&同时结合先前实际编码比特率和期望比特率之间的偏差调 整目标比特数%实验结果表明&该算法可以有效地进行码率控制&对场景复杂度变化有很强的适应性&得到相对平稳 的图像质量%与JI =算法相比&平均峰值信噪比#U F H \%提高了"%5#$%"1]% 关键词!可变码率控制(视频编码(比特数分配(率失真模型 中图分类号!J H 4$4%6$!!!!!!!文献标识码!M !!!!!!!文章编号!$""645#N #!""=%"##45"= P ’$%’+.0%.$’.)1"+.$"#’#("$%./&?"$,%+(#)C :’,,2%*)")+1"*%+( S [8H>;,+9-0&^‘B>;9-;+&OM H P N ;+393 )(&S [8H P )(9R ;+#N ’,/-$+’"$()!")(-+/$%("/"2O M ’1$-("%1O "3%"’’-%"3&50’6%/"37"%8’-#%$9&:/"3 ;0(&#$""!5&*0%"/%30,.$’1.!J (;:Q *(C 0D A 0;:,30T ),-;D E (?*0,-D ;:0C ;10(0+2(10*&,-(&2(:Q -0X ;D E C ,*;,+DR ;D*,D 0#G ]\%2(+D *(-,-3(*;D A :?(*.;+3-09Q ,..C ;10(0+2(1;+3&,.Q *(Q (.01%M-;+0,*0T ),D ;(+R 0D &00+2(:Q -0X 9;D E ,+1.Q ,D ;,-,2D ;C ;D E (?;:,301,D ,&,.10*;C 01R E .;:Q -;?E ;+3D A 02-,..;2,-*,D 01;.D (*D ;(+#\9V %:(10-%J A 00T ),D ;(+Q ,*,:0D 0*.&0*0E ;0-1011E +,:;2,--E D (,1,Q D D (C ,*;().C ;10(.20+0.1)*;+3D A 00+2(1;+3Q *(201)*0%J A 02(:Q -0X ;D E (?2)**0+D Q ;2D )*0&,.2(:Q )D 01&;D A D A 0;+?(*:,D ;(+;+D A 0:(D ;(+0.D ;:,D ;(+%J A 0Q *(Q (.01,-3(*;D A :0:Q -(E 01D A 0-;+0,**0-,D ;(+.A ;Q R 0D &00+R ;D +):R 0*,+1Q ;2D )*02(:Q -0X ;D E D (,-9-(2,D 0D ,*3 0D R ;D+):R 0*(?2)**0+D Q ;2D )*0%I 0,+&A ;-0&D A 010C ;,D ;(+R 0D &00+Q *0C ;().,2D ),--E 0+2(101R ;D *,D 0,+10X Q 02D 01R ;D *,D 0&,.).01D (,1’).D D ,*30DR ;D+):R 0*%8X Q 0*;:0+D ,-*0.)-D ..A (&D A ,D D A 0Q *(Q (.01,-3(*;D A :2,+;:Q -0:0+D ,.:((D A T ),+D ;D ,D ;C 0C ;10(T ),-;D E ,+1;:Q *(C 0Q 0*20Q D ),-T ),-;D E 1*,9:,D ;2,--E %S (:Q ,*01&;D AJI =&D A 0,C 0*,30Q 0,c.;3+,-9+(;.0*,D ;(#U F H \%3 ,;+;.,R ()D "%5#$%"1]%4)5- "$*,!C ,*;,+D R ;D *,D 02(+D *(-(C ;10(0+2(10(R ;D ,--(2,D ;(+(\9V :(10-!!码率控制作为视频编码算法的关键组成部分& 直接影响着编码性能%针对具体应用需求&选择合理 的码率控制方案&是视频编码的一个重要研究方向% 许多实时编码系统都输出恒定码率#2(+.D ,+DR ;D 9 *,D 0&S ]\% 的视频流%传统码率控制策略利用视频输出缓冲区的饱和度和图像复杂度来控制编码参 量%在视频信号是平稳随机过程假设的基础上& JI =提出了基于图组#3*()Q (?Q ;2D )*0&P L U %分配目标比特的恒定码率控制)$*%^;:;+)!*’李黚江等人)#*提出了变长P L U 码率控制方法&以适应场景切换%但S ]\控制算法存在内在缺陷&不能提供稳定的视频服务质量%G ]\码率控制允许码率根据场景的复杂度在一定范围内变化&因而能够获得近似恒定的视频服务质量%多通道编码是G ]\编码经常采用的方法)Z &=*% 从编码质量角度上&多通道编码具有非常高万方数据

HEVC码率控制算法研究

目录 第一章 绪论 (1) 1.1引言 (1) 1.2视频压缩编码标准概述 (1) 1.3码率控制技术的发展 (2) 1.4本文主要内容及章节安排 (3) 第二章 HEVC视频编码标准 (4) 2.1概述 (4) 2.1.1 HEVC的兴起和发展 (4) 2.1.2 HEVC标准的主要特点 (5) 2.1.3 HEVC技术的应用和前景 (6) 2.2HEVC编码器框架 (7) 2.2.1 HEVC整体框架 (7) 2.2.2 HEVC的编码器配置 (8) 2.3HEVC视频编码标准关键技术 (10) 2.3.1 HEVC四叉树的分割技术 (10) 2.3.2 HEVC帧内预测 (12) 2.3.3 HEVC帧间预测 (14) 2.3.4 变换和量化 (15) 2.4本章小结 (17) 第三章 HEVC中的码率控制 (18) 3.1码率控制的原理 (18) 3.2经典率失真函数和码率控制模型 (19) 3.2.1 二次RQ模型 (20) 3.2.2ρ域模型 (21) -模型 (22) 3.3JCTVC-K0103的Rλ 3.3.1 算法理论基础 (22) 3.3.2 算法流程 (24) 3.3.3 算法存在的问题 (26) V

3.4 本章小结 (26) 第四章 低时延码率控制算法 (27) 4.1适用于低延时的帧级比特分配算法 (28) 4.1.1 虚拟缓冲模型 (28) 4.1.2 基于缓冲区状态的帧级比特分配方案 (31) 4.2基于权重的CTU级比特分配算法 (33) 4.2.1 基于Rλ -模型的CTU比特权重计算 (33) 4.2.2 基于权重和缓冲区的CTU级比特分配算法 (34) 4.3实验结果及分析 (35) 4.3.1 实验的方法及环境 (35) 4.3.2 整体性能分析 (36) 4.3.3 模块性能分析 (37) 4.4本章小结 (42) 第五章Rλ -模型在I帧的优化 (44) 5.1针对I帧码率控制Rλ -的优化模型 (44) 5.2基于优化模型的I帧码率控制 (46) 5.2.1 比特分配方案 (46) 5.2.2 量化参数的计算 (48) 5.2.3 模型参数的更新 (48) 5.3实验结果与分析 (49) 5.3.1 全I帧编码 (49) 5.3.2模拟场景切换 (52) 5.4本章小结 (55) 第六章 总结与展望 (56) 参 考 文 献 (57) 致 谢 (60) 攻读硕士学位期间已发表或录用的论文 (61) VI

x264实时编码的码率控制--一个简单的QP调节方法

x264实时编码的码率控制 一个简单的QP调节方法 在用x264做实时视频,由于用在智能手机上,计算能力有限,网络带宽有限,故设计了一个简单的新的码率控制算法,效果还不错,与大家分享。 一般做实时视频,x264作者推荐用vbv-CBR模式,这样来稳定码流,适应带宽。 但对于嵌入式系统,CBR模式计算量较大。CBR模式需要进行前期的半精度SATD值计算,以得到图像复杂度,进而得到预计的bits(这一SATD还用在slice type的选择,实际这个计算过程的函数就叫slice_type_decision,在lookaheand_get_frame中);通过预计bits与期望bits的比较得到qscale,进而得到本编码帧的QP。当然若用上mb_tree,aq_mode 还更复杂。 这一前期的计算过程大致占整个计算量的12%-20%(根据参数的不同),但若略去这步,使用固定QP,码率波动较大。 现设计了一个新的模式,利用帧间的相似性,根据上一帧编码的实际bits与期望bits的差,来调节QP(帧级调整)。实现上的思路也很简单,利用CQP模式的壳,在每帧编码前再次调节QP。 需要采用参数如下: --bframes 0 不要B帧 对于嵌入式,手机等系统,建议采用: --scenecut 0---(不需额外增加i 帧,由于实时不需b帧,故一个GOP组中,只有一个IDR 帧及其余的P帧); --subme 1 1/4精度的SAD值 --no-8x8dct (这个是high profile, 不需要,同样可加快编码,节省码流) --partition none 不要划分(可提高编码速度,节省码流,psnr基本不变) 其余参数可参见,x264 --preset-veryfast的参数配置; 好了接下来是帧级的码流控制,即调节QP; 1. 在x264参数中添加新码率控制的参数(get_opt函数),如:--newqp 2. 这个newqp与CQP,可以起使用。 可照常使用--qp 的形式给出初始qp,若无,则初始默认为23; 3. 控制流程: 1)在本帧编码前,获取上一编码帧的实际大小,单位最好用bit, 这样便于后面的调节; 2)根据设定的bitrate,得到期望的编码帧实际大小,即bitrate/fps (此处的FPS是输

中文版MeGUI的x264编码配置详细解读

本帖最后由宁战网络于2012-7-30 14:58 编辑 中文版MeGUI的x264编码配置详细解读 有人向往和膜拜科班出身的,这个我同意,但若无视艹根的存在,那么我很生气,往往是民间高手如林,自己何必妄自菲薄。一早我也说过不敢在压制的方向前进,那是因为这是个苦力不讨好的工作,有空我还不如多看看美女…… 只要关注,网络上的东西随处可以学习到,就对这个x264编码配置来说,网络上的资源多如脚毛。我嫉妒恨的是科班出身的总会先天就有优势,民间人士门要蛋定,不要比,不要计较,自己玩自己的,不用理正统不正统。我们的优势在于,科班人士再厉害他也没有拍电影也没做导演也没潜了哪个女优,嘎嘎,扯远了。 本文主要讲解x264编码的设置问题,是对应本人推荐的中文版MeGUI所做的一次详细配置论述,请用英文版的英雄路过不要取笑,也应该不要盲目的路过。我还是传统的图文方式来一起研究,当然我说的不一定对,那是因为网络上也是这么教的,可能一直都错着我也用错的来说,在这次解释中,我会用一些自己理解的来说话,也许更能让民间人士理解。 普及一下别的知识,在各大影视论坛基本不允许发布以RMVB格式的影片,你只要用上x264的编码就意味着你和RMVB说88了。民间人士普遍认为RMVB体积小画面清晰,但科班的人士会用理论的知识告诉你,同样的片源和同样的码率下,x264的mkv绝对比rmvb画质更好,文件更小。这是为什么?你要问这是为什么?那是因为x264的编码机制发挥了无法想像的作用,你只要实践了就会明白这是真的,打住不说了反正就像磁带被光盘取代,windows98被xp顶上。 科班厉害之处是懂得比较多,早前的x264.exe是命令参数实现压制的,DOS级的工具很怕黑的就不要尝试了。GUI,是图形界面操作,适合民间高手使用。曾被科班出身的嘲笑过,说使用MeGU压制的都是水货,嘎嘎,我笑笑不能回答。科班告诉我就这GUI不是只有Me 的,这下你明白没?像ripbot、staxrip 等都是GUI……行了行了,民间人士也不用惭愧,至少MeGUI能自动更新编码,还有汉化版可以用,batch的是高手,不和他们一起玩! 安装MeGUI简体中文版(请回顾本人以前的大作,这里略去几百万字……)仿图挂,可下载 中文版MeGUI的x264编码配置详细解读或是到QQ空间查阅软件下载转到论坛页面以前的中文版本MeGUI太不专业了,直到你碰到我这个民间人士才集合了比较强大的中文版MeGUI,不要怕出错,出错不是你的错。等弄得差不多了可以还原成英文版更新你的编码,更上一层楼,英盲也用英文版,没人敢笑你。 正题: 在MeGUI用内置工具AVS创建一个简单脚本(这里暂时不介绍AVS的各种滤镜使用参数),要求在点击DirectShowsource(手工、专业)能弹出视频预览窗就可以保存AVS了。此时内建的AVS会自动加载到MeGUI 主界面,进入本文主题压制参数x264配置。

芯片码率控制使用说明

芯片码率控制使用说明 文档版本01 发布日期2015-02-10

版权所有 ? 深圳市海思半导体有限公司2015。保留一切权利。 非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。 商标声明 、、海思和其他海思商标均为深圳市海思半导体有限公司的商标。 本文档提及的其他所有商标或注册商标,由各自的所有人拥有。 注意 您购买的产品、服务或特性等应受海思公司商业合同和条款的约束,本文档中描述的全部或部分产品、服务或特性可能不在您的购买或使用范围之内。除非合同另有约定,海思公司对本文档内容不做任何明示或默示的声明或保证。 由于产品版本升级或其他原因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为使用指导,本文档中的所有陈述、信息和建议不构成任何明示或暗示的担保。 深圳市海思半导体有限公司 地址:深圳市龙岗区坂田华为基地华为电气生产中心邮编:518129 网址:https://www.doczj.com/doc/eb16165081.html, 客户服务电话:+86-755-28788858 客户服务传真:+86-755-28357515 客户服务邮箱:support@https://www.doczj.com/doc/eb16165081.html,

前言 概述 本文档主要介绍芯片码率控制v1和v2两个算法的参数意义和使用方法。对码率控制中 常见的问题,特别是低码率场景的参数调节方法做了专题介绍。 本文仅适用于H.264编码。 产品版本 与本文档相对应的产品版本如下。 产品名称产品版本 Hi3518A V100 Hi3518C V100 Hi3518E V100 Hi3516C V100 Hi3531 V100 Hi3532 V100 Hi3521 V100 Hi3520A V100 Hi3520D V100/V200 Hi3515A V100 Hi3515C V100 Hi3535 V100

相关主题
文本预览
相关文档 最新文档