zoukankan      html  css  js  c++  java
  • Red5流媒体服务器开发

    Red5流媒体服务器开发总结

    Red5 是 支持Windows,Linux等多平台的RTMP流媒体服务器,最早属于谷歌下的开源项目,先已移植到Github,地址为https://github.com/Red5/red5-server 由于从安装到开发相关文档很少,于是需要有一定的开发经历才会流畅开发。

    本文整个开发环境以及简单应用的开发主要参考
    http://v.youku.com/v_show/id_XMTI2Mjc2NDc2NA==.html?from=y1.7-2

    准备工作

    开发环境配置
    主要有两种方式:
    1.集成开发环境
    2.非集成开发环境

    说明:解释起来就是将Eclipse,Flex,Red5 Plugin的等几个软件在Eclipse上搭建集成开发环境,或者不进行集成。这里主要介绍集成开发环境搭建,由于不集成只需要找到这几个软件单独下载安装,直接按照文档执行即可。不过本文最终采用的是非集成开发环境,主要原因是集成环境中一些不知名bug,这个跟具体的版本和PC的各种软件的版本有一定的关系。

    集成开发环境搭建

    • 准备工具

      **Eclipse **
      http://www.eclipse.org/downloads/
      http://wiki.eclipse.org/Older_Versions_Of_Eclipse 使用java ee版本,版本问题这里后面会详细说
      Red5 plugin
      https://github.com/Red5/red5-eclipse-plugin
      Flash builder
      Flash player debugger
      http://www.softpedia.com/get/Programming/Debuggers-Decompilers-Dissasemblers/Adobe-Flash-Player-Debugger.shtml 这里注意一定要用debbuger版本的flashplayer

    • 单独安装备注

      Eclipse
      这个就是普通的安装步骤,而且基本上eclipse都处于绿色版的软件,所以下载配置workspace即可使用。这里要注意版本,red5 plugin对版本没有什么要求,但是flash builder集成要求eclipse只能是32位,并且最好用的版本是eclipse3.7版本,版本号是indigo。
      Java的jdk
      由于eclipse用的是32位ide于是java的jdk也要使用32位的,而且在开发的过程中由于一些调用red5的接口的时候会出现一些问题,于是需要用java较早的版本,建议使用Java SE Development Kit 7
      http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
      Flash builder
      Flash builder推荐使用4.6版本,破解方法参考
      http://blog.163.com/jiawei28888@126/blog/static/7997376920121084267329/ 推荐方法一,一切与序列号相关的破解方法都不是靠谱,改变配置文件才是王道。

    • 开发环境集成

      Red5 plugin
      安装方法详见github下载地址的readme文件,操作顺序一定要正确,不然会导致安装不成功。
      Flash builder
      嵌入到eclipse里面参见下
      http://jingyan.baidu.com/article/63f236280e4a740209ab3d4c.html
      其中一定要用32位的3.7或者3.6版本的eclipse并且地址要选对文件夹,而且这里面如果安装不上可能需要重启计算机,因为在flash player安装的时候就可能会出现说需要重启再安装的类似提示,具体原因不详。

    • 其他开发细节

      开发详见优酷的视频,其中开发顺序也要正确。
      开发自己的webapp的时候,要将red5目录下的lib内容所有的源压缩包复制到自己开发的webapp/WEB-IN/lib中,如果不复制会出现调用失败的问题。
      调用服务器的时候要保证之前的服务器配置可用。
      调用red5服务器的时候要保证之前曾在其他应用开启的服务器shut-down,不然会报5080端口不可用的错误。
      调试的时候要窗口点在java上启动服务器然后在对flex进行调试,要不然顺序错了会出现flex已经在调试的错误。

    非集成开发环境搭建

    只需要下载上述的几个软件的最新版即可然后进行搭建,而且就没有上述的关于jdk相关强制的32位的限制,也没有Eclipse的Indigo的版本限制。

    HELLO WORLD

    第一个程序开发往往是hello world,这个主要过程可以参照57code的最开始的视频教程,会介绍每步操作的作用,还算清晰。或者其他的关于编写helloworld的相关介绍也可以。
    注意以下几点:

    1.开发的时候要将red5服务器的jar复制到webappsHelloRed5WEB-INFlib工程目录下面,一般是red5-server.jar或者lib /red5-server-common-xxx.jar,xxx是版本号。如果还是缺少包的话,就不妨把lib目录下的所有jar都复制到工程下。

    2.用eclipse将服务器导入工程的时候,运行之前要将lib和class文件夹下除了你自己这个工程的jar以外其他所有的jar都删除。

    3.每次改动都要先shutdown然后再debug,要不然会出现端口占用的问题。

    4.与服务器连接的时候,rtmp地址务必写ip地址,就是主机也要127.0.0.1,绝对不能localhost,要不然会出现错误。

    视频应用开发

    • 传统方法可以按照上面类似helloworld的方式来进行开发任何网页应用包括视频应用,但是在开发的时候本例没有成功,于是采用了更加直接的方式,直接复制oflaDemo工程的文件夹,然后修改,主要工作分为配置文件的修改和index网页的修改两部分,具体如下:
    • 配置文件:与之前类似不再赘述。
    • Index网页修改:还是html+css+js的构架。主要结构就是css标签,js函数,调用jwplayer(一款flash player)。

    PS:

  • 相关阅读:
    Android UI设计规范之常用单位
    Git Clone报错
    Android Studio导入项目,报错 Error:Unsupported method: BaseConfig.getApplicationIdSuffix().
    图片的旋转、缩放操作的分类
    输入和输出
    Python的交互模式和命令行模式
    认识Python
    内存泄漏
    查看服务器的内存使用量
    MAC的VMWare CentOS 6.8命令笔记
  • 原文地址:https://www.cnblogs.com/zbwustc/p/5851356.html
Copyright © 2011-2022 走看看