看板 AVEncode 關於我們 聯絡資訊
命令: 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
james1201: --level-force 08/14 17:20
falcon: 那是 tMod 編譯版的專用參數吧 08/14 18:20
falcon: 我在官方版的 --fullhelp 內沒看到這參數 08/14 18:22
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
james1201: 這裡komisar編譯版r2453會約束 http://komisar.gin.by/ 08/19 23:29
james1201: ffmpeg with libx264 r2453確實不會 08/19 23:44
james1201: 研究了一下ffmpeg的code 你在 level 那邊要輸入3.2 08/20 00:14
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
falcon: 但我不了解為何MeGUI也是如此 08/25 02:30
falcon: ffmpeg的log明明告訴我有下修到5以下 08/25 02:34
james1201: 我使用的是公用選項 -level:v 3.2 這種才行 08/25 12:21
james1201: http://goo.gl/oAJJfJ 似乎是這裡的問題 要改成>= 才是 08/25 12:22
james1201: 正確的 有可能確實是bug的樣子 08/25 12:23