快速掌握 VLC

在開始 libVLC 之前,建議先熟練使用 VLC,并掌握其中的常用操作。可能有人會說:一個播放器有什么好學(xué)的?那我告訴你,VLC 的功能可多著呢,還真得好好學(xué)學(xué)!

像大多數(shù)標(biāo)準(zhǔn)的操作,一般都可以在 GUI 中完成;然而一些復(fù)雜的操作,只能在命令行中完成。因此想要掌握 VLC,命令行的使用至關(guān)重要,我們來一步一步地深入!
1
獲取幫助
VLC 使用了模塊化結(jié)構(gòu),其核心主要用于管理模塊之間的通信,所有的多媒體處理都是由模塊完成的,有輸入模塊、解復(fù)用器、解碼器、視頻輸出模塊 ...... 這么多,我們當(dāng)然不可能全部都記住,但有一點必須要掌握“知道如何使用 Help,并能根據(jù)文檔快速查找想要的內(nèi)容”。
要獲取 VLC 的幫助,運行以下命令:
vlc?--help
這將列出所有的核心選項,若要獲取更詳盡的幫助,請使用“-H”。
注意:在 Windows 中,這會創(chuàng)建一個 vlc-help.txt 文件,輸出將被重定向到該文件中。
倘若要獲取 VLC 中的所有模塊,運行以下命令:
vlc?-l
如果想要尋求特定模塊的幫助,運行以下命令:
vlc?-p?module?--advanced?--help-verbose
--help-verbose 會顯示額外的解釋,如果生成的輸出太多,則會忽略此選項。
2
VLC 語法
根據(jù)幫助文檔,可以很輕易地了解 VLC 的語法:
vlc?[options]?[stream]?…
可以在命令行中指定多個流,它們將會被加入到播放列表中,其中的第一項將會被先播放。
--option:用于設(shè)置程序執(zhí)行期間的全局選項。
-option:單字母版本的全局 --option。
:option:僅對此選項之前的單條流生效,且優(yōu)先級高于先前的設(shè)置。
[[access][/demux]://]URL[#[title][:chapter][-[title][:chapter]]]
[:option=value?...]
許多全局 --options 也可作為 MRL 特定的 :options 使用,可指定多組 :option=value。
file:///path/file??????????????純媒體文件
http://host[:port]/file????????HTTP?URL
ftp://host[:port]/file?????????FTP?URL
mms://host[:port]/file?????????MMS?URL
screen://??????????????????????屏幕捕獲
dvd://[device]?????????????????DVD?設(shè)備
vcd://[device]?????????????????VCD?設(shè)備
cdda://[device]????????????????音頻?CD?設(shè)備
udp://[[ ]@[ ][: ]]?流服務(wù)器發(fā)送的?UDP?流
vlc://pause:<seconds>??????????暫停播放列表一定時間
vlc://quit?????????????????????用于退出?VLC?的特殊項目
3
基本用法
多媒體播放器,可以說是 VLC 最常見的用法,一些相關(guān)的基本操作必須要了解!
要播放一個流(本地視頻或者網(wǎng)絡(luò)流),使用以下命令:
vlc?F:\SampleVideo.mp4
倘若要創(chuàng)建一個播放列表,可以將多個文件作為參數(shù),然后使用以下命令定義播放模式:
-Z:隨機播放文件
-L:重復(fù)播放列表
-R:循環(huán)播放當(dāng)前項
例如,創(chuàng)建一個包含兩個文件的播放列表:
vlc.exe?-Z?F:\SampleVideo.mp4?F:\Megamind.avi
由于使用的是隨機播放模式,所以第一個、第二個文件都有可能先播放。
默認情況下,視頻以正常窗口大小播放;如果要全屏顯示,可以使用 -f?或者 --fullscreen? 選項:
vlc?-f?F:\SampleVideo.mp4
4
高級用法
除了用作多媒體播放器之外,VLC 還能做很多的事情,像轉(zhuǎn)碼、流式傳輸?shù)?...... 而這些往往需要用到 VLC 中的特定模塊。
如何使用這些模塊呢?最好的方法是從轉(zhuǎn)碼開始,基本語法格式如下:
vlc?[input_stream]?--sout?
'#transcode{vcodec=[video_codec],?acodec=[audio_codec]}
:standard{access=[type_of_output],?dst=[name_of_output],?mux=[output_type]}'
看著似乎很復(fù)雜,但如果拆開來看,其實還是比較容易理解的:
input_stream:輸入流,即要轉(zhuǎn)碼的文件或流地址。
--sout:stream output,表示輸出通道。?
transcode 用于對流進行轉(zhuǎn)碼:
vcodec:目標(biāo)視頻編解碼器,可在 VLC 支持的編解碼器(例如:mp4v、MPJG、WMV1、vorb、flac 等)中進行選擇。
acodec:目標(biāo)音頻編解碼器,同 vcodec。
standard 在對流進行 mux 之后,將其保存到文件中或通過網(wǎng)絡(luò)進行發(fā)送:
access:輸出的協(xié)議,可以是 file、udp、rtp 或者 http。
dst:輸出的目的地(實際保存或發(fā)送流的位置),如果 access=file,就是保存的文件路徑及文件名。
mux:輸出復(fù)用器(即:流的封裝方式),可以在 ts、ps、ogg、avi 等之間進行選擇。
還是舉個栗子吧,這樣更容易理解:
vlc?-vvv?F:\SampleVideo.mp4?--sout?'#transcode{vcodec=mp4v,?acodec=mpga}:standard{access=http,?mux=ogg,?dst=192.168.0.112:8080}'
這將使用編解碼器 MPEG4 和 MPEG Audio 對文件 SampleVideo.mp4 進行轉(zhuǎn)碼,然后將其作為 HTTP 流傳輸至指定的 IP 和端口(192.168.0.112:8080)上。
要接收該流,需要使用下述命令:
vlc?http://192.168.0.112:8080
當(dāng)然了,VLC 的用法遠不止于此,其他的自行嘗試吧!
·END·
?
