Template:RK3399 Linux mpv/zh

From FriendlyARM WiKi
Jump to: navigation, search

mpv硬解播放器

FriendlyCore预装了基于 ffmpeg 实现的命令行视频播放器,除了 mpv 播放器本身,也包含了 libmpv 库文件,方便在程序里调用。
mpv播放器支持 Rockchip MPP video decoder,所以支持4K硬解播放,mpv的参数较多,为了简化使用,我们提供了一个脚本 start-mpv,简化后,只要传文件名给它,就可以播放视频了:

start-mpv /home/pi/demo.mp4

需要注意的是,播放时需要使用pi用户登录,因为其它用户的目录里没有mpv相关的设置,当然你可以从pi用户目录复制一份过来也是可以的,mpv的设置文件存放在以下路径:

/home/pi/.config/mpv/mpv.conf

mpv.conf的文件内容如下所示:

vo=gpu
gpu-context=drm
hwdec=rkmpp
demuxer-max-bytes=41943040
demuxer-max-back-bytes=41943040
drm-osd-plane-id=1
drm-video-plane-id=0
audio-device=alsa/default:CARD=rockchiphdmi

这些都是比较重要的,会传递给 mpv 的参数,其中hwdec需要指定为rkmpp才能开启硬件解码,audio-device用于指定音频输出设备,默认输出到HDMI,你可以用以下命令来查询系统中有哪些音频设备:

mpv --audio-device=help

另一个比较重要的参数是 drm-osd-size,当全屏播放视频时,drm-osd-size指定为屏幕的分辨率即可,这个参数由start-mpv自动获取屏幕参数并传给mpv,start-mpv脚本除此之外,还会做一件更重要的事情,它需要保证系统中的 libmali 库用了正确的版本,因为 mpv 是通过 gbm 来渲染画面的,所以 libmali.so 需要使用这个版本: libmali-midgard-t86x-r14p0-gbm.so,这也意味着,这个版本的mpv只能在FriendlyCore下使用,不能在X11 Desktop下使用,具体细节可以自已查看 start-mpv 的脚本内容。
mpv官方使用指南:https://github.com/mpv-player/mpv/wiki