这更像是一个概念性问题而不是直接"如何做到这一点".
通常是否可以实现类似flash的解决方案来流式传输音频(独立于我们从HTMLR和nodeJS/binaryJS中获取流数据的位置,例如webRTC或其他).如果是这样,你会怎么做?
从2010年开始,这里只发现了一个关于stackoverflow的问题.从那时起,NodeJS和HTML5已经发展壮大.
人们通常做什么: 当使用多媒体流(即视频或音频)到服务器时,在当前时间点肯定没有任何东西可以击败闪存,直到getUserMedia()完全到达- 这可能需要一段时间直到99浏览器用户的百分比将完全使用它.
将数据流式传输到服务器的一般做法是使用客户端Flash或Flex应用程序,然后连接到RT5协议驱动的介质服务器,如RED5,FMS或Wowza.例如,通过RTMP发送麦克风输入的客户端应用程序可能看起来像(简化版)
import flash.net.NetStream;
private var myMic:Microphone;
private var nc:NetConnection;
private var ns:NetStream
nc = new NetConnection();
ns = new NetStream(nc);
nc.connect(rtmp://localhost/serverApp);
myMic = Microphone.getMicrophone();
ns.attachAudio(myMic);
Run Code Online (Sandbox Code Playgroud)
与服务器应用程序一起,可以轻松地将数据流式传输到服务器.
我想做什么: 在nodeJS上运行一个app服务器(可能实现socketIO和binaryJS),捕获传入的RTMP流.就像是
//require
var rtmp = require('node-rtmp'),
var fs = require('fs');
//rtmp server address
var rtmpServer = 'rtmp://localhost';
//create a binary server listening that receives stream data
var …Run Code Online (Sandbox Code Playgroud) 我想知道FMS,wowza和Flash Media Server之间的主要技术差异是什么.如果有人有比较表或链接,请帮助.
我对媒体流非常陌生,我有一些基本的疑虑要明确:
据我所知,HTTP流(通过Apache)和RTMP流(通过Red5)之间的区别在于流媒体服务器提供缓冲和提前控制,如搜索等.我是对的吗?
我可以只传输来自RT5服务器(如Red5)的Flash视频吗?如果我必须传输不同格式的文件,我是否必须使用HTTP流?我可以使用像xuggler这样的工具来动态转码文件并根据Red5服务器的请求发送吗?
我提出了所有这些疑虑,因为我必须为所有移动客户端提供流媒体 - iPhone,黑莓,Android - iPhone不支持闪存,所以去Red5是个好主意吗?
我正在编写一个基于C#.Net的应用程序,该应用程序需要将视频和音频流发布到Red 5 Media Server,并在本地网络上的另一个应用程序中检索相同的已发布流,然后再在Internet上检索.
简而言之,我打算使用Red5作为两个客户端之间视频和音频数据传输的中间或代理.
[客户端1] < - 视频和音频 - > < - 视频和音频 - > [客户端2]
我正在寻找RTMP协议的.NET实现(库),它可以帮助我将流发布到Media Server并重新生成已发布的流并在我的应用程序上播放它.
我搜索了SOF并找到了以下选项:
每个都有一些限制.
Borrocoli RTMP Library仅对音频/视频流提供plyback支持,但没有选择将视频/音频流发布到媒体服务器.我玩过图书馆并看过它的例子,但没有用.如果我错了,请纠正我.
FlourinFx.Net表示支持NetStream.Publish(),NetStream.AttachAudio()和NetStream.AttachVideo()方法.但在最新的代码快照中,没有这样的东西.他们的产品发布也是如此.NetStream类没有所述方法和/或没有任何方法可以帮助将流内容发布到媒体服务器.
WebOrb.Net:我没有对它进行过探讨,但从许可页面可以看出,免费版仅适用于IIS.企业版似乎对发布流媒体视频有所有支持......
问题:
当我在我的ivy.xml中使用Red5(或任何项目)的依赖项时,我想只检索库jar.无论我如何配置它,我仍然得到依赖的"源"罐子.我已经搜索了文档和谷歌,还没有找到一个使用Ivy 2.2.0的解决方案.
我的ivy.xml中的这组节点似乎对大多数库来说效果最好,但是Spring忽略了它们.
<exclude ext="txt" />
<exclude type="src" />
<exclude artifact="!sources" />
Run Code Online (Sandbox Code Playgroud)
如果有人有任何可行的提示,让我们听听!
指向源xml文件的链接
http://red5.googlecode.com/svn/java/server/trunk/ivy.xml
http://red5.googlecode.com/svn/java/server/trunk/ivysettings.xml
http://red5.googlecode.com/svn/java/server/trunk/build.xml
注意
不要说这是重复的,他们的答案不起作用:
更新1
<dependency org="org.springframework" name="org.springframework.core" rev="3.0.5.RELEASE" transitive="false" />Run Code Online (Sandbox Code Playgroud)
在我的lib目录中生成这两个文件:
org.springframework.core-3.0.5.RELEASE.jar
org.springframework.core-sources-3.0.5.RELEASE.jarRun Code Online (Sandbox Code Playgroud)
更新2 对于赏金,我希望您的解决方案适用于Red5主干,每个人都可以使用它作为开源.来源罐子对我来说只是一个烦恼,值得赏心点.
我正在寻找一个Flash脚本/库来从网络摄像头捕获视频和音频,然后以某种方式获得一个保存的flv到我的编码服务器.我不是在寻找能为我主持视频的东西.我只需要一些简单的东西来捕获然后上传.我真的希望这是开源和免费的.
我做了大量的搜索,似乎我能找到的大部分内容都是托管服务或红色5套房.我一直在努力用Red5来做一些事情,但老实说我在6年多的时间里没有做任何flash或java开发,这看起来太复杂了,当我真正想要的是一个flash对象我可以坚持在网页上.
我搜索谷歌和github,我真的很惊讶缺乏简单的选项.我错过了一些明显的东西吗 谢谢.
我正在编写一个Red5应用程序,它通过RTMP向Flash客户端提供一对一的视频聊天.
遗憾的是,我能够找到的大多数教程都是粗略的,而且当涉及API概念和预期用法时,Red5本身的文档往往含糊不清.
简而言之,我有点卡住并寻找关于Red5 ApplicationAdapter实现的提示.Gnarly细节如下:
首先,这些联系有两种:访客和顾问.访问者应该能够指出它希望与哪个顾问沟通.只要顾问不忙于为另一个顾问服务,顾问就会直接与请求的访问者建立联系.
显然,每个RTMP连接都有双向流量:发送和接收视频.从服务器的角度来看,连接带来了一堆视频流,这些视频流可以通过请求分配接收端点.
由于几个视频对话可以同时进行,因此应用程序的主要任务是处理访客流到顾问的映射,并提供一个列表,通过AMF指示每个顾问的状态(忙/可用).
所以,总而言之,我非常清楚我的目标是什么,但如何用Red5实现它仍然有点神秘.
希望有人可以在以下任何或所有方面启发我:
建立连接类型(访客/顾问)的最简单方法是什么?
应该使用哪些API类来实现持久的,全局可访问的活动连接列表,以报告每个顾问的状态?
当目标是将特定访问者连接到选定的顾问时,如何动态切换接收端点?
我对RTMP流媒体很新,我正在寻求帮助.足以让我开始.
我现在谷歌搜索大约5-7个小时仍然无法确定我的答案!
Red5的文档是有限的,根本找不到任何支持!甚至类似的问题都没有在stackoverflow上回答:(
我的问题是:
更糟糕的是,我几乎没有Java经验.
请帮助ST.
我的Linux服务器上运行了一个red5服务器(JAVA).
有时,服务器会关闭.当我尝试重新启动它时出现错误:
"绑定错误,此端口正在使用中".
所以我尝试用killall -9 java杀死服务器 并尝试重启服务器:同样的错误.
我必须等待一段时间(约2-3分钟)并重新启动它:这有效.
我只需要知道为什么当我杀死进程时,我仍然需要等待2-3分钟才能使端口1935空闲并且我可以再次运行服务器.
有没有办法立即杀死这个进程并释放端口?