树莓派使用omxplayer播放电影

时间:2024-02-25 18:17:26

播放神器——Omxplayer
树莓派是支持1080P电影播放的,那么在命令行操作的情况下怎么才能播放1080P电影,及高质量无损音乐呢。经过几款播放器的横向对比,最终笔者推荐播放神器——Omxplayer 。

树莓派中的CPU性能较差,而GPU较强大,omxplayer这个命令行播放器,是专门针对树莓派优化了的GPU的播放器,支持硬件解码。支持格式:MKV、AVI、FLV、MP4

默认树莓派里安装了omxplayer,如没有也可以自行下载安装。

首先下载并安装omxplayer,当然也可以去官方下载最新版

  • wget http://omxplayer.sconde.net/builds/omxplayer_0.3.6~git20150505~b1ad23e_armhf.deb
  • dpkg -i omxplayer_0.3.6~git20150505~b1ad23e_armhf.deb

这样就完成了安装,测试播放视频,打开终端输入命令

  • sudo omxplayer -o local /mnt/disk/movie.mp4

注意这里我是通过3.5寸耳机孔输出音频,如果你是通过hdmi输出,需要换成

  • sudo omxplayer -o hdmi /mnt/disk/movie.mp4

全屏播放的参数是 -r :sudo omxplayer -r -o local videfile.mp4

可以看到视频开始播放,键盘上下左右可以控制进度,+和-控制声音,空格控制暂停播放。这样基本的播放功能实现了。可是画面不是全屏,上下本应该是黑条的地方现在看到的是桌面,于是通过搜寻,发现使用xtrem终端打开并设置终端的背景色为黑色,可以模拟出全屏的效果。

  • sudo xterm -fullscreen -fg black -bg black -e omxplayer -o local /mnt/disk/movie.mp4

这样基本就实现了全屏播放视频。剩下还有个问题,对于习惯了win双击的我们来说,每次播放还得输入命令行实在有些不方便,那么如何来设置双击调用omxplayer播放视频呢,右击视频文件,选择“打开方式”,找到“自定义命令行”,在应用程序名称中输入sudo xterm -fullscreen -fg black -bg black -e omxplayer -o local %f,勾上“将选择的应用程序作为对这种文件类型的默认操作”,确认即可。此时再双击这个视频,既可以直接调用omxplayer播放了。

 

打造音乐播放器
omxplayer除了播放视频格式,也是支持音频播放的(如mp3),而且可以在终端中输入命令来进行当前目录内歌曲循环播放:

sudo for i in *;do omxplayer $i;done
当然这只是shell语句的一个简单的循环,不过我们可以在当前目录写出一些python的脚本,利用python调用系统命令的功能,也可以完成循环播放,随机播放,批量修改歌曲名等功能。

如果需要设置双击打开音乐文件的方式时,如上设置双击调用omxplayer播放视频,但是记得选中“在终端模拟器中执行”,对于oxmplayer播放mp3失败,提示“failed to open vchiq instance”的情况,执行以下命令

  • sudo chmod a+rw /dev/vchiq

之后就可以正常播放了。

----------------------------------------------------------------------------------------------------------

终端时候的相关参数:

$ omxplayer --help
Usage: omxplayer [OPTIONS] [FILE]
Options :
-h / --help                             print this help                                                   帮助
-a / --alang language          audio language        : e.g. ger                           音频语言
-n / --aidx  index                 audio stream index    : e.g. 1                             音频流索引
-o / --adev  device              audio out device      : e.g. hdmi/local                 音频输出方式
-i / --info                             dump stream format and exit                                  
-s / --stats                          pts and buffer stats                                             统计点和缓冲统计                       
-p / --passthrough             audio passthrough                                                     
-d / --deinterlace               deinterlacing                                                         逐行扫描          
-w / --hw                           hw audio decoding                                                硬件音频解码           
-3 / --3d                            switch tv into 3d mode                                           切换电视到3D模式      
-y / --hdmiclocksync         adjust display refresh rate to match video             调整显示器的刷新率以匹配视频                            
-t / --sid index                   show subtitle with index                                         显示字幕与索引    
-r / --refresh                     adjust framerate/resolution to video                        刷新调整帧率/分辨率视频          

下边是播放时的操作:

z           Show Info                          显示信息
1           Decrease Speed                 减速         
2           Increase Speed                  加速    
j            Previous Audio stream       上一个音频流                    
k           Next Audio stream             下一个音频流       
i            Previous Chapter               上一帧                
o           Next Chapter                    下一帧      
n           Previous Subtitle stream    上一个字幕流             
m          Next Subtitle stream          下一个字幕流           
s           Toggle subtitles                  切换字幕  
d           Subtitle delay -250 ms       字幕提前250毫秒             
f            Subtitle delay +250 ms     字幕延迟250毫秒         
q           Exit OMXPlayer                 退出OMXPlayer           
Space or p  Pause/Resume             暂停/恢复       
-           Decrease Volume              音量减        
+          Increase Volume               音量加           
Left Arrow  Seek -30 s                     
Right Arrow Seek +30 s                    
Down Arrow  Seek -600 s                     
Up Arrow    Seek +600 s