Qt 使用 MPV 开源播放器
前言
因为做的一个项目中需要用到 mpv 来实现播放视频流、暂停、录制等功能,所以写篇博客简单总结下。
MPV Player
mpv 是基于 MPlayer 和 mplayer2 的媒体播放器。它支持多种视频文件格式,音频和视频编解码器以及字幕类型。特殊的输入URL类型可用于从磁盘文件以外的各种来源读取输入。根据平台,支持多种不同的视频和音频输出方法。
mpv 官网:https://mpv.io/
mpv 维基百科:https://github.com/mpv-player/mpv/wiki
mpv 手册页面:https://mpv.io/manual/stable/
mpv OPTIONS:https://github.com/mpv-player/mpv/blob/master/DOCS/man/options.rst
使用 mpv 开发的应用:https://github.com/mpv-player/mpv/wiki/Applications-using-mpv
MPV 提供 的Qt Demo
mpv 官方在这里提供了几个 Qt Demo,具体描述可以看 README.md,我们找到目录下 qt 这个工程,下载下来并配置好 .pro 文件,运行打开视频后的效果图如下:
工程下载:
https://github.com/confidentFeng/QtAppProject/tree/mpvDemo
修改后的 Qt Demo
从 mpv 官方下载来的 Demo 将界面和 mpv 类封装在了一起,不太适合二次开发,所以简单做了下修改,运行打开视频后的效果图如下:
工程下载:
https://github.com/confidentFeng/QtAppProject/tree/mpvDemoModify
客户端 API 示例
播放视频流
// mpv_handle *mpv;
QString filename = "C:\Users\Administrator\Videos\test.mp4";
const char *args[] = {"loadfile", filename.toUtf8().data(), NULL};
mpv_command_async(mpv, 0, args);
mpv_command_async 也可以拉流,或者播放网络上的视频。
暂停
mpv_set_option_string(mpv, "pause", "yes");
如果要取消暂停,可以将 "yes" 改为 "no"。
录制
mpv_set_option_string(mpv, "stream-record", "./out.mp4");
如果要取消录制,可以将 "./out.mp4" 改为 " ",录制到空路径则相当于取消录制。
总结
这里由于篇幅原因,只是简单做了下总结,更多内容可以去查看 MPV 官网、Github 和 维基百科。
Qt 使用 MPV 开源播放器相关推荐
- 开源播放器 ijkplayer (一) :使用Ijkplayer播放直播视频
1.ijkplayer 编码 IjkPlayer支持硬解码和软解码. 软解码时不会旋转视频角度这时需要你通过onInfo的what == IMediaPlayer.MEDIA_INFO_VIDEO_R ...
- 开源播放器 Banshee 发布 1.0 beta 2
Banshee也是个很是不错的开源播放器,同时也是SuSE的内置播放器,默许支持靠山播放,消息区域告诉,可以快速跳过以后曲目,评分等等,也支持全局热键,媒体库支持音频和视频. 新版本提供了对网络视频和 ...
- 基于QT的网络音乐播放器(一)
自学Qt已经有一段时间了,但是始终感觉自己还是很弱(其实并不是感觉自己很弱,是自己本来就很弱,哈哈).自己也照着书上敲了几个例子,但觉得还是要写点东西才能真正运用起来.所以,前段时间就写了个很简单的音 ...
- 树莓派3B qt+mplayer制作音乐播放器(10)
内容 树莓派3B qt+mplayer制作音乐播放器:播放.暂停.上一曲.下一曲,音量调节. 平台:树莓派+qt+mplayer 1.配置 qt安装见此: https://blog.csdn.net/ ...
- 搭建rtmp直播流服务之4:videojs和ckPlayer开源播放器二次开发(播放rtmp、hls直播流及普通视频)...
前面几章讲解了使用 nginx-rtmp搭建直播流媒体服务器; ffmpeg推流到nginx-rtmp服务器; java通过命令行调用ffmpeg实现推流服务; 从数据源获取,到使用ffmpeg推流, ...
- 【基于Qt的在线音乐播放器】
基于Qt的在线音乐播放器 项目功能: 本在线音乐播放器的功能在于创建一个音乐播放器页面,可以实现搜索功能通过HTTP协议获取网络中数据并解析出来,播放搜索到的歌曲并展示相关信息.效果如图: 相关类及功 ...
- QT——制作简易音频播放器
应用前提:只需要从阿里云数据库中读取选定的某一条实验数据的音频(.wav),现在的测试版本只是播放本地音频,所以做的这个音频播放器只有6个功能:播放.暂停.音量条.静音.进度条.显示当前播放进度的时间 ...
- qq浏览器开源播放器_使用极简的开源Web浏览器Min浏览网络
qq浏览器开源播放器 世界是否需要其他Web浏览器? 尽管拥有多种浏览器供选择的日子已经一去不复返了,但是仍然有很多人在开发可以帮助我们使用Web的新应用程序. Min是这些新型浏览器之一. 顾名思义 ...
- FFmpeg —— Win10下使用Qt制作多功能播放器
Win10下使用Qt制作多功能播放器 视频地址 Win10下使用Qt制作多功能播放器 ...int result = avformat_open_input(&avForm ...
最新文章
- 干货丨深度学习初学者必读:究竟什么是张量?
- Spring Boot入门(11)实现文件下载功能
- 电信系统方案 电信综合营帐系统
- P1829 [国家集训队]Crash的数字表格(推了好久的mobius反演)
- flutter 生成文档_Flutter文件操作
- 关于微信小程序,一些想法
- Oracle 无备份情况下的恢复--控制文件/数据文件
- 获取百度云盘真实下载链接(告别云盘客户端,全速下载)
- 长江水位查询天气查询
- Moonstarter IDO 一步一步的操作
- 华为HCNA之IPv6实验
- Leetcode-前缀和
- 怎样让android系统消失,谷歌本以为断供安卓可以让华为手机消失,结果断送了安卓系统的前程...
- Zabbix之SNMP部署心得
- 对称加密之流密码RC4
- 【ant design vue】 生成表格序号
- HTML:路径的写法
- 醉翁之意不在酒 “三维地籍”背后大棋局
- 说说如何通过双网卡,实现同时访问内外网
- 优维科技实力入选《2023深圳金融业信息技术融合创新案例汇编》