快速掌握 VLC

proginn468312

共 2708字,需浏览 6分钟

 ·

2020-08-21 08:58

在开始 libVLC 之前,建议先熟练使用 VLC,并掌握其中的常用操作。可能有人会说:一个播放器有什么好学的?那我告诉你,VLC 的功能可多着呢,还真得好好学学!



像大多数标准的操作,一般都可以在 GUI 中完成;然而一些复杂的操作,只能在命令行中完成。因此想要掌握 VLC,命令行的使用至关重要,我们来一步一步地深入!



1

获取帮助


VLC 使用了模块化结构,其核心主要用于管理模块之间的通信,所有的多媒体处理都是由模块完成的,有输入模块、解复用器、解码器、视频输出模块 ...... 这么多,我们当然不可能全部都记住,但有一点必须要掌握“知道如何使用 Help,并能根据文档快速查找想要的内容”。


要获取 VLC 的帮助,运行以下命令:


vlc --help


这将列出所有的核心选项,若要获取更详尽的帮助,请使用“-H”


注意:在 Windows 中,这会创建一个 vlc-help.txt 文件,输出将被重定向到该文件中。


倘若要获取 VLC 中的所有模块,运行以下命令:


vlc -l


如果想要寻求特定模块的帮助,运行以下命令:


vlc -p module --advanced --help-verbose


--help-verbose 会显示额外的解释,如果生成的输出太多,则会忽略此选项。



2

VLC 语法


根据帮助文档,可以很轻易地了解 VLC 的语法:


vlc [options] [stream] …


可以在命令行中指定多个流,它们将会被加入到播放列表中,其中的第一项将会被先播放。



选项风格


  • --option:用于设置程序执行期间的全局选项。

  • -option:单字母版本的全局 --option

  • :option:仅对此选项之前的单条流生效,且优先级高于先前的设置。



流媒体 MRL 语法


[[access][/demux]://]URL[#[title][:chapter][-[title][:chapter]]]
[:option=value ...]


许多全局 --options 也可作为 MRL 特定的 :options 使用,可指定多组 :option=value



URL 语法


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 设备
vcd://[device]                 VCD 设备
cdda://[device]                音频 CD 设备
udp://[[]@[][:]] 流服务器发送的 UDP 流
vlc://pause:<seconds>          暂停播放列表一定时间
vlc://quit                     用于退出 VLC 的特殊项目



3

基本用法


多媒体播放器,可以说是 VLC 最常见的用法,一些相关的基本操作必须要了解!



播放流


要播放一个流(本地视频或者网络流),使用以下命令:


vlc F:\SampleVideo.mp4



播放列表


倘若要创建一个播放列表,可以将多个文件作为参数,然后使用以下命令定义播放模式:


  • -Z:随机播放文件

  • -L:重复播放列表

  • -R:循环播放当前项


例如,创建一个包含两个文件的播放列表:


vlc.exe -Z F:\SampleVideo.mp4 F:\Megamind.avi


由于使用的是随机播放模式,所以第一个、第二个文件都有可能先播放。



全屏播放


默认情况下,视频以正常窗口大小播放;如果要全屏显示,可以使用 -f 或者 --fullscreen  选项:


vlc -f F:\SampleVideo.mp4



4

高级用法


除了用作多媒体播放器之外,VLC 还能做很多的事情,像转码、流式传输等 ...... 而这些往往需要用到 VLC 中的特定模块。


如何使用这些模块呢?最好的方法是从转码开始,基本语法格式如下:


vlc [input_stream] --sout 
'#transcode{vcodec=[video_codec], acodec=[audio_codec]}
:standard{access=[type_of_output], dst=[name_of_output], mux=[output_type]}'


看着似乎很复杂,但如果拆开来看,其实还是比较容易理解的:


  • input_stream:输入流,即要转码的文件或流地址。

  • --sout:stream output,表示输出通道。 


transcode 用于对流进行转码:


  • vcodec:目标视频编解码器,可在 VLC 支持的编解码器(例如:mp4v、MPJG、WMV1、vorb、flac 等)中进行选择。

  • acodec:目标音频编解码器,同 vcodec。


standard 在对流进行 mux 之后,将其保存到文件中或通过网络进行发送:


  • access:输出的协议,可以是 file、udp、rtp 或者 http。

  • dst:输出的目的地(实际保存或发送流的位置),如果 access=file,就是保存的文件路径及文件名。

  • mux:输出复用器(即:流的封装方式),可以在 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 进行转码,然后将其作为 HTTP 流传输至指定的 IP 和端口(192.168.0.112:8080)上。


要接收该流,需要使用下述命令:


vlc http://192.168.0.112:8080


当然了,VLC 的用法远不止于此,其他的自行尝试吧!


·END·
 

浏览 130
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报