看板 AVEncode 關於我們 聯絡資訊
剛剛不小心把文章刪了 只好重發 (′゚д゚`) 這個給你參考 https://www.dropbox.com/s/y9nuoprdmaij98z/AutoRec.7z 把影片檔拖給 AutoRecodec.bat 開啟即可 qaac 需要安裝 Apple Application Suport QuickTime 或 iTunes 安裝包內有 我已經在 qaac 目錄下放入 Apple 的 dll 所以不需要安裝 Apple Application Suport 如果不行的話還是安裝看看 ffmpeg -i "輸入檔案" 參數 "輸出檔案" qaac 參數 -o "輸出檔案" "輸入檔案" 使用 ffmpeg 解碼為 WAV (PCM) 給 qaac 編碼輸出 M4A(AAC) ffmpeg -i "輸入檔案" 參數 - | qaac 參數 --ignorelength -o "輸出檔案" - ffmpeg -i "%~1" -vn -ac 2 -async 1 -f wav -y - | qaac -q 2 --tvbr 100 --ignorelength -o "%~dp1TempAudio.m4a" - -vn 禁用視訊 -an 禁用音訊 -sn 禁用字幕 -ac 2 是 downmix 至 雙聲道(6即5.1,8即7.1) 如果你有多聲道輸出的話就刪掉吧 -async 1 如果音訊有延遲則會插入空白部分填補 這樣音訊和視訊一樣長,就不會 不同步 qaac 的部分 -q 2 有最高校率 --tvbr 100 為 VBR 模式 指定輸出品質 0~127 可選 ffmpeg -i "%~1" -i "%~dp1TempAudio.m4a" -c:a copy -map 0:v -map 1:a -vf scale='1280:trunc((1280/dar)/16+0.5)*16' -c:v libx264 -profile:v high -preset veryslow -x264opts crf=18:ref=4:bframes=5 -y "%~dp1%~n1.recode.mp4" -c:a copy 是複製音訊 -map 0:v -map 1:a 篩選出 第一個(0)輸入檔的視訊 與 第二個(1)輸入檔的音訊 例 -map 0:1 篩選出 第一個輸入檔的第二個 track 例 -map 0:s:2 篩選出 第一個輸入檔的第三個 字幕track -vf scale='1280:trunc((1280/dar)/16+0.5)*16 scale=寬:高 假輸入檔為 1440x1080 PAR=4/3 那輸入檔 dar 就是 (1440/1080)*(4/3)=16/9 1280/dar 就是輸出高, trunc() 就是取整數,trunc(數值/16+0.5)*16 就是取16整數倍 不喜歡的話就刪掉吧 縮到 1280x* 是因為 高解析度影片的位元速率都需要很大才能維持畫質 否則還不如 Resize 縮小解析度 至於x264 我懶得調整細部參數 都是直接用 x264 preset + ref 或 x264 preset + h.264 level 詳細請 Google... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.173.98.192 ※ 編輯: falcon 來自: 1.173.98.192 (12/11 17:55) ※ 編輯: falcon 來自: 1.173.98.192 (12/11 18:06) ※ 編輯: falcon 來自: 1.173.98.192 (12/11 18:37)
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