Re: [請問] 轉檔出現怪現象
剛剛不小心把文章刪了
只好重發 (′゚д゚`)
這個給你參考
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)
推
12/11 18:51, , 1F
12/11 18:51, 1F
※ 編輯: falcon 來自: 1.173.98.192 (12/12 01:25)
→
12/12 09:37, , 2F
12/12 09:37, 2F
→
12/12 11:46, , 3F
12/12 11:46, 3F
→
12/12 11:46, , 4F
12/12 11:46, 4F
→
12/12 11:47, , 5F
12/12 11:47, 5F
※ 編輯: falcon 來自: 1.173.98.192 (12/12 11:58)
→
12/12 12:14, , 6F
12/12 12:14, 6F
→
12/12 12:15, , 7F
12/12 12:15, 7F
→
12/12 12:16, , 8F
12/12 12:16, 8F
→
12/12 12:44, , 9F
12/12 12:44, 9F
→
12/12 12:50, , 10F
12/12 12:50, 10F
→
12/12 12:53, , 11F
12/12 12:53, 11F
→
12/12 12:54, , 12F
12/12 12:54, 12F
→
12/12 12:55, , 13F
12/12 12:55, 13F
→
12/12 13:00, , 14F
12/12 13:00, 14F
→
12/12 13:06, , 15F
12/12 13:06, 15F
→
12/12 14:56, , 16F
12/12 14:56, 16F
→
12/12 14:57, , 17F
12/12 14:57, 17F
→
12/12 14:58, , 18F
12/12 14:58, 18F
→
12/12 15:32, , 19F
12/12 15:32, 19F
而 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)
→
12/12 17:04, , 20F
12/12 17:04, 20F
→
12/12 17:04, , 21F
12/12 17:04, 21F
→
12/12 17:10, , 22F
12/12 17:10, 22F
討論串 (同標題文章)
AVEncode 近期熱門文章
PTT數位生活區 即時熱門文章