Advertisement

快速掌握 VLC

阅读量:

作者: 一去、二三里
个人微信号: iwaleon
微信公众号: 高效程序员

在开始 libVLC 之前,请提前学习 VLC 并掌握其基本操作。或许有人会疑惑:觉得没什么必要吗?其实不然——VLC 的功能真是丰富无垠!你若好好琢磨一番,则大有裨益。

通常标准的操作可以在 GUI 中执行;但是更为复杂的操作则必须依赖命令行界面来进行处理。因此掌握 VLC 的核心在于熟练使用命令行界面,并且我们建议您按照步骤逐一深入学习!

获取帮助

VLC采用了分层架构设计。其中的核心功能专注于协调各组件间的通信流程。所有的媒体流处理都由独立的组件执行。这些组件包括媒体流接收端(输入部分)、负责解析不同媒体格式(解复用器)、负责恢复原始媒体内容(解码器)以及支持多种文件格式导出(视频输出模块)。面对如此多的功能与组件配置……但有一点必须要掌握‘知道如何使用Help,并能根据文档快速查找所需信息’。

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

复制代码
    vlc --help
    
    
    代码解读

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

注意: 请注意,在 Windows 环境中,执行此操作将生成一个名为 vlc-helper.txt 的文件,并将输出转移至该文件。

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

复制代码
    vlc -l
    
    
    代码解读

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

复制代码
    vlc -p module --advanced --help-verbose
    
    
    代码解读

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

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://[[<source address>]@[<bind address>][:<bind port>]] 流服务器发送的 UDP 流
    
 vlc://pause:<seconds>          暂停播放列表一定时间
    
 vlc://quit                     用于退出 VLC 的特殊项目
    
    
    
    
    代码解读

基本用法

多媒體 playe 可以說是 VLC 的主要用途之一,在學習多媒體技術時需注意掌握一些基本的操作。

播放流

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

复制代码
    vlc F:\SampleVideo.mp4
    
    
    代码解读

播放列表

若需制作一个播放列表,则需将多个文件以参数形式输入,并通过以下指令设置播放模式:

-Z:随机播放文件

-L:重复播放列表

-R:循环播放当前项

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

复制代码
    vlc.exe -Z F:\SampleVideo.mp4 F:\Megamind.avi
    
    
    代码解读

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

全屏播放

通常情况下,默认状态下,默认设置下视频会以标准窗口尺寸进行展示;若希望实现全屏显示效果,则可执行 -f 或 --fullscreen 命令。

复制代码
    vlc -f F:\SampleVideo.mp4
    
    
    代码解读

高级用法

不仅仅是用作多媒体播放器这一角色,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等)。

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

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

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

destination: 目标位置;当 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 的用法远不止于此,其他的自行尝试吧!

全部评论 (0)

还没有任何评论哟~