推 ThisIsNotKFC:推分享 12/11 18:51
※ 編輯: falcon 來自: 1.173.98.192 (12/12 01:25)
→ y3k:<=不會用ffmpeg 和時代脫節的廢渣orz 12/12 09:37
→ falcon:別說得那麼難聽嘛,MEGUI配AVS自動產生,的確好用 12/12 11:46
→ falcon:但 AviSynth 很久沒更新了,一堆問題 12/12 11:46
→ falcon:現在有類似 AviSynth 的替代方案 - VapourSynth 12/12 11:47
※ 編輯: falcon 來自: 1.173.98.192 (12/12 11:58)
→ james1201:AVS一堆問題? 只有不會用的人才一堆問題 12/12 12:14
→ james1201:而且AVS+ 正由另一群人在開發中 目標是原生多線程+x64 12/12 12:15
→ james1201:VPS現在開發的還不夠完整 事實上不太能用 12/12 12:16
→ falcon:VapourSynth 確實還沒完善,需要再等等 12/12 12:44
→ falcon:AVS 問題一堆不是我只有我在說而已 12/12 12:50
→ falcon:AVS載入視訊後會流失一些訊息,必須靠第三方工具取得 12/12 12:53
→ falcon:如 Pixel aspect ratio, display aspect ratio 12/12 12:54
→ falcon:這對我而言很困擾,因為我要用C#或是BAT製作無腦轉換方案 12/12 12:55
→ falcon:我希望能高度自動化,減少麻煩,我才不喜歡AVS 12/12 13:00
→ falcon:用AVS作會複雜很多,而ffmpeg單一工具就能解決大部分問題 12/12 13:06
→ james1201:高度自動化會出的問題是因為源濾鏡的選擇 而非AVS的問題 12/12 14:56
→ james1201:選到不適合的源濾鏡就會直接載入錯誤影像 12/12 14:57
→ james1201:甚至連載入都不能就終止了 12/12 14:58
→ falcon:常用demuxer decoder,ffmpeg都有內建,會自動載入合適的 12/12 15:32
而 resize 是最基本東西,但使用AVS要自動化處裡還真難搞
變形顯示比例的 Pixel Aspect Ratio, Display Aspect Ratio
假設來源是以下...
704x480, NTSC 16:9 (PAR 40:33), DAR 1.78:1
720x480, NTSC 16:9 (PAR 40:33), DAR 1.82:1
1440x1080, PAR 4:3, DAR 1.78:1
ffmpeg 寫個 function 即可自動 Resize,不必手動計算輸入
無論來源 解析度 PAR DAR 如何,都能正確處理
輸出: 1280x* (取 mod 16), 自動PAR(令DAR與來源相同)
scale='1280:trunc((1280/dar)/16+0.5)*16'
輸出: 寬<1280 & 高<720 (取 mod 16), PAR 1:1
scale='min(1280,trunc((720*dar)/16+0.5)*16):min(720,trunc((1280/dar)/16+0.5)*16)',setsar=sar=1/1
輸出: Letterbox, 720x480, PAR 40:33
scale='min(720,trunc((480*33/40*dar)/16+0.5)*16):min(480,trunc((720*40/33/dar)/16+0.5)*16)',pad='w=720:h=480:x=(ow-iw)/2:y=(oh-ih)/2',setsar=sar=40/33
而 AVS 可以用來源的寬高計算 DAR
但如果 PAR 不是 1:1,則會得到錯誤的DAR
只能呼叫第三方程式取得原始 DAR 或 PAR 後將 resize function 插入 AVS
※ 編輯: falcon 來自: 1.173.98.192 (12/12 15:33)
※ 編輯: falcon 來自: 1.173.98.192 (12/12 15:35)
※ 編輯: falcon 來自: 1.173.98.192 (12/12 15:40)
→ falcon:VFR的timecode以及AudioDelay,AVS好像能用ffms自動處理 12/12 17:04
→ falcon:但速度比lavf慢,支援格式也較少 12/12 17:04
→ falcon:AVS相對也比較消耗資源,相同filters、decoder 12/12 17:10