作者falcon (falken)
看板AVEncode
标题[请问] 新的x264用 --level 不会约束ref输出?
时间Thu Aug 14 13:42:06 2014
命令:
ffmpeg -i input.mkv -vf scale=1280:720 -codec:v libx264 -preset:v veryslow -level 32 output.mp4
旧版 x264 输出: 1280x720p,
[email protected], RefFrames 5
新版 x264 输出: 1280x720p,
[email protected], RefFrames 16
很明显新版 x264 使用了 preset 内的 RefFrames 值
而不是以前那样,依解析度与指定的 level 来约束 RefFrames
http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC#Levels
新版 x264 的原始码来自於
git://git.videolan.org/x264.git
有人知道这是怎麽一回事吗?
难道 x264 增加了新选项来强制输出 level,而 --level 现在变成只能改标签?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 118.171.32.128
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/AVEncode/M.1407994928.A.A1C.html
1F:→ james1201: --level-force 08/14 17:20
2F:→ falcon: 那是 tMod 编译版的专用参数吧 08/14 18:20
3F:→ falcon: 我在官方版的 --fullhelp 内没看到这参数 08/14 18:22
4F:→ james1201: 版本号是多少? 刚刚试了一个r2453 level3.2 Ref会设成4 08/14 19:28
ffmpeg.exe with libx264 (core:142 r2453 ea0ca51) - 有问题
x264.exe (core:142 r2453 ea0ca51) - 没问题
x264.exe (core:142 r2431 ac76440, komisar 编译版) - 有问题
我彻底被搞混了...
※ 编辑: falcon (118.171.32.128), 08/14/2014 23:47:50
6F:→ james1201: ffmpeg with libx264 r2453确实不会 08/19 23:44
7F:→ james1201: 研究了一下ffmpeg的code 你在 level 那边要输入3.2 08/20 00:14
8F:→ james1201: 他在parse才会自动限制ref 08/20 00:15
s
我用的 x264 komisar 是 megui 自带的
level设定是用 MeGUI 提供的 ComboBox 选择 3.1
我不太了解你的意思,如果你是指需要小数点,那是可以忽略的
我以前用 ffmpeg 指定 level 一向都把 3.2 写作 30
或许这只是ffmpeg的BUG,而在新版已经修正错误,我之後会测试看看git-master
至於你说的level是指私有选项吗? -264opts level=xx
我之前测试无论或私有或公用选项都有问题
-------------------------------------------
原始码已更新到最新版 ffmpeg git-master
测试结果:
公用选项
-level:v 3.2
-level:v 32 (异常)
libx264 私有选项
-x264opts level=3.2 (异常)
-x264opts level=32 (异常)
每个都有显示自动下修为 5 frames
但只有第一个是正常工作的,在以前这4种写法都是能正常工作的
依目前我认为这应该是 ffmpeg 的 bug
※ 编辑: falcon (114.27.126.84), 08/25/2014 02:16:58
9F:→ falcon: 但我不了解为何MeGUI也是如此 08/25 02:30
10F:→ falcon: ffmpeg的log明明告诉我有下修到5以下 08/25 02:34
11F:→ james1201: 我使用的是公用选项 -level:v 3.2 这种才行 08/25 12:21
13F:→ james1201: 正确的 有可能确实是bug的样子 08/25 12:23