通过网络或安卓手机远程控制媒体播放器
carrie的Python项目详细描述
简介
这是一个通过网络命令控制媒体播放的远程控制工具。媒体播放器必须是Linux机器,控制器可以是Web浏览器或Android设备。
支持的播放器有:
- Firefox或Chromium浏览器上的YouTube。
- 关于Firefox或Chromium的BBC iPlayer。
- MPlayer
此项目不是媒体中心。没有启动媒体播放或更改正在播放的文件的功能。carrie
仅用于控制已在播放的视频。可用的功能有:
- 播放/暂停
- 全屏切换
- 音量增大和减小
- 静音
如果客户端播放器是mplayer
,则可以使用以下附加功能:
- 向前/向后跳过
- 切换全屏、OSD、字幕可见性
- 更改音频和字幕语言。
屏幕截图
请参阅doc
目录。
它是如何工作的?
carrie
是在执行媒体播放的计算机上运行的进程。它打开一个端口(默认为5505),并提供一个简单的web界面。或者,android应用程序可以从android手机或平板电脑向同一端口发送命令。
当收到命令时,服务器将尝试控制显示Flash视频的Web浏览器。如果找不到,服务器将尝试通过fifo对象控制mplayer—这使用mplayer
的“从模式”功能。mplayer
必须事先配置,才能监听fifo。
限制
由于没有与flash视频通信的api,服务器进程发送假鼠标事件进行控制。这必须为浏览器和视频站点的每个组合配置。
许可证
服务器和应用程序是根据gplv3授权的。
为什么用这个而不用另一个遥控器?
Android设备还有其他遥控器,功能更丰富。carrie
适用于那些已经有了启动媒体播放的方法,并且只想添加一些远程功能的用户。
我推荐的其他遥控器是:
- sshmote:android的媒体中心。不需要任何特殊的服务器软件,除了运行ssh服务器的unix兼容操作系统。
- teamviewer:从web浏览器或手机上控制windows或linux机器。
要求
要运行服务器:
- Python2.7+(编程语言)
- flask(轻量级python web服务器框架)
- xdool(模拟鼠标和键盘事件的命令行工具)
- xwininfo(用于读取窗口信息的命令行工具)
要控制服务器:
- 网络浏览器
要使用移动电话小程序:
- 运行Android Froyo(2.1)或更高版本的Android设备
服务器安装
首先安装服务器软件:
> sudo pip install carrie
或来源:
> python setup.py build > sudo python setup.py install
或者没有根访问:
(download and uncompress tarball from http://pypi.python.org/pypi/carrie) > python setup.py build > virtualenv $HOME/.carrie-env > . $HOME/.carrie-env/bin/activate > python setup.py install
要将mplayer
配置为通过fifo接受命令,请编辑$HOME/.mplayer/config
,并添加此行:
input=file=/tmp/mplayer.fifo
mplayer的任何新实例都将连接到fifo并监听命令。这不会影响MPlayer的正常使用。fifo将在启动时由carrie
创建,或者主要使用:
> mkfifo /tmp/mplayer.fifo
启动服务器
运行:
> carrie
这将启动服务器并监听端口5505,使用fifo on/tmp/mplayer.fifo与mplayer通信。如果不存在FIFO,则将创建FIFO。
运行:
> carrie -h
查看可用选项。
要在与终端分离的后台运行,请使用:
> nohup carrie 2>&1 > /dev/null &
通过浏览器控制
打开网页浏览服务和访问:
http://<server>:5505
为了控制flash视频,应该从显示视频的屏幕的不同窗口或不同的计算机上进行。无法从其他选项卡控制一个选项卡上的视频。
Android应用程序安装
要么从github下载完整的项目并编译android应用程序,要么在android市场上搜索carrie。
更改和新闻
0.3(2012-01-06)
- Added ‘About’ server page, release application to Android marketplace.
0.2(2012-01-05)
- Initial pypi release