问题标签 [multipart-mixed-replace]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
7743 浏览

ajax - 通过 http 流式传输二进制数据

我正在研究将二进制数据流式传输到浏览器中(通过 http)。我正在寻找有关执行此操作的好方法的意见。最终,我将拥有一个实时数据源,并且我想操纵这些数据并在浏览器中(实时)显示它。Firefox 是第一位的,IE 会很好……但我没那么挑剔。我有一个 Firefox 插件,可以满足我的需要,但我更喜欢用 javascript/html 编写的东西,无需用户安装任何插件即可工作。

我一直在研究 multipart/x-mixed-replace MIME/media 类型,它看起来在这个项目中可能很有用,但我想在我花钱之前听听关于更好的方法(如果有的话)的意见沿着这条路走好几个小时。

Flash 可能会完成这项工作,但我还是想避免使用插件。我想要最简单的解决方案(我们不是吗?),最好只使用 javascript/html。

我也一直在研究彗星,看看它能为我做什么。

0 投票
3 回答
3408 浏览

http - multipart/x-mixed-replace 是否等待客户端请求?

我试图弄清楚在发送 multipart/xmixed-replace 响应时是否可以减慢服务器速度。我希望我的客户尝试对运动 jpeg 流进行速率限制。我发现了很多关于服务器在 HTTP 响应中发送什么的文档,但没有关于客户端发送什么的文档。

在 multipart/x-mixed-replace 响应中的每个部分之后,客户端会发送什么(如果有的话)?如果它不发送任何东西,服务器是否只是继续堆积零件?

0 投票
2 回答
5925 浏览

python - 使用 Twisted 的 twisted.web 类,我如何刷新我的传出缓冲区?

我使用 Twisted 制作了一个简单的 http 服务器,它发送 Content-Type: multipart/x-mixed-replace 标头。我正在使用它来测试我想设置为接受长期流的 http 客户端。

出现的问题是我的客户端请求挂起,直到http.Request调用 self.finish(),然后它一次接收所有多部分文档。

有没有办法手动将输出缓冲区刷新到客户端?我假设这就是我没有收到单独的多部分文档的原因。

0 投票
0 回答
1924 浏览

iphone - NSURLConnection didReceiveResponse 无法识别多种 MIME 类型

我正在开发一个网络摄像头查看器,对于这些摄像头:http: //www.canvision.net/support/pt300-cgi/GetData.htm 数据是这样到达的:

p>

这些是我的 NSURLConnection 委托方法:

这一切都很好,控制台输出看起来像你期望的那样:

p>

但是,Cam 支持另一种模式,其中附加信息嵌入在 jpeg 之间:

p>

在这种模式下,我希望代码可以正常工作,并且 text/plain 部分将由

NSLog(@"other data:%@",currentData);

线。但是,由于某种原因,输出看起来完全一样,它从来没有用 mime: text/plain 表示响应,而是将纯文本部分附加到 jpeg 中,并且 UIImageView 无法显示数据。为什么 NSURLConnection 不能识别 text/plain 部分?这是完整的来源:http ://renehopf.de/MotionJPEG.zip 但要重现问题,您需要相同的网络摄像头...

谢谢,

雷内

0 投票
2 回答
603 浏览

twisted - Twisted:当服务器端进程完成时通知客户端

我正在使用 Twisted 编写 Web 服务器。此服务器执行的任务之一需要很长时间(约 5 分钟)。我希望能够有效地通知客户此任务已完成。

我已经研究过使用彗星/长轮询,但在我的一生中,我无法让浏览器在接收到数据时呈现数据。

为了原型这个机制,我写了以下内容:

时钟.py

索引.html

我在服务器端一直在做的是request.write每秒钟都在调用时间。

在客户端,我所做的只是打开一个 XMLHTTPRequest 到适当的资源,然后将它responseText直接转储到一个 div.readyState == 4.status == 200

问题是: div 永远不会被覆盖,并且警报永远不会被调用。

我一直在阅读有关 using的内容multipart/x-mixed-replace,但我不确定如何使用它。任何指向有关在扭曲中实现此类事情的教程或文档的指针将不胜感激。

0 投票
1 回答
1377 浏览

node.js - 通过 node.js 和 AJAX 客户端之间的 HTTP 流推送 JSON 字符串

我从 IP 摄像机那里得到了这个想法,他们使用多部分标头发送 JPEG 帧,还使用 ​​XML 来发送运动检测等事件。数据在随机时刻以一种方式流动,并且在一些超时后必须与服务器建立新连接。我之前已经为这些设备制作了客户端应用程序,但从未使用 AJAX,现在我正在尝试在 node.js 中制作类似的服务器

我知道我可以使用 socket.io,但我现在只是对使用这种方式感兴趣。可能吗?

这将每秒在有边界的块中写入当前日期,并在 telnet 中正常工作。

将记录当前就绪状态的 AJAX 连接

我得到的只是就绪状态“4”和状态“0”,也在我的网络工具中看到“已取消”标题错误。

当我丢失 multipart/x-mixed-replace 并将其推送到正常的 HTTP 连接时,我得到多个就绪状态“3”但没有数据。

0 投票
2 回答
1598 浏览

javascript - 通过 http 从 mjpeg 流中提取其他数据

我通过 http 获取 mjpeg 流并使用 <img> 标签查看它。非常标准,没有问题,一切都正确流式传输。

但是,除了编码的 jpg 数据之外,我想访问的 http 响应中还有一个 UTC 时间戳。基本上,我希望能够显示每帧的匹配时间。这是我正在处理的每个帧的响应:

目前 <img> 标签正在获取该流并直接解释 jpg。有没有办法通过 javascript 拦截、解释或分离 UTC-Time 值,以便我可以在页面上显示它?我不控制 http 响应,但如果可以通过那里的一些更改获得解决方案,我可以与控制它的人交谈。

0 投票
1 回答
4296 浏览

comet - 哪些浏览器支持 Content-Type: Multipart/X-Mixed-Replace?

请有人列出Content-Type: Multipart/X-Mixed-Replace支持基于comet原则创建应用程序的浏览器和版本。我读过关于它在 Chrome 和 Internet Explorer 中支持的相互矛盾的说法——尽管一些报告提到它包含在 IE 10 中。

一个后续问题是,这种构建实时应用程序的技术有多稳定?我问是因为Wikipedia目前将其Content-Type列为实验性的。

提前致谢!

0 投票
1 回答
2796 浏览

java - Android 手机作为实时 MJPEG 视频服务器

我正在尝试将我的手机用作实时 MJPEG 视频源。到目前为止,捕获帧并将其转换为 JPEG 并不是什么大问题。我真正的问题是正确发送多部分响应。有大量关于发送多部分响应的文档,但它们的问题是他们都希望所有图像在 HTTP 请求到来时都可用(例如用于多图像上传)。当然,为了实时流式传输,我需要能够开始发送多部分响应,同时不断在正文中添加 jpeg。我绝不是 HTTP 爱好者,所以不希望我需要滚动自己的 HTTP 响应并直接写入套接字。是否有支持这种行为的库?我已经在互联网上搜索了解决方案,

有任何想法吗?在最坏的情况下,我愿意查看有关如何手动编写多部分响应的人类可读文档,但如果可能的话,我真的宁愿使用库。

提前致谢。

编辑:根据 sigmavirus 的建议,使用 orielly servlet 库让它工作。请注意,MJPEG 流或多或少是从我发送的 multipart/x-mixed-replace 中仅包含图像/jpeg 的事实隐含地推断出来的。查看我的代码中的注释以获取教程,该教程显示了运行此程序所需的码头库。当然,您还需要 cos.jar,即 Orielly servlet 库。代码如下:

}

0 投票
1 回答
2575 浏览

browser - HTTP流服务器的实时视频流播放器

我有一个视频流服务器,它为实时视频流提供 HTTP API。发送流,multipart/x-mixed-replace因此每个视频帧都用某个边界字符串分隔,--DigifortBoundary例如。此外,每个帧都有自己的Content-Type标头,根据这个特定的流媒体服务器的文档,它可以是以下之一:

  • 图片/JPEG
  • 图像/小波
  • 视频/MPEG
  • 视频/h263
  • 视频/h264

流示例:

问题是,我需要在 HTML 页面中嵌入视频播放器,但我找不到任何支持multipart/x-mixed-replace内容类型甚至通过 HTTP 流式传输的播放器。我知道那里的 Flash 视频播放器通常支持RTMPRTSP,但我从未听说过支持 HTTP 视频流的播放器。

你知道任何可以做到这一点的网络视频播放器吗?