Linux下播放器开发-Mplayer命令行使用介绍

2022-05-11 09:32:37 浏览数 (1)

1. 前言

前面文章介绍了Linux下Mplayer播放的交叉编译、移植,在命令行上成功运行了mplayer播放器,完成了视频播放。mplayer支持二次开发,也支持命令行上直接使用;如果在命令行上直接运行,mplayer会默认捕获键盘事件,支持很多快捷键,也支持很多的命令行参数,可以完成视频播放、循环播放设置、播放列表设置、将视频里的音频文件输出保存,将视频帧保存为图片,设置播放速度等等。

这篇文章就介绍mplayer命令的快捷键用法,常用的命令参数用法。

2. 快捷键介绍

2.1 倒退与快进

在播放文件的时候,可以通过下面的快捷键对播放的进程进行倒退与快进操作:

代码语言:javascript复制
左方向键和右方向键:分别执行倒退 10 秒和快进 10 秒操作 
下方向键和上方向键:分别执行倒退 1 分钟和快进 1 分钟操作 
下翻页键和上翻页键:分别执行倒退 10 分钟和快进 10 分钟操作 

2.2 加载字幕

播放视频文件时,可以加载字幕,语法如下:

代码语言:javascript复制
mplayer -sub <somesubtitlefile> <somefile>

2.3 暂停与继续切换

代码语言:javascript复制
p 或 Space        暂停/继续播放。 
q 或 Esc          退出 MPlayer。 

2.4 声音控制

代码语言:javascript复制
/ 和 * 或 9 和 0  减小或增大音量。 
m                 静音切换。 

2.5 画面显示效果调整

代码语言:javascript复制
x 和 z-调整字幕的延迟时间。  
1 和 2-调整对比度。 
3 和 4-调整亮度。 
5 和 6-调整色度。 
7 和 8-调整饱和度。

3. 命令行用法介绍

3.1 查看mplayer帮助

代码语言:javascript复制
[root@XiaoLong /video_mp3]#mplayer --help
Basic options: (complete list in the man page)
 -vo <drv>        select video output driver ('-vo help' for a list)
 -ao <drv>        select audio output driver ('-ao help' for a list)
 vcd://<trackno>  play (S)VCD (Super Video CD) track (raw device, no mount)
 dvd://<titleno>  play DVD title from device instead of plain file
 -alang/-slang    select DVD audio/subtitle language (by 2-char country code)
 -ss <position>   seek to given (seconds or hh:mm:ss) position
 -nosound         do not play sound
 -fs              fullscreen playback (or -vm, -zoom, details in the man page)
 -x <x> -y <y>    set display resolution (for use with -vm or -zoom)
 -sub <file>      specify subtitle file to use (also see -subfps, -subdelay)
 -playlist <file> specify playlist file
 -vid x -aid y    select video (x) and audio (y) stream to play
 -fps x -srate y  change video (x fps) and audio (y Hz) rate
 -pp <quality>    enable postprocessing filter (details in the man page)
 -framedrop       enable frame dropping (for slow machines)

Basic keys: (complete list in the man page, also check input.conf)
 <-  or  ->       seek backward/forward 10 seconds
 down or up       seek backward/forward  1 minute
 pgdown or pgup   seek backward/forward 10 minutes
 < or >           step backward/forward in playlist
 p or SPACE       pause movie (press any key to continue)
 q or ESC         stop playing and quit program
   or -           adjust audio delay by  /- 0.1 second
 o                cycle OSD mode:  none / seekbar / seekbar   timer
 * or /           increase or decrease PCM volume
 x or z           adjust subtitle delay by  /- 0.1 second
 r or t           adjust subtitle position up/down, also see -vf expand

 * * * SEE THE MAN PAGE FOR DETAILS, FURTHER (ADVANCED) OPTIONS AND KEYS * * *

MPlayer 1.1-4.5.1 (C) 2000-2012 MPlayer Team

3.2 播放媒体文件

使用mplayer播放媒体文件最简单的方式如下:

代码语言:javascript复制
mplayer <somefile>

直接在命令行后面跟上要播放的媒体文件,mplayer会自动检测文件,打印出状态信息,完成播放。如果是音频文件,在命令行上会输出音频文件的专辑信息、作者、创作等信息,并完成音频输出;如果是视频文件会输出图像,展示视频画面。

用法示例:

代码语言:javascript复制
[root@XiaoLong /video_mp3]# mplayer july_my_soul.mp3   播放MP3文件
[root@XiaoLong /video_mp3]# mplayer zuixuanminzufeng.mp4  播放MP4文件

3.2 播放流媒体

mplayer可以播放rtsp、rtmp等流媒体连接,语法如下:

代码语言:javascript复制
mplayer -playlist <file or url>

如果播放不流畅,可以设置缓冲区大小:

代码语言:javascript复制
mplayer -cache 8192 -playlist <file or url>

使用示例:

代码语言:javascript复制
拱北口岸珠海过澳门大厅摄像头流媒体地址访问示例:
[root@XiaoLong /video_mp3]# mplayer -framedrop rtsp://218.204.223.237:5
54/live/1/66251FC11353191F/e7ooqwcfbqjoo80j.sdp -zoom -x 800 -y 480

带缓冲访问示例:
[root@XiaoLong /video_mp3]# mplayer -cache 8192 
-framedrop rtsp://218.204.223.237:554/live/1/66251FC11353191F/e7ooqwcfbqjoo80j.sdp -zoom -x 800 -y 480

3.3 设置循环播放

语法如下:

代码语言:javascript复制
mplayer -loop 3 <somefile>

上面命令表示循环播放源文件3次。

如果想一直循环播放某一个视频,可以将loop后面填0。例如:

代码语言:javascript复制
mplayer -loop 0 <somefile>

3.4 设置播放速度

语法如下:

代码语言:javascript复制
mplayer -speed 2.0 <somefile>

上面命令行里的 -speed 表示设置文件的播放速度,可以填入浮点数,正常速度是1.0,可以填0.5、1.0、2.0、3.0等等。

如果想两倍速播放,可以这样填:

代码语言:javascript复制
mplayer -speed 2.0 <somefile>

3.5 音频文件另存为

如果想将视频里的音频数据剥离出来,可以采用下面的命令:

代码语言:javascript复制
mplayer -ao pcm <somefile>

运行之后,输出的音频文件名称默认为audiodump.wav

如果想指定音频文件的名称,可以这样写:

代码语言:javascript复制
mplayer -ao pcm:file=<filename>.wav <somefile>

3.6 输出图片帧

将视频帧全部生成图片输出,命令格式如下:

代码语言:javascript复制
mplayer -vo jpeg <somefile>

上面的命令行运行后,会输出一大堆图片文件,格式像这种: 00000001.jpg、00000002.jpg、00000003.jpg 排列的。 如果想输出其他图片格式,把后缀改掉就行。

3.7 设置纵横比

在不同尺寸的屏幕上,可以设置播放的效果,常见的电脑都是16:9 的占比,可以设置纵横比为16:9。

代码语言:javascript复制
mplayer -aspect 16:9 <somefile>

也可以设置其他占比,比如 4:3

代码语言:javascript复制
mplayer -aspect 4:3 <somefile>

3.8 创建播放列表

如果想播放指定的几个视频文件,可以将这些视频文件添加到播放列表里,让mplayer播放这个列表。

代码语言:javascript复制
1. 将当前目录下的所有MP4文件加入到lst列表文件中:
[root@XiaoLong /video_mp3]# ls ./*.mp4 > video.lst

2. 单个文件添加:
[root@XiaoLong /video_mp3]#echo music.mp3 >> video.lst

3. 删除:
用编译器打开music.lst删除你想删除的

4. 播放列表文件:
[root@XiaoLong /video_mp3]# mplayer -playlist video.lst 

3.9 设置显示器的尺寸

在开发板上播放视频时,如果视频的尺寸大于了开发板LCD屏的画面,视频超出的部分就无法正常显示,这种情况可以设置LCD屏尺寸,让mplayer 缩放画面,匹配LCD屏的尺寸。

语法:

代码语言:javascript复制
mplayer -zoom -x <x> -y <y> <somefile>

示例:

代码语言:javascript复制
[root@XiaoLong /video_mp3]# mplayer -zoom -x 800 -y 480 zuixuanminzufeng.mp4

3.10 全屏播放

想让mplayer 自己适应屏幕,除了上面的设置尺寸命令外,还有一个更加方便的命令,设置全屏:

代码语言:javascript复制
mplayer -fs <somefile>
示例:
[root@XiaoLong /video_mp3]# mplayer -fs zuixuanminzufeng.mp4 

0 人点赞