[請問] 新的x264用 --level 不會約束ref輸出?

看板AVEncode (影音編碼技術)作者 (falken)時間10年前 (2014/08/14 13:42), 10年前編輯推噓1(1012)
留言13則, 2人參與, 最新討論串1/1
命令: ffmpeg -i input.mkv -vf scale=1280:720 -codec:v libx264 -preset:v veryslow -level 32 output.mp4 舊版 x264 輸出: 1280x720p, High@L3.2, RefFrames 5 新版 x264 輸出: 1280x720p, High@L3.2, 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://www.ptt.cc/bbs/AVEncode/M.1407994928.A.A1C.html

08/14 17:20, , 1F
--level-force
08/14 17:20, 1F

08/14 18:20, , 2F
那是 tMod 編譯版的專用參數吧
08/14 18:20, 2F

08/14 18:22, , 3F
我在官方版的 --fullhelp 內沒看到這參數
08/14 18:22, 3F

08/14 19:28, , 4F
版本號是多少? 剛剛試了一個r2453 level3.2 Ref會設成4
08/14 19:28, 4F
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

08/19 23:29, , 5F
這裡komisar編譯版r2453會約束 http://komisar.gin.by/
08/19 23:29, 5F

08/19 23:44, , 6F
ffmpeg with libx264 r2453確實不會
08/19 23:44, 6F

08/20 00:14, , 7F
研究了一下ffmpeg的code 你在 level 那邊要輸入3.2
08/20 00:14, 7F

08/20 00:15, , 8F
他在parse才會自動限制ref
08/20 00:15, 8F
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

08/25 02:30, , 9F
但我不了解為何MeGUI也是如此
08/25 02:30, 9F

08/25 02:34, , 10F
ffmpeg的log明明告訴我有下修到5以下
08/25 02:34, 10F

08/25 12:21, , 11F
我使用的是公用選項 -level:v 3.2 這種才行
08/25 12:21, 11F

08/25 12:22, , 12F
http://goo.gl/oAJJfJ 似乎是這裡的問題 要改成>= 才是
08/25 12:22, 12F

08/25 12:23, , 13F
正確的 有可能確實是bug的樣子
08/25 12:23, 13F
文章代碼(AID): #1Jx4mmeS (AVEncode)
文章代碼(AID): #1Jx4mmeS (AVEncode)