ImageVerifierCode 换一换
格式:DOCX , 页数:31 ,大小:38.42KB ,
资源ID:16907492      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16907492.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(FFmpegX264编码参数Word格式文档下载.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

FFmpegX264编码参数Word格式文档下载.docx

1、 为提高ssim做了优化的参数; fastdecode: 可以快速解码的参数;zerolatency:零延迟,用在需要非常低的延迟的情况下,比如电视电话会议的编码。3.一些编码建议编码延时降低x264的延时是可能的,但是会降低质量。若需零延时,设置-tune zerolatency。若你可以接受一点儿小延时(如小于1秒),最好还是允许延时。下列步骤可以降低延迟,当延迟足够小时,就别再进行后续步骤了:1.从初始值开始2.关闭sync-lookahead(设置用于线程预测的帧缓存大小。最大值是250.在第二遍及更多遍编码或基于分片线程时自动关闭)3.降低rc-lookahead,但别小于10(设定

2、mb-tree位元率控制和vbv-lookahead使用的帧数)4.降低threads(比如从12降到6)5.使用切片线程(sliced threads)6.禁用rc-lookahead7.禁用b-frames8.实在不行,就用-tune zerolatencyparam-rc.i_lookahead = 0;i_sync_lookahead = 0; param-i_bframe = 0;b_sliced_threads = 1;b_vfr_input = 0;rc.b_mb_tree = 0;(使用宏块树位元率控制会改善整体压缩率)x264线程x264起多少个线程比较好 ?建议线程数:1、

3、2、4、8测试结论:1、更多的线程会消耗更多总CPU时间片,因此在长期满载的机器上不宜使用多线程。2、获得的时间收益随线程增多呈递减趋势,8线程以后尤为明显。3、PNSR下降随线程数增加呈抛物递增趋势,16线程增加到24线程PSNR时下降了0.6之巨。4、设置threads=auto时,线程数为逻辑CPU个数的1.5倍。x264各类型帧的大小及编码耗时 注:作参考,未必属实。I帧、B帧、P帧都极大地受编码参数的影响。通常情况下:h264编码的帧由大到小依次为:I P B(互相之间约有5倍的差距)x264的编码耗时由长到短依次为:P B I通常而言,较小的帧因为帧内压缩计算量(deblock、c

4、abac等)小,所以耗时相对短。P帧的编码耗时长是因为帧间压缩(宏块寻找、运动补偿等)耗时长所以提高了总体耗时。另外:可以修改x264中的x264_slices_write函数来测量不同类型帧的编码耗时。4.ffmpeg编码参数和x264参数对照下面表中涉及的参数直接在AVCodecContext结构中设置:FFmpeg optionx264 optionCodeConsolegop_size-g keyint i_keyint_maxbit_rate-b bitraterc.i_bitraterc_buffer_size-bufsize vbv-bufsizerc.i_vbv_buffer_

5、sizerc_max_rate-maxrate vbv-maxraterc.i_vbv_max_bitratemax_b_frames-bf bframesi_bframekeyint_min -keyint_min min-keyinti_keyint_minscenechange_threshold-sc_threshold scenecuti_scenecut_thresholdqmin-qmin qpminrc.i_qp_minqmax-qmax qpmaxrc.i_qp_maxmax_qdiff -qdiff qpsteprc.i_qp_stepqcompress-qcomp qco

6、mprc.f_qcompressqblur-qblur qblurrc.f_qblurRefs-refs refi_frame_reference me_method-me_method meanalyse.i_me_methodmerange -me_range merangeanalyse.i_me_rangeme_subpel_quality-subq submeanalyse.i_subpel_refinetrellis -trellis trellisanalyse.i_trellisnoise_reduction -nr nranalyse.i_noise_reductionlev

7、el-level leveli_level_idcbit_rate_tolerance-bt ratetol = -bt / -brc.f_rate_tolerancerc_initial_buffer_occupancy-rc_init_occupancy vbv-init = -rc_init_occupancy / -bufsizerc.f_vbv_buffer_initb_quant_factor-b_qfactor pbratiorc.f_pb_factorchromaoffset-chromaoffset chroma-qp-offsetanalyse.i_chroma_qp_of

8、fsetthread_count-threads threadsi_threadsme_cmp-cmp chroma-meanalyse.b_chroma_methread_typesliced_threadsb_sliced_threadsAVCodecContext结构中priv_data可设置的参数见下表:priv_data(即X264Context option)presettuneprofilefastfirstpassstatswpredpx264optscrfcrf_maxcqpaq_modeaq_strengthpsypsy_rdrc_lookaheadweightbweigh

9、tpssimintra_refreshb_biasb_pyramidmixed_refsdct8x8fast_pskipaudmbtreedeblockcplxblurpartitionsdirect_predslice_max_sizenal_hrdx264_params其余x264参数设置,见下面格式,多个参数用冒号(:)隔开:av_opt_set(AVCodecContext-priv_data, x264opts, sync-lookahead=0: sliced-threads, 0);5.x264参数说明下面说明不是最新版本,最新版本请参考x264 -fullhelp预设为了减少使

10、用者花费时间和精力在命令列上而设计的一套系统。这些设定切换了什么选项可以从x264 -fullhelp的说明里得知。预设值:无 限制输出资料流的profile。如果指定了profile,它会覆写所有其他的设定。所以如果指定了profile,将会保证得到一个相容的资料流。如果设了此选项,将会无法使用无失真(lossless)编码(-qp 0或-crf 0)。如果播放装置仅支援某个profile,则应该设此选项。大多数解码器都支援High profile,所以没有设定的必要。可用的值:baseline, main, high medium 变更选项,以权衡压缩效率和编码速度。如果指定了预设,变更的

11、选项将会在套用所有其他的参数之前套用。通常应该将此设为所能忍受的最慢一个选项。ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow, placebo ultrafast-no-8x8dct -aq-mode 0 -b-adapt 0-bframes 0 -no-cabac -no-deblock-no-mbtree -me dia -no-mixed-refs-partitions none -rc-lookahead 0 -ref 1-scenecut 0 -subme 0 -trellis

12、0-no-weightb -weightp 0Superfast-no-mbtree -me dia -no-mixed-refs -partitions i8x8,i4x4 -rc-lookahead 0 -ref 1-subme 1 -trellis 0 -weightp 1analyse.inter = X264_ANALYSE_I8x8|X264_ANALYSE_I4x4;analyse.i_me_method = X264_ME_DIA;analyse.i_subpel_refine = 1;i_frame_reference = 1;analyse.b_mixed_referenc

13、es = 0;analyse.i_trellis = 0;analyse.i_weighted_pred = X264_WEIGHTP_SIMPLE;调整选项,以进一步最佳化为视讯的内容。如果指定了tune,变更的选项将会在-preset之后,但所有其他的参数之前套用。如果视讯的内容符合其中一个可用的调整值,则可以使用此选项,否则不要使用。film, animation, grain, stillimage, psnr, ssim, fastdecode, zerolatency slow-firstpass使用-pass 1会在解析命令列的最后套用以下设定:-ref 1 -no-8x8dct

14、 -partitions i4x4 (如果最初有启用,否则为无) -me dia -subme MIN(2, subme) -trellis 0 可以使用-slow-firstpass来停用此功能。注意,使用-preset placebo也会启用slow-firstpass。参阅:-pass 帧类型选项keyint250 设定x264输出的资料流之最大IDR帧(亦称为关键帧)间隔。可以指定infinite让x264永远不要插入非场景变更的IDR帧。IDR帧是资料流的“分隔符号”,所有帧都无法从IDR帧的另一边参照资料。因此,IDR帧也是I帧,所以它们不从任何其他帧参照资料。这意味着它们可以用作

15、视讯的搜寻点(seek points)。注意,I帧通常明显大于P/B帧(在低动态场景通常为10倍大或更多),所以当它们与极低的VBV设定合并使用时会打乱位元率控制。在这些情况下,研究-intra-refresh。预设值对于大多数视讯没啥问题。在为蓝光、广播、即时资料流或某些其他特殊情况编码时,可能需要更小的GOP长度(通常等于帧率)。-min-keyint, -scenecut, -intra-refresh min-keyint自动 (MIN(-keyint / 10, -fps) 设定IDR帧之间的最小长度。IDR帧的说明可以参阅-keyint。过小的keyint范围会导致“不正确的”ID

16、R帧位置(例如闪屏场景)。此选项限制在每个IDR帧之后,要有多少帧才可以再有另一个IDR帧的最小长度。min-keyint的最大允许值是-keyint/2+1。建议:预设值,或者等于帧率 -keyint, -scenecut no-scenecut完全停用弹性I帧决策(adaptive I-frame decision)。-scenecut scenecut40 设定I/IDR帧位置的阈值(场景变更侦测)。x264为每一帧计算一个度量值,来估计与前一帧的不同程度。如果该值低于scenecut,则算侦测到一个“场景变更”。如果此时与最近一个IDR帧的距离低于-min-keyint,则放置一个I帧

17、,否则放置一个IDR帧。越大的scenecut值会增加侦测到场景变更的数目。场景变更是如何比较的详细资讯可以参阅http:/forum.doom9.org/showthread.php?t=121116。将scenecut设为0相当于设定-no-scenecut。预设值 -keyint, -min-keyint, -no-scenecut intra-refresh停用IDR帧,作为替代x264会为每隔-keyint的帧的每个巨集区块(macroblock)使用内部编码(intra coding)。区块是以一个水平卷动的行刷新,称为刷新波(refresh wave)。这有利于低延迟的资料流,使

18、它有可能比标准的IDR帧达到更加固定的帧大小。它也增强了视讯资料流对封包遗失的恢复能力。此选项会降低压缩效率,因此必要时才使用。有趣的事:第一帧仍然是IDR帧。内部区块(Intra-blocks)仅处于P帧里,刷新波在一或多个B帧后的第一个P帧更广泛。压缩效率的损失主要来自于在刷新波上左侧(新)的巨集区块无法参照右侧(旧)的资料。bframes3 设定x264可以使用的最大并行B帧数。没有B帧时,一个典型的x264资料流有着像这样的帧类型:IPPPPP.PI。当设了-bframes 2时,最多两个连续的P帧可以被B帧取代,就像:IBPBBPBPPPB.PI。B帧类似于P帧,除了B帧还能从它之后

19、的帧做动态预测(motion prediction)。就压缩比来说效率会大幅提高。它们的平均品质是由-pbratio所控制。x264还区分两种不同种类的B帧。B是代表一个被其他帧作为参照帧的B帧(参阅-b-pyramid),而b则代表一个不被其他帧作为参照帧的B帧。如果看到一段混合的和,原因通常与上述有关。当差别并不重要时,通常就以代表所有B帧。x264是如何为每个候选帧选定为P帧或B帧的详细资讯可以参阅http:/article.gmane.org/p.video.ffmpeg.devel/29064。在此情况下,帧类型看起来会像这样(假设-bframes 3):IBBBPBBBPBPI。-

20、b-bias, -b-pyramid, -ref, -pbratio, -partitions, -weightb b-adapt1 设定弹性B帧位置决策演算法。此设定控制x264如何决定要放置P帧或B帧。0:停用,总是挑选B帧。这与旧的no-b-adapt设定相同作用。1:“快速”演算法,较快,越大的-bframes值会稍微提高速度。当使用此模式时,基本上建议搭配-bframes 16使用。2:“最佳”演算法,较慢,越大的-bframes值会大幅降低速度。注意:对于多重阶段(multi-pass)编码,仅在第一阶段(first pass)才需要此选项,因为帧类型在此时已经决定完了。b-bia

21、s0 控制使用B帧而不使用P帧的可能性。大于0的值增加偏向B帧的加权,而小于0的值则相反。范围是从-100到100。100并不保证全是B帧(要全是B帧该使用-b-adapt 0),而-100也不保证全是P帧。仅在你认为能比x264做出更好的位元率控制决策时才使用此选项。-bframes, -ipratio b-pyramidnormal 允许B帧作为其他帧的参照帧。没有此设定时,帧只能参照I/P帧。虽然I/P帧因其较高的品质作为参照帧更有价值,但B帧也是很有用的。作为参照帧的B帧会得到一个介于P帧和普通B帧之间的量化值。b-pyramid需要至少两个以上的-bframes才会运作。如果是在为蓝

22、光编码,须使用none或strict。none:不允许B帧作为参照帧。strict:每minigop允许一个B帧作为参照帧,这是蓝光标准强制执行的限制。normal:每minigop允许多个B帧作为参照帧。-bframes, -refs, -no-mixed-refs open-gopnone open-gop是一个提高效率的编码技术。有三种模式:停用open-gop。启用open-gop。bluray:一个效率较低的open-gop版本,因为normal模式无法用于蓝光编码。某些解码器不完全支援open-gop资料流,这就是为什么此选项并未预设为启用。如果想启用open-gop,应该先测试所

23、有可能用来拨放的解码器。open-gop的说明可以参阅http:p=1300124#post1300124。no-cabac停用弹性内容的二进位算数编码(CABAC:Context Adaptive Binary Arithmetic Coder)资料流压缩,切换回效率较低的弹性内容的可变长度编码(CAVLC:Context Adaptive Variable Length Coder)系统。大幅降低压缩效率(通常1020%)和解码的硬体需求。ref控制解码图片缓冲(DPB:Decoded Picture Buffer)的大小。范围是从0到16。总之,此值是每个P帧可以使用先前多少帧作为参照帧

24、的数目(B帧可以使用的数目要少一或两个,取决于它们是否作为参照帧)。可以被参照的最小ref数是1。还要注意的是,H.264规格限制了每个level的DPB大小。如果遵守Level 4.1规格,720p和1080p视讯的最大ref数分别是9和4。-b-pyramid, -no-mixed-refs, -level no-deblock完全停用循环筛选(loop filter)。不建议。-deblock 0:控制循环筛选(亦称为持续循环去区块(inloop deblocker),这是H.264标准的一部分。就性价比来说非常有效率。可以在http:t=109747找到loop滤镜的参数是如何运作的说明(参阅第一个帖子和akupenguin的回复)。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1