Top

本地磁盘小日记ヾ(≧▽≦*)ゝ

世界无限大.且行且珍惜w~
编码.计算机科学与视觉.语言.美术在学/MTF/喜爱创作/不良公主w;

教程:基于Qt与libmpv二次开发一个简易播放器;

| Comments

mpv是一个基于mplayer和mplayer2改版自由开源且开源的媒体播放器的命令行。它支持多种媒体文件格式、音频和视频编解码器以及字幕类型。它与vlc等库封装差不多,支援二次开发,通过读取和设置属性来处理任务。本篇文章将简单介绍如何使用libmpv和qt来二次开发一个GUI前端。

sOnic9.md.png


libmpv功能强大使用简单灵活,因为这个项目涵盖惹目前一般播放器的所有优点(内置ffmpeg解码器、支援ass字幕、支援本地和在线资源解码、支援硬件解码等..),基于它二次开发你只需要封装它的通用处理接口,就能轻松实现使用这些功能,并且还是跨平台的。

这是一些基于libmpv开发的播放器:https://github.com/mpv-player/mpv/wiki/Applications-using-mpv%E3%80%82


mpv官方提供惹一个基于qt的demo,但官方的例子是将界面和类封装在一起惹,可供参考:https://github.com/confidentFeng/QtAppProject/tree/mpvDemo%E3%80%82


这是我基于qt制作的一个简易mpv播放器:https://github.com/MoeDisk/My_MPV_Qt_demo%EF%BC%8C%E4%BB%A3%E7%A0%81%E9%9D%9E%E5%B8%B8%E7%AE%80%E5%8D%95%EF%BC%8C%E4%BD%86%E5%AE%9E%E7%8E%B0%E4%BA%86%E5%A6%82%E4%B8%8B%E5%9F%BA%E6%9C%AC%E5%8A%9F%E8%83%BD%E3%80%82

->mpv_create,创建实例。

->mpv_set_option,设置播放句柄。

->mpv_set_property,设置属性。

->mpv_set_option,设置参数。

->mpv_initialize,初始化实例。

->mpv_command_async,拉流。

->mpv_terminate_destroy,释放实例。

你可以基于如下官方提供的手册来为它添加其他功能。

https://mpv.io/manual/master


最后,感谢mpv,https://mpv.io%E3%80%82%E4%BB%A5%E5%90%8E%E8%BF%98%E4%BC%9A%E7%BB%A7%E7%BB%AD%E6%9B%B4%E6%96%B0%E7%9B%B8%E5%85%B3%E5%8D%9A%E6%96%87~


@本地磁盘姬

ohayou.aimo.moe

微博:@本地磁盘姬碟酱

Twitter:本地磁盘姬

知乎:本地磁盘姬

2020年09月28日

Comments