搜索 社区服务 统计排行 帮助
  • 9865阅读
  • 3回复

x264怎样才能用ABR/CBR来压制/输出MP4视频

楼层直达
级别: 新手上路
注册时间:
2011-11-30
在线时间:
3小时
发帖:
10
x264怎样才能用ABR/CBR来压制/输出MP4视频?不管是在命令行或者是megui中
我发现压制后的视频都是vbr码流。下面是我在命令行中的内容:
【仅为了测试,随便找了一张VCD光盘提取出一段dat视频】
  1. x264.exe --crf-max 20  --fps 25 --bitrate 256 --keyin 50 --min-keyin 25 --no
  2. -cabac  --output "my.mp4" "1.dat"

用mediainfo查看:

概要
完整名称                             : E:\my.mp4
文件格式                             : MPEG-4
格式简介                             : JVT
编码设置ID                           : avc1
文件大小                             : 469 KiB
长度                               : 18秒 840ms
平均混合码率                           : 204 Kbps
编码日期                             : UTC 2011-11-30 06:03:52
标记日期                             : UTC 2011-11-30 06:03:52

视频
ID                               : 1
文件格式                             : AVC
文件格式/信息                          : Advanced Video Codec
格式简介                             : High@L1.3
格式设置, CABAC                      : 否
格式设置, ReFrames                   : 4 frames
编码设置ID                           : avc1
编码设置ID/信息                        : Advanced Video Coding
长度                               : 18秒 840ms
码率模式                             : VBR
码率                               : 201 Kbps
额定码率                             : 256 Kbps
最大码率                             : 520 Kbps
画面宽度                             : 352像素
画面高度                             : 288像素
画面比例                             : 4/3
帧率模式                             : 恒定
帧率                               : 25.000 fps
分辨率                              : 24位
比色法                              : 4:2:0
扫描方式                             : 逐行扫描
bits/(pixel*frame)(数据密度)         : 0.079
大小                               : 463 KiB (99%)

小弟学视频压制没多久,,菜菜级的。哪位老师指点一下如何压制出abr/cbr的码流
给一点代码。谢谢!

级别: 新手上路
注册时间:
2011-10-20
在线时间:
40小时
发帖:
11
只看该作者 1楼 发表于: 2011-11-30
1 PASS BITRATE 就是ABR....
好像没有CBR
转别人说
x264的 CBR其实包含在 Average Bit Rate 模式下(这个模式会依据你给定的码率 并 为每一帧分配合理的量化值 使瞬间码率在平均值上下波动)
此外 还需要调整 Quantizer Curve Compression 为 0 才能实现CBR
(可见 CBR模式 在x264中是个不存在的理念)
级别: 骑士
注册时间:
2008-10-06
在线时间:
115小时
发帖:
319
只看该作者 2楼 发表于: 2011-12-01
有CBR的
當設置bitrate=max_bitrate時
譬如--bitrate=256 --vbv-maxrate=256
  1.     s += sprintf( s, " rc=%s mbtree=%d", p->rc.i_rc_method == X264_RC_ABR ?
  2.                                ( p->rc.b_stat_read ? "2pass" : p->rc.i_vbv_max_bitrate == p->rc.i_bitrate ? "cbr" : "abr" )
  3.                                : p->rc.i_rc_method == X264_RC_CRF ? "crf" : "cqp", p->rc.b_mb_tree );

Follow me: @06_taro

MediaFire links to:
Taro's tools (avs plugins & other useful tools' builds)
Taro's x264 builds (Latest build: x264 core:129 r2245+704_tMod (&tMod+10bit/MixAQ/OreAQ), Win & MacOS, built on 10 Jan 2012, gcc: 4.7.2)

nmm牆內鏡像(部分工具)
级别: 新手上路
注册时间:
2011-11-30
在线时间:
3小时
发帖:
10
只看该作者 3楼 发表于: 2011-12-02
回 2楼(06_taro) 的帖子
我下载了您签名处的Taro's x264 ,非常好用,功能强大~~~赞!!
由于水平有限,使用过程中遇到一点问题,麻烦您再次指点一下。非常感谢!

--level-force           Force params to specifyed level
这个参数是不是强制指定level ?--level-force 3.1 或者其他值会报错,直接退出。
音频问题:
--abitrate <float>      Enables bitrate mode and set bitrate (kbits/s)
--aquality <float>      Quality-based VBR [codec-dependent default]
--asamplerate <integer> Audio samplerate (Hz) [keep source samplerate]
--acodec-quality <float> Codec's internal compression quality [codec speci
上面--asamplerate 我指定采样率后,提示“无法打开音频文件”。不知道这个选项开关怎样用它?

--force-cfr             Force constant framerate timestamp generation
这个选项如何用?我试了下好像没作用!

Input/Output:
  -o, --output <string>       Specify output file
      --muxer <string>        Specify output container format ["auto"]
                                  - auto, raw, mkv, flv, mp4, 3gp, 3g2, mov, qt,avi
-o没问题,--muxer就不行,封装格式如何使用?比如--muxer "test.mp4" "1.dat"会报错!
快速回复

限150 字节
上一个 下一个