查看: 15578|回复: 13

RaspCTL--将树莓派打造成视频机顶盒--支持优酷,迅雷,PPS等...

  [复制链接]
  • TA的每日心情
    开心
    2012-11-23 16:50
  • 签到天数: 15 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    发表于 2013-1-23 20:06:13 | 显示全部楼层 |阅读模式
    分享到:

    来至原文:https://code.google.com/p/stonelab/wiki/RaspCTL

    什么是RaspCTL
    RaspCTL是Raspberry Pi和Control字母的组合,表示树莓派控制端。 RaspCTL是一款通过手机终端(泛义上包括手机,平板,电脑等设备)控制树莓派的软件。
    目前,通过Raspberry&RaspCTL组合,打造成家庭多媒体播放机顶盒,在此场景中,RaspCTL非常类似XBMC平台。
    未来,会不断扩展RaspCTL功能,成为控制家庭物联网的设备中心,比如控制摄像头,空调开关等。此乃后话,按下不表。
    为什么选择Raspberry Pi&RaspCTL为什么选择Raspberry Pi
    我们先来看看Raspberry Pi的相关参数:
    CPU700 MHz, ARM1176JZF-S
    GPU(显卡)Broadcom VideoCore? IV,OpenGL ES 2.0, 1080p30 h.264/MPEG-4 AVC high-profile decoder
    MEM(内存)512M
    分辨率1080P
    输出接口1*SD口 2*USB口 1*音频口 1*HDMI口 1*网卡
    尺寸85.6 x 53.98 x 17mm (一张信用卡大小)
    价格$35

    好吧,一起来总结下Raspberry Pi的优势吧
    • 小巧:只有一张信用卡大小
    • GPU强悍: 硬解1080P,30帧/S,通俗地将,差不多是iphone4S手机的2倍性能
    • 输出接口丰富: 包括2*USB,1*HDMI
    • 性价比高:$35
    从这些特性看,Raspberry非常合适充当高清视频播放机顶盒,来替代目前的华数机顶盒(华数官方垄断,费用高,质量差)。 家庭中,只要购置了Raspberry Pi和宽带,高清电影电视,免费看。 :)
    为什么选择RaspCTL
    只有一个原因:Raspberry Pi CPU很弱:700MHZ。 同样,我们来看一组数据:
    • Raspbian Terminal下 CPU LOAD在0.2左右
    • Raspbian XWindows下, CPU占用率差不多在70%以上
    • XBian下,CPU占用率在95%以上

    如果,Raspberry Pi CPU能强悍那么一点点,那么XBian一定是首选,我也不会重新创造RaspCTL这个轮子了。只是目前,XBMC在Raspberry Pi(XBian)上的性能太糟糕了。 从数据看,只有在Raspbian Terminal下的性能,才能符合用户的期望,所以作者编写了RaspCTL这个控制端。通过手机终端的界面,来操作Raspbian Terminal,实现多媒体播放的功能。
    RaspCTL功能特性V0.1.0
    • 支持视屏,音频播放
      • 支持播放,暂停,停止,快进,快退,播放列表,上一首,下一首等
    • 支持本地文件查看
      • 查看多媒体文件
    • 配置系统信息
      • 配置多媒体文件根路径等
    • 视频网站真实URL分析
      • 支持包括优酷,土豆,迅雷,百度等82个网站视频URL分析
    • 制定Plugins规范
      • 可非常方便开发RaspCTL Pugin

    V0.1.1
    • 增加百度视频插件
      • 使用百度视屏搜索,支持优酷,迅雷看看,PPS,乐视,CNTV,电影网,风行网视频
    • 树莓派 重启 & 关机 功能
    • 增加首页
    V0.1.2
    • 播放器bugfix
      • 解决多线程同步问题

    使用者文档如何安装RaspCTL如何使用RaspCTL常见问题
    • Q:如何自启动RaspCTL服务
      • 将 bin/start.sh 配置到树莓派的/etc/rc.local exit之前。 同理,你在rc.local中可以启动其他任何服务;
    • Q:如何使用80端口
      • debian系统禁用了小于1024的端口,所以RaspCTL只有使用8000端口。可以通过iptable将80端口请求转发到8000端口: iptables -t nat -A PREROUTING -p tcp --dport 81 -j REDIRECT --to-ports 8080

    开发者文档类库API
    Omxplayer
    play播放,可以指定播放列表中任一一个资源
    pause暂停播放
    resume恢复播放
    stop停止播放
    lseek快退, 快退30秒, 参数为True的话,快退10分钟
    rseek快进, 快进30秒,参数为True的话,快进10分钟
    prev播放上一首
    next播放下一首
    set_playlist设置播放列表
    add_playitem添加多媒体资源到播放列表中, 参数为 ('url', 'name') 资源地址, 资源显示名
    del_playitem清空播放列表
    sort_playitem播放列表排序
    set_dev设置输出设备, hdmi接口 或者 本地音频接口
    set_loop设置播放模式:顺序,循环
    get_info获取播放器信息,如播放状态等

    LocalFile?
    get_mediapath获得多媒体文件根目录路径
    list获取一个目录下的所有资源
    list_all递归获取一个目录下的所有资源

    Config
    load获取raspctl.cnf中的配置信息
    save更新raspctl.cnf中的配置信息

    MediaUrl?
    get_urls获取网站url对应的真实视屏url地址信息, fmt=high 获取高清视屏地址

    Ajax规范
    使用Ajax的目的:为了RaspCTL提供的服务可以同时被WAP, Android APP, IOS APP使用,RaspCTL服务均以Ajax形式提供。希望Plugins开发者也遵照这个规约,但不强制。
    类库中,只要被标志@classmethod的方法,会直接暴露成Ajax服务,如:
    class Foo:
        @classmethod
        def hello(cls, arg1, arg2):
            return {msg: 'Hello Ajax[%s %s]' % (arg1, arg2)}
    Ajax服务地址为:http://xxx.xxx.xxx.xxx:8000/api?data={"name":"Foo.hello", "args":["stone2083", "connie2083"]} 服务信息为:
    {
      status: "Success",
      message: "Success",
      api: {
        args: [ ],
        name: "Foo.hello"
      },
      result: {
        msg: "Hello Ajax[stone2083 connie2083]"
      }
    }Plugins规范youku --> 插件名字
        __init__.py --> 插件程序
        index.html --> 插件模板 【可选择】
    init.py 内容为:
    from rasplib import Plugin
    urls = (
        '/', 'Index',
    )

    # 必须创建plugin实例,参数分别为插件名,作者名,版本号, 支持功能的urls
    #其中,plugin中包含RaspCTL类库的所有方法,可直接调用
    plugin = Plugin('youku','stone2083', '0.1', urls)

    #web.py写法,插件规范并不引入新的学习成本。
    class Index:
        def GET(self):
            return 'youku-NotSupported.'  #可以直接输出
            #return plugin.render.index()  #可以渲染某个模板信息
    写在最后
    • RaspCTL作者联系信息:stone2083#yahoo.cn 程序的任何问题可直接联系这个邮箱
    • 招募UED设计前端界面 0.1.0前端非常糟糕,急待重构
    • 招募Plugin开发者,丰富RaspCTL
    • 期待小白鼠适用RaspCTL
    • Demo


    回复

    使用道具 举报

  • TA的每日心情
    开心
    2023-1-28 16:20
  • 签到天数: 980 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2013-1-23 21:03:39 | 显示全部楼层
    1080P?可以播吗?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-1-1 01:21
  • 签到天数: 354 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2013-1-23 22:49:44 | 显示全部楼层
    这个有点强,。学习一下!!楼主辛苦!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2013-8-12 17:47
  • 签到天数: 5 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2013-1-23 22:59:20 | 显示全部楼层
    嘿嘿,哈哈。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2014-1-3 11:17
  • 签到天数: 93 天

    连续签到: 1 天

    [LV.6]常住居民II

    发表于 2013-1-23 23:52:58 | 显示全部楼层
    这个挺酷的哟
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2012-11-23 16:50
  • 签到天数: 15 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    发表于 2013-1-24 00:08:41 | 显示全部楼层
    wyyyh 发表于 2013-1-23 22:59
    嘿嘿,哈哈。

    好东西就得转呀,嘿嘿
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2013-8-12 17:47
  • 签到天数: 5 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2013-1-24 00:31:31 | 显示全部楼层
    UI有待美化
    小白中,学习中。似乎未成功
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2013-12-6 13:36
  • 签到天数: 36 天

    连续签到: 1 天

    [LV.5]常住居民I

    发表于 2013-1-24 02:04:01 | 显示全部楼层
    前排留名,很喜欢这类的技术贴 U版的帖子我看了挺多,,就是现在板子还没到货,好纠结,好多好东西想要去实践
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2013-4-21 22:20
  • 签到天数: 73 天

    连续签到: 1 天

    [LV.6]常住居民II

    发表于 2013-1-24 12:39:17 | 显示全部楼层
    楼主很强大,继续关注啊
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2014-8-4 11:38
  • 签到天数: 18 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    发表于 2013-1-26 10:49:46 | 显示全部楼层
    没明白如何播放迅雷离线
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-5-16 17:31 , Processed in 0.214306 second(s), 33 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.