Difference between revisions of "APITestPage"
From FriendlyELEC WiKi
(updated by API) |
(updated by API) |
||
Line 1: | Line 1: | ||
− | === | + | ===mpv播放器=== |
− | + | FriendlyCore预装了基于 ffmpeg 实现的命令行视频播放器,除了 mpv 播放器本身,也包含了 libmpv 库文件,方便在程序里调用。<br /> | |
− | + | mpv播放器支持 Rockchip MPP,所以支持4K硬解播放,mpv的参数较多,为了简化使用,我们提供了一个脚本 '''start-mpv''',简化后,只要传文件名给它,就可以播放视频了: | |
− | + | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
− | / | + | start-mpv /home/pi/demo.mp4 |
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | 需要注意的是,播放时需要使用pi用户登录,因为其它用户的目录里没有mpv相关的设置,当然你可以从pi用户目录复制一份过来也是可以的,mpv的设置文件存放在以下路径: | |
− | + | <syntaxhighlight lang="bash"> | |
− | + | /home/pi/.config/mpv/mpv.conf | |
+ | </syntaxhighlight> | ||
+ | mpv.conf的文件内容如下所示: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | 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 | ||
+ | </syntaxhighlight> | ||
+ | 这些都是比较重要的,会传递给 mpv 的参数,其中hwdec需要指定为rkmpp才能开启硬件解码,audio-device用于指定音频输出设备,默认输出到HDMI,你可以用以下命令来查询系统中有哪些音频设备: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | mpv --audio-device=help | ||
+ | </syntaxhighlight> | ||
+ | 另一个比较重要的参数是 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 的脚本内容。<br /> | ||
+ | mpv使用说明:https://github.com/mpv-player/mpv/wiki <br /> |
Revision as of 10:13, 20 December 2018
mpv播放器
FriendlyCore预装了基于 ffmpeg 实现的命令行视频播放器,除了 mpv 播放器本身,也包含了 libmpv 库文件,方便在程序里调用。
mpv播放器支持 Rockchip MPP,所以支持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