appemit使用mplayer在谷歌chrome浏览器播放RTSP

本文介绍了如何在谷歌Chrome浏览器中使用MPlayer播放RTSP流媒体。MPlayer是一款开源的多媒体播放器,支持多种操作系统。文章提到了两种实现方式,其中一种是通过MPlayer的slave模式,通过命令行接口进行控制。详细阐述了MPlayer的slave模式原理,以及在Chrome中播放RTSP的命令行参数。此外,还解释了为何使用MPlayer的slave模式不会违反GPL条款。
摘要由CSDN通过智能技术生成

 A 方案 VLC播放rtsp

B 方案mplayer播放rtsp

C方案 mpvPlayer播放rtsp

1、MPlayer简介
       MPlayer(http://www.mplayerhq.hu/design7/news.html)是一款开源多媒体播放器,以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而可以在所有平台上运行。
       MPlayer1.3下载地址: https://jaist.dl.sourceforge.net/project/mplayerwin/MPlayer-MEncoder/r38151/

 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进行控制和信息获取。
       
       appemit使用方案B。
       
        进程间调用(即GPL条款中执行独立程序的行为)不会被GPL传染,除非进程间交换了复杂的内部结构体(exchanging complex internal data structures). 而且GPL的程序也可以与非GPL的独立程序一起储存传播 - 所谓单纯聚集行为(Mere aggregation ),所以只要不违反GPL条款打包在一起没什么问题。
        参考官方FAQ: http://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.html
        MPlayer的slave模式是基于命令行的进程间调用、涉及不到复杂的内部结构体、所以调用代码不会被GPL传染。
        一个例子是MPlayer官网上的链接的slave组件libplayer使用的就是LGPL。


谷歌播放效果

mplayer的命令模式:

mplayer  -slave  -quiet -input file=../tmp/cmd_fifo   -geometry  100:100  -zoom -x 800 -y 480  1.avi  

-slave  :利用从模式打开mplayer 播放器    (只有在从模式下,才可以接受用户的命令)
-quiet  :去除杂项信息  
-input file:指定mplayer 命令

appemit 支持chrome firefox edge IE等浏览器最新版本开发、调用dll,ocx, flash appemit.com 最新版本 AppEmit是应用程序(尤其是浏览器)与本地程序间互相通信的易扩展的轻量级中间件。 AppEmit is an extensible lightweight middleware for communication between applications (especially browsers) and local programs. 主要采用了HTML5国际标准的Web Socket进行通话,默认为异步, JSON格式传递参数。  主要功能: 1) 在几乎所有浏览器播放含有flash的网页或Flash文件,包括swf交互动画、flv影视等 2) 在浏览器打开、操作本地文件,比如阅读PDF;创建、阅读、编辑Office文件,且支持JavaScript代码操作 3) 在浏览器中调用第三方DLL、OCX组件以及系统winApi函数,tcc、python、lua等 4) 开发本地硬件DLL驱动模块的封装插件,实现在网页中操作控制本地的读卡器、打印机、扫描仪、高拍仪、U盾等各种硬件设备 5) 各个应用程序之间通信,比如聊天 6) 在Chrome里嵌入IE内核网页,保护源码,可以不修改原有的ActiveX读取html,同时支持开源内核wke和blink  解决问题 1) 国际市场份额68%以上的chrome浏览器(数据来源Netmarketshare;国内25%以上)在2020年12月后不再支持flash,而微软的edge也不支持ActiveX。 2) 客户习惯使用浏览器来处理各种业务。 3) 游戏商、银行、医院、电力、硬件等企业客户使用dll、ActiveX、flash等文件的场景需要。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值