vlc命令行使用方式

1.前言

电脑上下载了一些电影,有的时候想用ipad在床上看,又懒的起床去开vlc播放器。本来vlc播放器是可以发布网络流的,打开之后就可以在所有vlc的播放器上看了。但懒,没有办法。 今天就想,这vlc功能这么强大,有没有命令行方式的视频流发布方法,不找不要紧,一找这才发现vlc果然不一般,什么工具都是全的。 因为怕写命令行麻烦,所以就用python写了一个小脚本,运行之后就可以在网络上播放vcl视频了。这样,所有设备就都可以看了。什么iphone,ipad,mac,linux,windows,只要装了这个播放器就可以了。 话说,现在从itunes上没有办法下载到vlc播放器了。只能从官网上下载到vlc的源码。但可惜的是这个源码中有用到了很多的第三方库,这第三方库要去网上实时下载,很多库就被墙了。所以现在没有办法编译一个完成的vlc播放器了。好在之前有在我的ipad上下载过。

2.运行脚本

下边是我写的一个python脚本,可以参考一下。

#!/usr/bin/python
# -*- coding: utf-8 -*-
#coding=utf-8
import os,sys
moive2path ='/Users/woodcol/Downloads/XLDownload/xxxxx.wmv'
file1 ='file://localhost/Users/woodcol/Downloads/XLDownload/11_06_x.wmv'
vlc = '/Applications/VLC.app/Contents/MacOS/VLC>vlc'
httpx = 'http://192.168.1.122:8080/'
#cmd = vlc + ' -H'
cmd = vlc + " -vvv " + moive2path + " --sout '#transcode{vcodec=h264,vb=512,acodec=mp3,ab=64}:standard{mux=ts,dst=192.168.1.122:8080,access=http}'"
os.system(cmd)

其实要运行命令行不用脚本写也行,只是个人习惯了。 到了这一步,其实还没有结束。想要远程控制就要架一个socket的python服务器,或者http服务器,然后再在ipad上写一个客户端,这样,想看电影的时候,只要打开ipad的客户端给服务器发一条命令,就可以让我的python服务器打开vlc播放器播放我想看的电影流了。 再打开ipad上的vlc播放器,就可以躺床上看电影了。 如果想要在地铁上,公车上看,只要把我家里的mac电脑在路由器中设置为可以远程访问唤醒,这样想看电影在那里都可以了。岂不美哉。

3.vlc帮助

下边是vlc的帮助:

./VLC --help
VLC media player 2.1.4 Rincewind (revision 2.1.4-0-g2a072be)

用法: vlc [选项] [流] ... 您可以在命令行中指定多个流。 它们将会被加入到播放列表队列中。 指定的首个项目将被首先播放。

1.选项样式:

--option 用于设置程序执行期间的全局选项。 -option 单符号版本的全局选项 --option。 :option 一个仅在流之前应用的选项, 且将覆盖之前的设置。

2.流 MRL 语法:

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

许多全局 --options 也可被用作 MRL 特定的 :options。 可指定多对 :option=value。

3.URL 语法:

file:///路径/文件                               #纯媒体文件
http://主机[:端口]/文件                           #HTTP URL
ftp://主机[:端口]/文件                            #FTP URL
mms://主机[:端口]/文件                            #MMS URL
screen://                                       #屏幕捕获
dvd://[设备]                                      #DVD 设备
vcd://[设备]                                      #VCD 设备
cdda://[设备]                                     #音频 CD 设备
udp://[[<源地址>]@[<绑定地址>][:<绑定端口>]]       #流服务器发送的 UDP 流
vlc://暂停:<秒数>                               #暂停播放列表一定时间
vlc://退出                                        #指定退出 VLC 的项

未找到匹配的模块。使用 --list 或 --list-verbose 来列出可用模块。

4.音频

--audio, --no-audio                                 #开启音频 (默认开启)
--spdif, --no-spdif                                 #在可能时使用 S/PDIF (默认关闭)
--force-dolby-surround {0 (自动), 1 (开), 2 (关)}   #强制检测杜比环绕声
--audio-replay-gain-mode {none,track,album}         #回放增益模式
--audio-replay-gain-preamp <浮点>                 #回放预放大
--audio-replay-gain-default <浮点>                    #默认回放增益
--audio-time-stretch, --no-audio-time-stretch       #启用音频时间拉伸 (默认开启)
--audio-filter <字串>                             #音频滤镜
--audio-visual <字串>                             #音频可视化效果

5.视频

#全屏幕视频输出 (默认关闭)
-f, --fullscreen, --no-fullscreen       
#总在最前 (默认关闭)    
--video-on-top, --no-video-on-top           
#开启壁纸模式 (默认关闭)
--video-wallpaper, --no-video-wallpaper     
#在视频上显示媒体标题 (默认开启)
--video-title-show, --no-video-title-show   
#显示视频标题 x 毫秒
--video-title-timeout <整数 [-2147483648 .. 2147483647]>  
#视频标题的位置
--video-title-position {0 (居中), 1 (左), 2 (右), 4 (上), 8 (下), 5 (左上), 6 (右上), 9 (左下), 10 (右下)}
#在 x 毫秒后隐藏光标和全屏控制器
--mouse-hide-timeout <整数 [-2147483648 .. 2147483647]>

6.截图:

--snapshot-path <字串>                        #视频截图目录 (或文件名)
--snapshot-prefix <字串>                      #视频截图文件前缀
--snapshot-format {png,jpg,tiff}                #视频截图格式
--snapshot-preview, --no-snapshot-preview       #显示视频截图预览 (默认开启)
--snapshot-sequential, --no-snapshot-sequential #使用顺序编号代替时间戳(默认关闭)

7.窗口属性:

#视频裁剪
--crop <字串>             
#自定义裁剪比列表               
--custom-crop-ratios <字串>               
#源高宽比   
--aspect-ratio <字串>         
#视频自动缩放 (默认开启)          
--autoscale, --no-autoscale                 
#视频缩放因数
--scale <浮点>                        
#自定义高宽比列表   
--custom-aspect-ratios <字串>             
#反交错
--deinterlace {0 (关), -1 (自动), 1 (开)}
#反交错模式
--deinterlace-mode {discard,blend,mean,bob,linear,x,yadif,yadif2x,phosphor,ivtc}
#视频滤镜模块
--video-filter <字串>    
#视频分离器模块
--video-splitter <字串>  

8.子画面

1)屏幕显示:
--osd, --no-osd            #屏幕显示 (默认开启)
2)字幕:
#使用字幕文件
--sub-file <字串>        
#自动检测字幕文件 (默认开启)
--sub-autodetect-file, --no-sub-autodetect-file              
3)覆盖:
--sub-source <字串>      #子画面来源模块
--sub-filter <字串>      #子画面滤镜模块
4)轨道设置:
#音频语言
--audio-language <字串>  
#字幕语言
--sub-language <字串>    
#首选视频分辨率
--preferred-resolution {-1 (最佳可用), 1080 (Full HD (1080p)), 720 (HD (720p)), 576 (标清 (576 或 480 行)), 360 (低清晰度 (360 行)), 240 (极低清晰度 (240 行))}
5)播放控制:
#输入重复
--input-repeat <整数 [-2147483648 .. 2147483647]>
#快速寻找 (默认关闭)
--input-fast-seek, --no-input-fast-seek
#回放速度
--rate <浮点>
6)默认设备:
--dvd <字串>              #DVD 设备
--vcd <字串>              #VCD 设备
--cd-audio <字串>        #音频 CD 设备
7)高级:
--input-title-format <字串>       #根据当前媒体更改标题
8)输入
--stream-filter <字串>        #串流滤镜模块

9.播放列表

1)性能选项:
#永远随机播放文件 (默认关闭)
-Z, --random, --no-random      
#全部重复 (默认关闭)
-L, --loop, --no-loop        
#重复当前的项目 (默认关闭)  
-R, --repeat, --no-repeat      
#播放并退出 (默认关闭)
--play-and-exit, --no-play-and-exit
#播放与停止 (默认关闭)
--play-and-stop, --no-play-and-stop
#自动启动 (默认开启)
--playlist-autostart, --no-playlist-autostart
#音频通信时暂停 (默认开启)
--playlist-cork, --no-playlist-cork
#使用媒体库 (默认关闭)
--media-library, --no-media-library
#显示播放列表树 (默认关闭)
--playlist-tree, --no-playlist-tree
#默认流
--open <字串>
#自动预分析文件 (默认开启)
--auto-preparse, --no-auto-preparse
#专辑封面策略
--album-art {0 (仅手动下载), 1 (在轨道开始播放时), 2 (在轨道被添加后)}
#提示程度 (0,1,2)
-v, --verbose <整数 [-2147483648 .. 2147483647]>
#安静 (默认关闭)
-q, --quiet, --no-quiet    
#写入进程 id 到文件中    
--pidfile <字串>
#显示高级选项 (默认关闭)
--advanced, --no-advanced
#界面交互 (默认开启)
--interact, --no-interact
#界面模块
-I, --intf <字串>
#扩展界面模块
--extraintf <字串>
#控制界面
--control <字串>
2)热键
#鼠标滚轮纵轴控制
--hotkeys-mousewheel-mode {2 (忽略), 0 (音频控制), 1 (位置控制)}
#全屏幕
--global-key-toggle-fullscreen <字串>
#全屏幕
--key-toggle-fullscreen <字串>
#退出全屏
--global-key-leave-fullscreen <字串>
#退出全屏
--key-leave-fullscreen <字串>
#播放/暂停
--global-key-play-pause <字串>
#播放/暂停
--key-play-pause <字串>
#较快
--global-key-faster <字串>
#较快
--key-faster <字串>
#较慢
--global-key-slower <字串>
#较慢
--key-slower <字串>
#正常比率
--global-key-rate-normal <字串>
#正常比率
--key-rate-normal <字串> 
#较快 (好)
--global-key-rate-faster-fine <字串>
#较快 (好)
--key-rate-faster-fine <字串>
#较慢 (好)
--global-key-rate-slower-fine <字串>
#较慢 (好)
--key-rate-slower-fine <字串>
#下一个
--global-key-next <字串> 
#下一个
--key-next <字串>
#上一个
--global-key-prev <字串> 
#上一个
--key-prev <字串>
#停止
--global-key-stop <字串>
#停止
--key-stop <字串>
#非常短的向后跳转
--global-key-jump-extrashort <字串>
#非常短的向后跳转
--key-jump-extrashort <字串>
#非常短的向前跳转
--global-key-jump+extrashort <字串>
#非常短的向前跳转
--key-jump+extrashort <字串>
#短向后跳转
--global-key-jump-short <字串>
#短向后跳转
--key-jump-short <字串>
#短向前跳转
--global-key-jump+short <字串>
#短向前跳转
--key-jump+short <字串>
#中向后跳转
--global-key-jump-medium <字串>
#中向后跳转
--key-jump-medium <字串>
#中向前跳转
--global-key-jump+medium <字串>
#中向前跳转
--key-jump+medium <字串>
#长向后跳转
--global-key-jump-long <字串>
#长向后跳转
--key-jump-long <字串>
#长向前跳转
--global-key-jump+long <字串>
#长向前跳转
--key-jump+long <字串>
#下一帧
--global-key-frame-next <字串>
#下一帧
--key-frame-next <字串>
#退出
--global-key-quit <字串>
#退出
--key-quit <字串>
#音量上
--global-key-vol-up <字串>
#音量上
--key-vol-up <字串>
#音量下
--global-key-vol-down <字串>
#音量下
--key-vol-down <字串>
#静音
--global-key-vol-mute <字串>
#静音
--key-vol-mute <字串>
#切换音轨
--global-key-audio-track <字串>
#切换音轨
--key-audio-track <字串>
#在音频设备之间切换
--global-key-audiodevice-cycle <字串>
#在音频设备之间切换
--key-audiodevice-cycle <字串>
#切换字幕轨道
--global-key-subtitle-track <字串>
#切换字幕轨道
--key-subtitle-track <字串>
#遍历下一节目服务 ID
--global-key-program-sid-next <字串>
#遍历下一节目服务 ID
--key-program-sid-next <字串>
#遍历上一节目服务 ID
--global-key-program-sid-prev <字串>
#遍历上一节目服务 ID
--key-program-sid-prev <字串>
#切换源高宽比
--global-key-aspect-ratio <字串>
#切换源高宽比
--key-aspect-ratio <字串>
#切换视频剪辑
--global-key-crop <字串> 
#切换视频剪辑
--key-crop <字串>
#打开或关闭自动缩放
--global-key-toggle-autoscale <字串>
#打开或关闭自动缩放
--key-toggle-autoscale <字串>
#增大缩放因数
--global-key-incr-scalefactor <字串>
#增大缩放因数
--key-incr-scalefactor <字串>
#减小缩放因数
--global-key-decr-scalefactor <字串>
#减小缩放因数
--key-decr-scalefactor <字串>
#切换反交错
--global-key-deinterlace <字串>
#切换反交错
--key-deinterlace <字串> 
#切换反交错模式
--global-key-deinterlace-mode <字串>
#切换反交错模式
--key-deinterlace-mode <字串>
#全屏时显示控制器
--global-key-intf-show <字串>
#全屏时显示控制器
--key-intf-show <字串>
#在视频输出模式中切换壁纸输出
--global-key-wallpaper <字串>
#在视频输出模式中切换壁纸输出
--key-wallpaper <字串>
#随机顺序
--global-key-random <字串>
#随机顺序
--key-random <字串>
#普通/重复/循环
--global-key-loop <字串>
#普通/重复/循环
--key-loop <字串>
3)缩放:
#1:4 四分之一
--global-key-zoom-quarter <字串>
#1:4 四分之一
--key-zoom-quarter <字串>
#1:2 二分之一
--global-key-zoom-half <字串>
#1:2 二分之一
--key-zoom-half <字串>
#1:1 原始
--global-key-zoom-original <字串>
#1:1 原始
--key-zoom-original <字串>
#2:1 双倍
--global-key-zoom-double <字串>
#2:1 双倍
--key-zoom-double <字串> 
4)跳跃大小:
#非常短的跳转长度
--extrashort-jump-size <整数 [-2147483648 .. 2147483647]>
#短跳转长度
--short-jump-size <整数 [-2147483648 .. 2147483647]>
#中跳转长度
--medium-jump-size <整数 [-2147483648 .. 2147483647]>
#长跳转长度
--long-jump-size <整数 [-2147483648 .. 2147483647]>

--bookmark1 <字串>       #播放列表书签 1
--bookmark2 <字串>       #播放列表书签 2
--bookmark3 <字串>       #播放列表书签 3
--bookmark4 <字串>       #播放列表书签 4
--bookmark5 <字串>       #播放列表书签 5
--bookmark6 <字串>       #播放列表书签 6
--bookmark7 <字串>       #播放列表书签 7
--bookmark8 <字串>       #播放列表书签 8
--bookmark9 <字串>       #播放列表书签 9
--bookmark10 <字串>      #播放列表书签 10

10.其他

#打印 VLC 帮助 
#(可以和 --advanced 和--help-verbose 一起使用) (默认关闭)
-h, --help, --no-help

#VLC 和它模块的全面帮助 (默认关闭)
-H, --full-help, --no-full-help
#打印 VLC 和它全部模块的帮助
#(可以和 --advanced 和 --help-verbose一起使用) (默认关闭)
--longhelp, --no-longhelp  
#在显示帮助时询问是否显示额外的解释 (默认关闭)
--help-verbose, --no-help-verbose

#打印一份可用模块的列表(默认关闭)
-l, --list, --no-list 
#打印一份带详细信息的可用模块列表(默认关闭)
--list-verbose, --no-list-verbose

#输出关于指定模块的帮助 
#(可以和--advanced 和 --help-verbose 一起使用)。
#在模块名前面加 = 可严格匹配。
-p, --module <字串>        
#没有设置选项将会被载入或被保存到设置文件中 (默认开启)
--ignore-config, --no-ignore-config
#重置当前的设置为默认值(默认关闭)
--reset-config, --no-reset-config
#重置当前插件的缓存 (默认关闭)
--reset-plugins-cache, --no-reset-plugins-cache
#打印版本信息 (默认关闭)
--version, --no-version   
#使用可替换的设置文件 
--config <字串> 

说明: add -- 查看您命令行的高级选项。

要获取全面的帮助,请使用 '-H'