[分享]我的VLC轉檔食譜

這裡是wasabi工作室的專屬討論版,可以在這裡討論網頁設計、各類網頁語言以及論壇模組製作。 ?

ps. 這裡可以討論網頁設計相關問題,如XHTML、MySQL、JavaScript/Ajax和PHP等等。C/JAVA/VB討論請到樓下炎羅的版謝謝。

[分享]我的VLC轉檔食譜

文章wasabi » 2010年07月25日 9:31 am

VLC轉檔實在太好用了,目前除了字幕還弄不出來需要倚靠AviSynth之外,已經是大部分的檔案都可以轉了。

這篇是分享我會用到的裝置的轉檔食譜。

iPod

轉iPod很簡單,把x264 profile設成Baseline就好了。

代碼: 選擇全部
cvlc -vvv -I dummy --no-video \
  --sout-transcode-vcodec h264 --sout-transcode-venc x264 \
  --sout-transcode-width <影片寬度> --sout-transcode-height <影片高度> \
\
  --sout-x264-profile Baseline --sout-x264-level 3 \
  --sout-x264-vbv-maxrate 1536 --sout-x264-vbv-bufsize 1024 \
  --sout-x264-crf 20 \
\
  --sout-transcode-acodec mp4a --sout-transcode-ab 160 \
  <來源檔名> --sout "#transcode:std{mux=mp4,dst=<輸出檔名>}" \
  vlc://quit


<影片寬度>最大到640
<影片高度>最大到480

AppleTV

AppleTV的格式橋了好久... 因為AppleTV雖然號稱支援h264 Main Profile,但是很多功能都不能用,實驗了很多次不同的設定才弄出下面的設定。

基本上,AppleTV不支援CABAC和B-Frame。雖然說Doom 9上的資料都說AppleTV支援到最多2個B-Frame,但是我轉的影片只要有開B-Frame都會有一直跳針的畫面=_=,而關掉以後就沒事了。

另外,雖然Doom 9上的資料說不支援,但我實驗的結果是AppleTV支援8x8DCT。在這個食譜裡面8x8DCT是關閉的,但你要開的話可以試試看。

最後就是影片的bit rate,雖然Apple官網說只支援到160 kbps,但是設定到256 kbps甚至320 kbps不是問題,不過這是在只有2個頻道的情況下就是了。

代碼: 選擇全部
cvlc -vvv -I dummy --no-video \
  --sout-transcode-vcodec h264 --sout-transcode-venc x264 \
  --sout-transcode-width <影片寬度> --sout-transcode-height <影片高度> \
\
  --sout-x264-profile Main --sout-x264-level 3.1 \
  --sout-x264-vbv-maxrate 2560 --sout-x264-vbv-bufsize 2048 \
  --sout-x264-crf 20 --no-sout-x264-cabac \
  --sout-x264-partitions normal --no-sout-x264-8x8dct \
  --sout-x264-me umh --sout-x264-subme 7 \
  --no-sout-x264-psnr --sout-x264-bframes 0 \
  --sout-x264-ref 2 --sout-x264-b-adapt 0 \
  --no-sout-x264-weightb --sout-x264-weightp 0 \
  --sout-x264-bpyramid none \
\
  --sout-transcode-acodec mp4a --sout-transcode-ab 256 \
  <來源檔名> --sout "#transcode:std{mux=mp4,dst=<輸出檔名>}" \
  vlc://quit


<影片寬度>最大到960 (30 fps)或1280 (24 fps)
<影片高度>最大到560 (30 fps)或720 (24 fps)

iPad

基本上很多AppleTV用不了的設定全部解禁了,雖然B-frame還是用不了,但是CABAC跟8x8DCT可以很放心的使用。說真的要不是iPad不能用Component輸出720P影片,不然我實在不知道我幹麼還要留著AppleTV...

代碼: 選擇全部
cvlc -vvv -I dummy --no-video \
  --sout-transcode-vcodec h264 --sout-transcode-venc x264 \
  --sout-transcode-width <影片寬度> --sout-transcode-height <影片高度> \
\
  --sout-x264-profile Main --sout-x264-level 3.1 \
  --sout-x264-vbv-maxrate 2560 --sout-x264-vbv-bufsize 2048 \
  --sout-x264-crf 20 --sout-x264-cabac \
  --sout-x264-partitions normal --sout-x264-8x8dct \
  --sout-x264-me umh --sout-x264-subme 7 \
  --no-sout-x264-psnr --sout-x264-bframes 0 \
  --sout-x264-ref 2 --sout-x264-b-adapt 0 \
  --no-sout-x264-weightb --sout-x264-weightp 0 \
  --sout-x264-bpyramid none \
\
  --sout-transcode-acodec mp4a --sout-transcode-ab 160 \
  <來源檔名> --sout "#transcode:std{mux=mp4,dst=<輸出檔名>}" \
  vlc://quit


<影片寬度>最大到1280
<影片高度>最大到720

食譜使用說明

首先,用這食譜需要安裝VLC (好像是廢話?)。我用的VLC版本是1.10,但理論上這個食譜可套用於1.00+。

指令最前面的「cvlc」是vlc指令的路徑。在OS X底下是/Applications/VLC.app/Contents/MacOS/VLC,在Windows底下是C:\Program Files\VideoLan\VLC\vlc.exe。

這個食譜每行行尾的斜線(\)是Bash介面的底下把太長的指令分成不同行的字元。如果你用DOS,就要把\給刪除然後把所有指令放到同一行。

最後,以下是幾個常用的選項:

--start-time <起始時間> --stop-time <結束時間>
這兩個選項在測試新的食譜或是擷取影片一小段的時候很好用。

--daemon
在背景執行,這指令在Linux上轉檔的時候很實用。

--sout-transcode-fps <fps>
設定轉檔的fps。


July 26, 2010更新

在影片檔裡面,iPad最多只吃160 kbps的AAC音效,而Apple TV則可以上到256 kbps沒問題... =_=|||
終於發現一個地方Apple TV比iPad強了...

July 28, 2010更新

iPad只吃48khz的音效,所以不是的話就會沒有聲音喔...

解決辦法可以很麻煩也可以很簡單,端看VLC版本支不支援轉換採樣頻率,如果支援的話用--sout-transcode-samplerate 48000設定即可。不支援的話,就要另尋他法了...
? 沙比GitHub: https://github.com/vvasabi ??

巴頭捏帳號: wasabi#1664
頭像
wasabi
山頂黑狗兄
山頂黑狗兄
 
文章: 3210
註冊時間: 2006年02月07日 10:23 pm
來自: 秋葉原

回到 wasabi studio

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 2 位訪客

cron