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复制到webapps\HelloRed5\WEB-INF\lib工程目录下面,一般是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:

  • Css几种好用的框架参考
    http://www.php100.com/html/it/mobile/2014/0220/6563.html
  • jwplayer调用参考
    http://blog.csdn.net/tomysea/article/details/6685553

Red5流媒体服务器开发的更多相关文章

  1. Windows环境搭建Red5流媒体服务器指南

    Windows环境搭建Red5流媒体服务器指南 测试环境:Windows 7 一.   下载安装程序 red5-server 下载地址 https://github.com/Red5/red5-ser ...

  2. Windows环境搭建Red5流媒体服务器指南(转)

    Windows环境搭建Red5流媒体服务器指南 Windows环境搭建Red5流媒体服务器指南 测试环境:Windows 7 一.   下载安装程序 red5-server 下载地址 https:// ...

  3. Windows环境搭建Red5流媒体服务器

    Windows环境搭建Red5流媒体服务器指南 测试环境:Windows 7 一.   下载安装程序 red5-server 下载地址 https://github.com/Red5/red5-ser ...

  4. NodeJS版本EasyDarwin开源流媒体服务器开发心得

    title: Node版本EasyDarwin开发心得 date: 2018-03-27 22:46:15 tags: 年后着手Node版本EasyDarwin的开发工作,截止到今天2018年03月2 ...

  5. EasyDSS高性能流媒体服务器开发RTMP直播同步输出HLS(m3u8)录像功能实现时移回放的方案

    EasyDSS商用流媒体服务器解决方案是由EasyDarwin开源团队原班人马开发的一套集流媒体点播.转码与管理.直播.录像.检索.时移回看于一体的一套完整的商用流媒体服务器解决方案,支持RTMP推流 ...

  6. ubuntu16.04部署RED5流媒体服务器

    前提:jdk已经安装 1,下载RED5(https://github.com/Red5/red5-server/releases)选择red5-server-X.X.X-MXX.tar.gz 2,解压 ...

  7. 流媒体服务器开发笔记(2)--RTCP协议介绍

    http://blog.sina.com.cn/s/blog_53061af00100o2no.html ——————————————————————————————————————————————— ...

  8. 开源流媒体服务器--EasyDarwin

    欢迎加入我们的开源流媒体服务器项目:EasyDarwin, EasyDarwin是在Apple开源流媒体服务器Darwin Streaming Server(v6.0.3)基础上进行开发和维护的免费开 ...

  9. 基于 Red5 的流媒体服务器的搭建和应用

    http://www.ibm.com/developerworks/cn/opensource/os-cn-Red5/ Red5 是一个采用 Java 开发的开源免费 Flash 流媒体服务器.Red ...

随机推荐

  1. 一道面试题:js返回函数, 函数名后带多个括号的用法及join()的注意事项

    博客搬迁,给你带来的不便,敬请谅解! http://www.suanliutudousi.com/2017/11/13/js%E8%BF%94%E5%9B%9E%E5%87%BD%E6%95%B0%E ...

  2. C# 网络编程 TcpListener

    1.服务断代码 public partial class Server : Form { private bool lk = true; public Server() { InitializeCom ...

  3. 关于document.body.scrollTop用法

    网页可见区域宽: document.body.clientWidth;网页可见区域高: document.body.clientHeight;网页可见区域宽: document.body.offset ...

  4. React-native 关于键盘遮挡界面问题

    //引入 KeyboardAvoidingView import { KeyboardAvoidingView } from 'react-native'; //使用 KeyboardAvoiding ...

  5. CentOS6.5下面OpenSSH低版本升级至7.3

    升级前版本: openssl-1.0.1e-48.el6_8.1.x86_64 openssh-5.3p1-118.1.el6_8.x86_64 升级后版本: OpenSSL 1.0.2j OpenS ...

  6. 使用jquery Ajax异步刷新 下拉框

    一个下拉框 <label>产品类型:</label> <select id="protype" name="protype" on ...

  7. texindex - 对 Texinfo 索引文件排序

    SYNOPSIS 总览 texindex [OPTION]... FILE... DESCRIPTION 描述 为每个 Tex 输出文件 FILE 产生一个已排序的索引.通常对于文档 `foo.tex ...

  8. Codeforces 1155F 状压DP

    题意:给你一张图,问最少保留多少条边,使得这张图是边双联通分量. 思路:如果一个点集中的点已经是边双联通分量,那么从这个点集中的点x出发,经过若干个不是点集中的点,回到点集中的点y(x可能等于y),那 ...

  9. Java数组有什么特征

    数组是(相同类型数据)的(有序)(集合) 数组会在内存中开辟一块连续的空间,每个空间相当于之前的一个变量,称为数组的元素element 元素的表示 数组名[下标或者索引] scores[7] scor ...

  10. 73. PrintStream(打印流)

    PrintStream(打印流)   打印流可以打印任意类型的数据,而且打印前都会把数据转换成字符串再进行打印(就是把数据存入硬盘中) 编码与解码图例:下面我们来看看一个简单的字节输出流 public ...