1、Android如何使用juv-rtmp-client.jar向Red5服务器发布实时视频数据
关注!
先用rtmp协议来去访问red5服务自器,看看red5那边是否有响应。
在PC上的话 我了解一些,一般是flex客户端连接red5后,会有控件之类的调用PC本地的视频、音频设备。 手机端的话 还真不知道。
2、red5流媒体服务器可以用来做什么
流媒体服务器的主要功能是以流式协议(RTP/RTSP、MMS、RTMP等)将视频文件传输到客户端,供用户在线观看;也可从视频采集、压缩软件接收实时视频流,再以流式协议直播给客户端。典型的流媒体服务器有微软的Windows Media Service(WMS),它采用MMS协议接收、传输视频,采用Windows Media Player(WMP)作为前端播放器;RealNetworks公司的Helix Server,采用RTP/RTSP协议接收、传输视频,采用Real Player作为播放前端;Adobe公司的Flash Media Server,采用RTMP(RTMPT/RTMPE/RTMPS)协议接收、传输视频,采用Flash Player作为播放前端。值得注意的是,随着Adobe公司的Flash播放器的普及(根据Adobe官方数据,Flash播放器装机量已高达99%以上),越来越多的网络视频开始采用Flash播放器作为播放前端,因此,越来越多的企业开始采用兼容Flash播放器的流媒体服务器,而开始淘汰其他类型的流媒体服务器。支持Flash播放器的流媒体服务器,除了Adobe Flash Media Server,还有Ultrant Flash Media Server流媒体服务器软件,以及基于Java语言的开源软件Red5。
我用的是小鸟云的服务器。
3、.net关于流媒体:网站上直播摄像头画面
1、 Red5.
适合网页上使用,播放时不用特殊插件。
Red5是一个采用Java开发开源的Flash流媒体服务器。它支持:专把音频(MP3)和属视频(FLV)转换成播放流;
录制客户端播放流(只支持FLV);共享对象;现场直播流发布;远程调用。Red5使用RSTP作为流媒体传输协议,在其自带的一些示例中演示了在线录
制,flash流媒体播放,在线聊天,视频会议等一些基本功能。
2、Darwin Streaming Server
Darwin Streaming Server 使用开放标准,让你可以透过互联网实时传送实况或预先录制的内容。在 Instant-On——苹果电脑公司正在申请专利的一项创新流媒体播送技术的支持下,你的内容将在点击链接的同时开始播放,无需等待文件下载。
4、linux 下怎么解决red5 的内存溢出
Red5作为多媒体的开源的框架,实现了RTMP协议,完成了视频,音频和多媒体数据的传输和解析,很多的产品都在使用它。我们同样在用他们的服务,但是遇到一个内存泄漏的问题,这个内存泄漏是如何发现的呢:
现象:服务器跑了两天左右,出现了两种情况 :
1.内存溢出
2.内存没有溢出,但是提供不了任何服务,服务器不能接收任何request
分析:
1.扩大虚拟机的内存,结果服务器跑长了点时间,照样内存溢出
2.Dump出Heap快照,并用Eclispse Memory Analyzer进行分析,发现RTMPMinaConnection对象大量存在ConcurrentHashMap对象里面,为什么会出现大量的connnection?即使是大量的客户端请求,为什么内存没有释放?
3.分为三个问题考虑:
1)为什么会出现大量的connnection?连接从哪里来的
2)大量的connection为什么会没有释放?
3)为什么connection达到一定的数量,服务器即使在内存充裕的情况下,仍然提供不了任何服务?
根据大量的观测,发现red5 服务器,我们用Haproxy代理了rtmp请求,而HA即使没有请求的情况下,仍然试图连接,以探测代理的服务器是否存活,而red5的keepalive时间一过,会试图关闭连接,关闭之后,通过查看源代码发现,connection虽然关闭了,但是没有从concurrentHashupMap里面remove掉,而真是这种Ha的不停的通过创建心跳连接来探测red5是否处于活的状态,而red5关闭连接之后,并没有从concurrentHashMap里面移除,从而造成了最终的内存溢出,同时由于没有移除inactive的连接达到了red5设定的最大的允许的inactivity连接的数量,默认为60000个连接,从而造成我们刚才看到的现象-即使内存充裕的情况下,仍然提供不了任何服务的情况。
查找这个错误的过程是痛苦的,甚至没有一点头绪,还好通过大量的测试和源代码分析,发现了这个问题。我们现在已经升级到red5 0.9.1的版本了,目前情况良好,同时为了确保服务器的稳定性,我们也查阅了相关的源代码,可以确定0.9.1版本中已经fix了这个问题。相信red5 server在我们的产品上线后会处于非常稳定的状态。
发现这个问题,一些工具的使用是关键的:
首先,要会分析heap快照,而eclipse memory analyzer确实是很强大的工具。帮我们提供了大量有用的信息。
其次,开源软件是不可靠的,只有我们对它们的代码有深入的分析才会得出好的结果。还好,源代码开放也为我们提供了查找问题来龙去脉的根据。而我们也可以对开源软件进行优化,在以后的内容里,我也会记录我们优化red5 server的整个过程,相信还有很多地方,我们仍然可以优化它。
网上找的~~
5、red5相关问题 ,flash服务器
找到 red5-web.properties 文件,修改 webapp.virtualHosts=localhost, 127.0.0.1
red5 默认访问方式 是localhost 所以 才报 not found no 127.0.0.1 。
至于red5和 tomcat的区别,你可以把red5当作tomcat来用 ,red5 比起tomcat 还额专外支持rtmp协议。
你 在测试属demo的时候 打开的网站是一个 小球实验。 用浏览器打开的 端口默认8080 可以看得出来 red5 就是一个tomcat 打开后 有个小球连接的点击 而连接方式 是rtmp://localhost:5080/xxx
有编程基础 应该很容易理解。
6、求FFMpeg推送RTMP流至Red5服务器的思路,源文件是本地Flv文件。
这个得搞过的人才会 楼主多实践