Skip to content

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,...'