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复制到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流媒体服务器开发的更多相关文章
- Windows环境搭建Red5流媒体服务器指南
Windows环境搭建Red5流媒体服务器指南 测试环境:Windows 7 一. 下载安装程序 red5-server 下载地址 https://github.com/Red5/red5-ser ...
- Windows环境搭建Red5流媒体服务器指南(转)
Windows环境搭建Red5流媒体服务器指南 Windows环境搭建Red5流媒体服务器指南 测试环境:Windows 7 一. 下载安装程序 red5-server 下载地址 https:// ...
- Windows环境搭建Red5流媒体服务器
Windows环境搭建Red5流媒体服务器指南 测试环境:Windows 7 一. 下载安装程序 red5-server 下载地址 https://github.com/Red5/red5-ser ...
- NodeJS版本EasyDarwin开源流媒体服务器开发心得
title: Node版本EasyDarwin开发心得 date: 2018-03-27 22:46:15 tags: 年后着手Node版本EasyDarwin的开发工作,截止到今天2018年03月2 ...
- EasyDSS高性能流媒体服务器开发RTMP直播同步输出HLS(m3u8)录像功能实现时移回放的方案
EasyDSS商用流媒体服务器解决方案是由EasyDarwin开源团队原班人马开发的一套集流媒体点播.转码与管理.直播.录像.检索.时移回看于一体的一套完整的商用流媒体服务器解决方案,支持RTMP推流 ...
- ubuntu16.04部署RED5流媒体服务器
前提:jdk已经安装 1,下载RED5(https://github.com/Red5/red5-server/releases)选择red5-server-X.X.X-MXX.tar.gz 2,解压 ...
- 流媒体服务器开发笔记(2)--RTCP协议介绍
http://blog.sina.com.cn/s/blog_53061af00100o2no.html ——————————————————————————————————————————————— ...
- 开源流媒体服务器--EasyDarwin
欢迎加入我们的开源流媒体服务器项目:EasyDarwin, EasyDarwin是在Apple开源流媒体服务器Darwin Streaming Server(v6.0.3)基础上进行开发和维护的免费开 ...
- 基于 Red5 的流媒体服务器的搭建和应用
http://www.ibm.com/developerworks/cn/opensource/os-cn-Red5/ Red5 是一个采用 Java 开发的开源免费 Flash 流媒体服务器.Red ...
随机推荐
- Matplotlib ValueError: _getfullpathname: embedded null character
Traceback (most recent call last): File "<stdin>", line 1, in <module> File &q ...
- enovia PLM : add new value to SPEO
Solution: Modify LUX_SPEO attribute in PLM Modify D_SPEO attribute in SAP , Login sap system F3 Tcod ...
- Spark和pyspark的配置安装
如何安装Spark和Pyspark构建Spark学习环境[MacOs] JDK环境 Python环境 Spark引擎 下载地址:Apache-Spark官网 MacOs下一般安装在/usr/local ...
- jq 将translate的旋转角度转为数值
// 将translate内的角度转为数值 function getmatrix(nowDeg){ var values = nowDeg.split('(')[1].split(')')[0].sp ...
- android绑定usb前后摄像头
在Android的系统会有前置摄像头和后置摄像头的定义,摄像头分为SOC类型的摄像头和USB这一类的摄像头,接下要分析就是USB摄像头这一类 . 一般在android或者linux系统中分析一个模块, ...
- Android中App可分配内存的大小(转)
转自:http://blog.csdn.net/u011506413/article/details/50965435 现在真实测试结果: 1,为了搞清楚每个应用程序在Android系统中最多可分配多 ...
- 【LeetCode】Math
[263] Ugly Number [Easy] 一个数的质因子只有2,3,5就叫丑数,写个函数判断丑数. //Author: Wanying //注意 0 和 1 的corner case, 你居然 ...
- Dubbox服务的提供方开发
(1)创建Maven工程(WAR)dubboxdemo-service ,在pom.xml中引入依赖 <project xmlns="http://maven.apache.org/ ...
- liunx下在线安装mysql
一:在线安装mysql 1.首先检测一下,mysql之前有没有被安装 命令:rpm -qa | grep mysql 2.删除mysql的命令: rpm -e --nodeps `rpm -qa | ...
- vue+cesiumjs的环境搭建【script引入】
[可以看我的博客里另外一篇----- import引入 ,可以不用script引入] 最近做项目要用到cesium,然后参照网上的一些步骤,最后发现报错了,其中有两种错比较多: ① This dep ...