所以我有这个jQuery AJAX调用,响应来自服务器的302重定向形式.我想采用这种重定向并将其加载到iframe中,但是当我尝试使用javascript警报查看标题信息时,即使firebug正确地看到它,它也会出现空值.
这是代码,如果它有帮助:
$j.ajax({
type: 'POST',
url:'url.do',
data: formData,
complete: function(resp){
alert(resp.getAllResponseHeaders());
}
});
Run Code Online (Sandbox Code Playgroud)
我真的无法访问服务器端的东西,以便将URL移动到响应主体,我知道这将是最简单的解决方案,因此任何有关解析标头的帮助都会非常棒.
我正在构建一个 FPV 机器人,我想通过本地 Wi-Fi 连接使用网络浏览器来控制它。
我正在使用带有 Raspbian Stretch 的 raspberry pi 3B+。我建立了自己的电机控制和功率调节器帽子。
经过大量研究测试,我决定使用 node.JS 作为 http 服务器和 socket.io 来提供与我的机器人的低延迟双向通信。该堆栈实现了大约 7 毫秒的延迟。
我需要将低延迟视频从连接到 RPI 的 USB 摄像头传输到浏览器。我的目标是在 10FPS 下达到至少 640x480 的分辨率,延迟为 50 毫秒或更好。我很高兴牺牲视觉忠诚度来从我的机器人那里获得更快的响应。
如果可能的话,我想在 UDP 中进行流式传输以提高流的可靠性。
如果可能,我想流式传输现代网络浏览器可以本地解码的视频。我想使用 H264 编解码器和 HTML5 视频标签。如果没有其他选择,我可以回退使用 javascript 播放器。
我进行了广泛的研究并尝试了许多工具。
其中,我尝试了 VLC、mjpg 流光、gstreamer 和 raspivid。有几次我进入了网络浏览器可以查看的流,但充其量我在 320x240 时得到了 700 毫秒的延迟。离我的目标很远很远。
目前我正在研究 WebRTC 解决方案。
我想对 NODE.JS 包或其他解决方案提出建议,以提供 UDP H264 视频流,该视频流可由 HTML5 视频标签解码,目标延迟为 50 毫秒。
谢谢
感谢您的回答!我会不断更新这个问题,一旦解决,我会发布解决方案。
推单个框架
我尝试了一种不同的方法,通过 websocket 推送单个 200KB 640x480 jpg …
如果您正在尝试开发交互式直播应用程序,则需要依赖超低(实时)延迟.例如,用于视频会议或远程实验室.
适合这种情况的两种协议是:
*WebRTC:由于我试图为更大的受众提供互相交流的可能性,因此WebRTC并不合适.因为据我所知,它不是为更多的观众设计的.
我的问题:
我应该为这个用例选择哪一个?RTSP/RTP还是RTMP?
哪种协议可以提供有关端到端延迟,会话启动时间的更好结果?
哪一个消耗更多的硬件资源?
RTMP似乎使用持久TCP连接.但是哪种协议用于传输?它不能是TCP,因为这无法确保实时延迟?
一般来说,使用这两种协议的利弊是什么?
我没有在科学论文或书籍中找到这两个协议的任何比较.只有着名的移动直播应用Periscope正在使用RTMP.
Instagram或Facebook等其他应用程序例如提供与流媒体的基于文本的交互.如果开发人员想要构建基于交互式直播流的下一个"杀手级应用程序":我认为这个问题是必不可少的.
我找不到这个问题的明确答案,假设我有一个从 IP 摄像机接收 RTSP 源的服务器,该流将被广播到多个客户端,连接始终由客户端初始化。
我想知道在这种情况下使用 WebSockets 而不是 WebRTC 来广播媒体流是否会更好,因为从我所看到的 webRTC 服务器实现无论如何都不支持媒体通道,所以我需要使用数据通道,并通过将流打包为与 MediaSource 兼容,以及配置信令、TURN 和 STUN 服务器,当我可以使用 WebSockets 执行相同操作时,我是否遗漏了某些内容,或者在这种情况下 WebSockets 真的会更好吗? WebRTC 是否有任何功能可以让通过 WebSocket 实现它的开销变得值得?
编辑:忘记提及客户端是网络浏览器。
我需要一些帮助。
通过网络设置从网络摄像头到服务器并返回到多个用户的直播的最佳方式是什么?
本质上,我正在尝试创建一个可以支持许多用户的群组视频聊天应用程序。
我不希望它成为点对点 webRTC。
我实际上设法让它与 getUserMedia() -> mediaRecorder -> ondataavailable -> 通过 SOCKET.IO 将 blob 块传递到 node.js -> socket.io 将 blob 块发送回其他连接的用户 -> 将这些块附加到连接到 mediaSource 的 sourceBuffer,该 mediaSource 设置为源 URL
它确实有效!但它是如此缓慢、滞后和资源密集型。由于这些块每秒传递 20 个,因此页面速度会大大减慢。我认为你不应该这么快地将那么多 blob 传递到 sourceBuffer 。只是为了进行测试,我尝试每 3 秒保存一次 mediaRecordings(因此它不是资源密集型)并将这些 webm blob 传递到 sourceBuffer,但由于某种原因,只有第一个 webm 加载,而其他 webm 没有添加或开始播放。
这种方式不适用于生产应用程序。
执行此操作的“正确”方法是什么?
如何将视频流从网络摄像头正确传递到 Node.js 服务器?
如何将这个直播流从 Node.js 服务器传输回网络,以便我们可以进行群组视频聊天?
我有点失落。请帮忙。
我使用 HLS 吗?记录RTC?
我是通过 http 还是通过 socket.io 从 Node.js 进行流式传输?
已经有一些服务可以让您轻松做到这一点,例如 vonage video api tokbox,但这些服务似乎非常昂贵?
我想通过我自己控制的 Node.js 服务器运行视频流。
最好的方法是什么?
请帮忙。
谢谢
video-streaming node.js http-live-streaming html5-video webrtc
node.js ×2
webrtc ×2
ajax ×1
header ×1
html ×1
html5-video ×1
jquery ×1
low-latency ×1
mediastream ×1
redirect ×1
rtmp ×1
rtp ×1
rtsp ×1
streaming ×1
websocket ×1