mplayer-php,使用MPlayer开发万能播放器-原理篇
先秀一秀效果图:
1、MPlayer简介
MPlayer是一款开源多媒体播放器,以GNU通用公共许可证发布。此款软件可在各主流作业系统使用,例如Linux和其他类Unix系统、Windows及Mac OS X系统。
MPlayer建基于命令行界面,在各作业系统也可选择安装不同的图形界面。mplayer的另一个大的特色是广泛的输出设备支持。它可以在X11、Xv、DGA、OpenGL、SVGAlib、fbdev、AAlib、DirectFB下工作,且能使用GGI和SDL和一些低级的硬件相关的驱动模式(比如Matrox、3Dfx和Radeon、Mach64、Permedia3)。MPlayer还支持通过硬件MPEG解码卡显示,如DVB 和DXR3与Hollywood+。
MPlayer的开发始于2000年。最初的作者是 Arpad Gereoffy。MPlayer最初的名字叫"MPlayer - The Movie Player for Linux",不过后来开发者们简称其为"MPlayer - The Movie Player",原因是MPlayer已经不仅可以用于Linux而可以在所有平台上运行。
MPlayer下载地址:http://Jempson.7958.com/down_10948103.html
2、实现原理为MPlayer编写GUI程序有两种方法:
a、MPlayer源码
这种方法需要读懂MPlayer的源码,直接修改他里面的代码,这样我们做得界面就能够和MPlayer一体了(当然也能够通过link mplayer用到的任何的库和.o文档,把他无缝的集成在程式里面)
b、使用Slave模式所谓的slave模式,就是mplayer在运行过程中能够接收用户的输入命令行,具体支持哪些命令行,能够通过mplayer -input cmdlist这条命令来得到,在Mplayer源码的slave.txt中也有对这些命令有详细的讲解。Slave模式下工作的Mplayer可以和系统的标准输入、输出进行信息交互。我们可以用linux C编程来完成对slave模式工作的Mplayer进行控制和信息获取。
由于使用aardio开发,所以使用方案B。3、Slave模式命令
Slave模式命令繁多,主要的有以下几个(来自文档:http://dd.ma/ffQiTkCK):
MPlayer暂停:
pause Pause/unpause the playback.
MPlayer标准时间输出:
get_time_pos Print out the current position in the file in seconds, as float.
get_time_length Print out the length of the current file in seconds.
等等:了解全面命令,下载文档:http://dd.ma/ffQiTkCK
mplayer-php,使用MPlayer开发万能播放器-原理篇相关推荐
- vueJs开发音乐播放器第二篇(点击歌单跳出详情页)
继上一篇开发音乐播放器歌单列表页 (1.使用router定义跳转链接,2. 使用axios得到音乐第三方数据,并渲染到页面上,3.组件之间传值(props)) 1.接下来使用了vue-router路由 ...
- linux播放器切换,让mplayer成为linux下的万能播放器(更新)
1下载安装mplayer需要的各种软件 去这里下载 MPlayer-1.0rc1.tar.bz2 下载你喜欢的skin 例如你下载 Abyss-1.6.tar.bz2 下载必需的code all-20 ...
- 让MPlayer成为Linux下的万能播放器
1下载安装mplayer需要的各种软件 去这里下载http://www.mplayerhq.hu/MPlayer/ MPlayer-1.0rc1.tar.bz2 下载你喜欢的skin 例如你下载 Ab ...
- 万能播放器mplayer
1)万能播放器mplayer 这是个linux下面很流行的播放器,系统安装完后自带的有音频和视频播放器,但是都没有很全的解码器,所以很多东西都不能播放. 从源上下载并安装mplayer: sudo a ...
- linux下安装万能播放器mplayer
1.下载相关codes ( http://www.mplayerhq.hu/MPlayer/ ) 主要都在这里 Mplayer-1.0rc1.tar.bz2(主程序)( http://www.mpla ...
- Fedora万能播放器Mplayer安装教程
转:-- Fedora万能播放器Mplayer安装教程 其实Linux(Fedora/Ubuntu/CentOS)下编译安装一个应用程序都是大同小异的,步骤都差不多.在安装前查看软件解压文件夹中的 R ...
- Vitamio打造自己的Android万能播放器
前言 虽然Android已经内置了VideoView组件和MediaPlayer类来支持开发视频播放器,但支持格式.性能等各方面都十分有限,这里与大家一起利用免费的Vitamio来打造属于自己的And ...
- 使用Vitamio打造自己的Android万能播放器(1)——准备
前言 虽然Android已经内置了VideoView组件和MediaPlayer类来支持开发视频播放器,但支持格式.性能等各方面都十分有限,这里与大家一起利用免费的Vitamio来打造属于自己的And ...
- 使用Vitamio打造自己的Android万能播放器(7)——在线播放(下载视频)
前言 本章将实现非常实用的功能--下载在线视频.涉及到多线程.线程更新UI等技术,还需思考产品的设计,如何将新加的功能更好的融入到现有的产品中,并不是简单的加一个界面就行了,欢迎大家交流产品设计和技术 ...
最新文章
- 几何画板对象标签的几个疑问
- 华为鸿蒙游戏引擎,打破技术封锁!鸿蒙OS后,国产顶级游戏引擎也已问世!
- 线性回归用matlab怎么做,matlab中如何应用regress()函数进行线性回归分析?
- 自学python到什么程度可以找工作-Python学到什么程度才可以去找工作?掌握这4点足够了!...
- 可以解压日文的软件_日文换成中文字体就不好看?我偏不信这个邪!
- Java学习之Servlet-doGet()与doPost()
- 【SpringBoot_ANNOTATIONS】 生命周期 03 @PostConstruct @PreDestroy
- 计算机体系结构及组成原理
- idea导出war包并部署在tomact
- 【英语语法入门】 第14讲 副词
- 'C 语言' | 全排列解桥本分数式问题
- python学习-day9内置函数(高阶)
- allgro pcb铜皮编辑_Allegro设计PCB基础知识:快捷键设置、铜皮处理、DC-DC布局布线、电源分割等等...
- java defunct_神奇的僵尸进程问题
- mapreduce面试问题_MapReduce问题与解答第2部分
- 软件测试项目流程报告,周口软件测试报告流程,科技项目申报
- 什么OKR,分明是中华田园KPI
- Kerberos认证流程
- linux使用:解决克隆虚拟机后UP BROADCAST RUNNING MULTICAST问题
- TooManyCells:用于识别与可视化单细胞关系的方法