OMXPlayer:加速的命令行媒体播放器
安装在树莓派 OS上的是命令行媒体播放器,称为 OMXPlayer 。这是硬件加速的,可以播放许多流行的音频和视频文件格式。
OMXPlayer由 Kodi 项目的 Edgar Hucek开发。
OMXPlayer使用 OpenMAX (omx)硬件加速接口(API),这是树莓派上官方支持的媒体 API 。
基本用法
最简单的命令行是`omxplayer <媒体文件名>。媒体文件可以是音频或视频,也可以是两者。对于以下示例,我们使用了标准树莓派 OS安装随附的 H264 视频文件。
omxplayer /opt/vc/src/hello_pi/hello_video/test.h264
默认情况下,音频被发送到模拟端口。如果您使用带扬声器的配备 HDMI 的显示设备,则需要告诉 omxplayer 通过 HDMI 链接发送音频信号。
omxplayer --adev hdmi /opt/vc/src/hello_pi/hello_video/test.h264
显示视频时,整个显示将用作输出。您可以使用窗口选项指定要在视频的显示部分。
omxplayer --win 0,0,640,480 /opt/vc/src/hello_pi/hello_video/test.h264
您还可以指定要显示视频的哪一部分:这称为裁剪窗口。除非您也使用 window 选项,否则视频的这一部分将按比例放大以匹配显示。
omxplayer --crop 100,100,300,300 /opt/vc/src/hello_pi/hello_video/test.h264
如果您正在使用树莓派 Foundation的触摸屏显示器,并且想将其用于视频输出,请使用 display 选项指定要使用的显示器。 HDMI的 n 为 5 ,触摸屏的 n 为 4 。使用树莓派 4,您有两个 HDMI 输出选项。 HDMI0的 n 为 2 ,HDMI1的 n 为 7 。
omxplayer --display n /opt/vc/src/hello_pi/hello_video/test.h264
播放期间可用的选项
在播放过程中,有许多选项可以通过按相应的键来操作。并非所有文件都提供所有选项。可以使用omxplayer --keys
来显示键绑定的列表:
1降低速度
2提高速度
<倒带
>快进
z显示信息
j先前的音频流
k下一个音频流
我上一章
o下一章
前一个字幕流
下一个字幕流
s切换字幕
w显示字幕
x隐藏字幕
d减少字幕延迟(-250毫秒)
f增加字幕延迟(+ 250毫秒)
q退出 omxplayer
p /空间暂停/恢复
- 减少音量
+/=增加音量
向左箭头搜寻-30秒
向右箭头搜寻+30秒
向下箭头搜寻-600秒
向上箭头搜寻+600秒
所有命令行选项
这是自 2016 年 9 月 23 日起在构建中可用的选项的完整列表,使用omxplayer --help
显示:
- h --help打印此帮助
- v --version打印版本信息
- k --keys打印键绑定
- n --aidx索引音频流索引:例如 1 个
- o --adev设备音频输出设备:例如 hdmi /local/both/alsa [:device]
- i --info转储流格式并退出
- I --with-info转储之前的流格式
- s --stats点和缓冲区统计
- p --passthrough音频直通
- d --deinterlace强制去隔行
--nodeinterlace强制不进行隔行扫描
--nativedeinterlace让显示器处理隔行扫描
--anaglyph类型将 3d 转换为浮雕
--advanced [= 0]为高清视频启用/禁用高级去隔行(默认启用)
- w --hw硬件音频解码
- 3 --3d模式将电视切换到 3d 模式(例如 SBS /TB)
- M --allow-mvc允许解码 MVC 立体声流的两个视图
- y --hdmiclocksync显示刷新率以匹配视频(默认)
- z --nohdmiclocksync不调整显示刷新率以匹配视频
- t --sid index显示带有索引的字幕
- r --refresh调整视频的帧率/分辨率
- g --genlog生成日志文件
- l --pos n起始位置(hh:mm:ss)
- b --blank [= 0xAARRGGBB]将视频背景色设置为黑色(或可选的 ARGB 值)
--loop循环文件。如果文件不可搜索则忽略
--no-boost-on-downmix缩混时不增加音量
--vol n设置初始音量(以毫贝为单位)(默认为 0 )
--amp n设置初始放大倍数(默认为 0 )
--no-osd不在屏幕上显示状态信息--no-keys禁用键盘输入(防止某些 TTY 挂起)--subtitles path UTF-8 srt格式的外部字幕
--font path默认值:/usr/share/fonts/truetype/freefont/FreeSans.ttf
--italic-font path默认值:/usr/share/fonts/truetype/freefont/FreeSansOblique.ttf
--font-size size 1/1000屏幕高度中的字体大小(默认值:55)
--align left/center字幕对齐(默认值:left)
--no-ghost-box字幕后没有半透明的框
--lines n字幕缓冲区中的行数(默认值:3)
--win'x1 y1 x2 y2'设置视频窗口的位置
--win x1,y1,x2,y2设置视频窗口的位置
--crop'x1 y1 x2 y2'设置输入视频的裁剪区域
--crop x1,y1,x2,y2设置输入视频的裁剪区域
--aspect-mode类型信箱,填充,拉伸。如果指定了 win ,则默认值为 Stretch ,否则为 letterbox
--audio_fifo n音频输出 fifo 的大小,以秒为单位
--video_fifo n视频输出 fifo 的大小,以 MB 为单位
--audio_queue n音频输入队列的大小,以 MB 为单位
--video_queue n视频输入队列的大小,以 MB 为单位
--threshold n完成缓冲所需的缓冲数据量[s]
--timeout n暂停的文件/网络操作的超时(默认 10s )
--orientation n设置视频的方向(0、 90 、 180 或 270 )
--fps n设置不存在时间戳的视频的 fps
--live为直播电视或 vod 类型流设置
--layout设置输出扬声器的布局(例如 5 .1)
--dbus_name名称默认值:org.mpris.MediaPlayer2.omxplayer
--key-config <文件>在<文件>中使用键绑定,而不是默认键
--alpha设置视频透明度(0..255)
--layer n设置视频渲染层号(较高的数字在顶部)
--display n将显示设置为输出
--cookie'cookie'作为 HTTP 请求的一部分发送指定的 cookie
--user-agent'ua'发送指定的 User -Agent作为 HTTP 请求的一部分
--lavfdopts'opts'传递给 libavformat 的选项,例如'probesize:250000,...'
--avdict'opts'传递给解复用器的选项,例如'rtsp_transport:tcp,...'