『漫游』酷论坛>『影音数码技术学习交流』>[已解决]感谢06_taro老 ..
[已解决]感谢06_taro老师!~请教--aextraopt
stu-p@2011-12-19 12:12
- x264 --preset medium --tune film --level 3.1 --crf 23 --opts 0 --deblock 1:
- -1:-1 --keyint 240 --min-keyint 24 --audiofile 1.mp3 --acodec faac --abitrate 48
- --aextraopt mode=cbr --b-adapt 2 --ipratio 1.2 --pbratio 1.0 --ratetol 0 --ref
- 6 --me umh --no-scenecut --bframes 6 --qcomp 0.5 --qpmax 35 --vbv-init 0.5 --vbv
- -bufsize 3000 --vbv-maxrate 356 --no-psy --ssim --video-filter resize:720,404 --
- fps 24 --sar 40:33 -o "shhua.mp4" "sun.m2ts"
ffms [info]:
Codec : h264
PixFmt : yuv420p
Timebase : 1/0
Duration : 90000:00:00
ffms [info]: 1920x1080p 0:1 @ 24034/1001 fps (cfr)
options [error]: Invalid option 'mode'
lame [error]: wrong audio options.
mp4 [error]: error opening audio encoder.
mp4 [error]: unable to init audio output.
x264 [error]: could not open output file `shhua.mp4'
版本: x264_32_tMod+OreAQ-8bit-all.exe
这个--aextraopt 总是报错,这个参数是怎么使用的?有什么限制吗?谢谢!
[ 此帖被stu-p在2011-12-20 11:33重新编辑 ]
06_taro@2011-12-19 15:44
qtaac有名为"mode"的opt,faac没有。要么换qtaac,要么把--aextraopt mode=cbr去掉。在指定了--abitrate的情况下默认会自动转成abr的。aextraopt的用法倒是没问题,就是--aextraopt xxx=param这样用的。
另外2120+630的build内32位版可以用qtaac,只不过一时失误没显示出来qtaac的help,需要的看下面:
- * qtaac encoder help
- --aquality VBR quality [63]
- Cannot be used for HE-AAC and possible values are:
- 0, 9 ,18 ,27 ,36 ,45 ,54 ,63 ,73, 82, 91, 100, 109, 118, 127
- 0 is lowest and 127 is highest.
- --abitrate Enables bitrate mode
- Bitrate should be one of the discrete preset values depending on
- profile, channels count, and samplerate.
- Examples for typical configurations
- - for 44100Hz or 48000Hz with 1ch
- LC: 32, 40, 48, 56, 64, 72, 80, 96, 112, 128, 144, 160, 192, 224, 256
- HE: 16, 24, 32, 40
- - for 44100Hz or 48000Hz with 2ch
- LC: 64, 72, 80, 96, 112, 128, 144, 160, 192, 224, 256, 288, 320
- HE: 32, 40, 48, 56, 64, 80
- - for 44100Hz or 48000Hz with 5.1ch
- LC: 160, 192, 224, 256, 288, 320, 384, 448, 512, 576, 640, 768
- HE: 80, 96, 112, 128, 160, 192
- The lower samplerate, the lower min/max values are applied
- --asamplerate Output samplerate
- LC: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000
- HE: 32000, 44100, 48000
- Samplerate greater than input is not supported
- --acodec-quality Encoder's internal complexity [0]
- 0 (medium), 1 (high), 2 (highest)
- --aextraopt Profile and bitrate mode
- sbr : enable HE-AAC encoding [0]
- mode : bitrate control mode [abr]
- "abr", "cbr", "cvbr"
- --aquality/--abitrate setting may be changed inside codec due to its
- limitations and extreme resampling settings (e.g. 48000->8000) may not work.
- If something goes wrong, it will result in a failure of codec initialization.
stu-p@2011-12-19 21:35
@06_taro:
非常感谢!明白了!
额外再请教一问题:--vbv-bufsize的值我发现如果取值恰当的话,码率会在设定的范围内,
ssim的值也会很高0.98~~。 如果设的值不正确(太小),会有警告,(太高)码率升高且ssim
的值下降,编码速度延长一倍以上。
设定--vbv-bufsize是不是有一个合理的计算方法?
[ 此帖被stu-p在2011-12-19 21:54重新编辑 ]
06_taro@2011-12-20 03:42
主要看“合理”是针对什么东西来讲的
设备兼容性,那要看你的设备支持到多少。
符合标准,那我的build里直接--vbv-bufsize auto_main/auto_high/auto_high10就可以了,根据需要的profile自己定,或者用这个python工具来计算。
如果没有这些硬性要求的话,没必要设置,x264自己rc过程认为需要多少就用多少,这就是最合理的。
stu-p@2011-12-20 11:32
这些基本的概念终于搞清楚了,压了两个动画片段,ssim不会低于0.9881445,适当调高一点--ipratio ,ssim能达到0.9903648再次谢06_taro老师。
以后遇到什么不明白的地方,再向06_taro老师请教!!
| TOP