问题标签 [http-streaming]
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.
ios - HTTP Live Streaming iOS 不刷新索引 .m3u8 文件
我在 StackOverflow 上搜索了所有类似的问题,但没有找到可以回答我的问题。
我正在尝试将一些电影从我的 Linux 计算机(openSuSE 12.1)流式传输到我的 iPad。我用 ffmpeg 转换它们,用我自己的分段器对它们进行分段,将它们放在我的 apache2 服务器的 www 文件夹中,也放在 .m3u8 播放列表中。直到这里 - 一切都好!
我开始播放电影(带有标签的 HTML 页面),它播放得很好,但只有前五个片段已经加载了播放列表的第一次加载。HTML 页面(浏览器或播放器 - 不知道)不会从服务器刷新(重新下载)播放列表。这是我的 .m3u8 播放列表文件的样子:
片段与播放列表文件位于同一文件夹中,片段已正确编码(因为我至少可以看到前五个:D)。我还从 apache 服务器观看了 access_log,我看到了播放列表的第一次加载,然后是所有 5 个段的后续加载,它一直停在那里。它甚至不会尝试进一步刷新 m3u8 文件。
如果重要的话 - iOS 5.0、iPad 2、仅限 Wi-Fi 版本,未越狱
想法?我究竟做错了什么?
android - Android 浏览器的替代服务器推送/彗星实现而不发送 4KB 消息?
我正在开发一个使用 Comet Hidden iFrame 技术将数据从服务器推送到移动浏览器的 Web 应用程序。
在 Mobile Safari 上一切正常,但 Android 更痛苦。似乎需要从服务器发送 4 KB 消息才能考虑该消息。这不仅适用于第一条消息,而且适用于每条消息。
有些人尝试使用 XMLHttpRequest 流实现 Comet,但有相同的 4KB 问题 (http://code.google.com/p/android/issues/detail?id=13044)
有没有人设法在 Android 浏览器上实现 Comet 技术而无需将消息填充到 4KB?
在 Android 2.1、2.2 上测试
即使在 Android 4.0 版本http://caniuse.com/eventsource上似乎也不支持服务器发送的事件
与 websocket http://caniuse.com/websockets相同
谢谢
-seb
java - 如何从 Java 中的 http 流中获取元数据?
例如,假设我从以下 url 接收音频流:
如何使用 Java 或 Android 获取元信息,如歌曲标题、艺术家姓名等。
jquery - 在 jquery-stream 插件上实现 If-Modified-Since 客户端缓存
我有一个需要从服务器流式传输 JSON 的用例,现在我正在研究缓存响应。与 JQuery 的 .ajax 函数不同,jquery-stream 提供的 .stream 函数似乎不支持 IfModified HTTP 标头。我已经设法更改源以设置 If-Modified-Since 标头,但我不确定如何访问客户端缓存以使用缓存响应而不是服务器响应。目前,jquery-stream 检测到 304(未修改)然后关闭流,将 xhr 对象上的 responseText 留空。有没有办法手动访问客户端缓存,也许使用 data() 函数?
如果我找到答案,我将尝试实施它并将更改提交到 jquery-stream 项目。
php - PHP 使用 JSON 流
我有一个客户端/服务器应用程序,其中客户端以 JSON 的形式将对象发送到运行 PHP 脚本的服务器,然后将这些数据放入数据库中。
问题是解码是使用 json_decode 函数完成的,该函数似乎适用于字符串而不是流。有没有办法从 HTTP 请求中获取输入流并使用流式 JSON 解析器来减少内存占用。
我来自 java 背景,其中有几个框架,例如 jackson , xtream 。是否有 PHP 等价物?否则,我似乎会遇到可伸缩性问题。
ios - HTTP Streamin Server 在 iPhone 上工作,在 iPad 和 Safari 上失败
我正在尝试找出 HTTP 流服务器。我有一个使用 mp3 音频文件在 Apache22 上工作的测试播放列表:
这个播放列表适用于我的 iPhone 4s,但不适用于我的 iPad,即使它运行的是相同版本的 iOS 5,或者运行 Lion 的 iMac 上的 Safari。
对于 iPad,Apache 日志显示播放列表被获取,但没有其他内容:
使用 iPhone,会先获取播放列表,然后再获取音频文件,如您所料:
对于 Safari,获取播放列表和音频文件,与 iPhone 相同,但网页上不显示任何内容,也不播放声音。
这是播放列表:
很简单......很难看出我可能在哪里出错了,但显然我有。
我知道这是一个非常深奥的主题,但如果有人有想法,我很想听听。
谢谢
xmlhttprequest - 架构:Titanium Desktop 针对 Twitter 流 API
我是 Titanium 的新手,并开始尝试构建一个(又一个)Twitter 客户端。我遇到的问题是我想使用 Twitter 的Streaming API,而我正在努力理解在 Titanium Desktop 中执行此操作的最佳方法。
这是我看到的选项:
- 不要使用 Streaming API,它不会工作。
- 构建一个 Python 桥接器,该桥接器与支持流式响应的 httpclient连接(Streaming API 需要,它从不关闭连接)。让该客户端将响应传递给 Javascript 方法,该方法会在推文出现时对其进行格式化和输出。(这里的问题:如何捆绑我需要的 python 库?)
- 以某种我不知道的巧妙方式使用 Titanium SDK 1.1 附带的 Javascript HttpClient。
- 使用1.2.0-RC2 版本的 Titanium SDK,它附带支持流式响应的 HttpClient。发行说明中几乎没有信息来判断流支持是否足以让流 API 工作。
- 使用twstreamer,这是一个通过 Flash 中介支持流式传输的 javascript 库。我已经看到错误报告指出 Flash 在 Titanium Desktop 中不能很好地工作,但我很想被证明是错误的。
- 我还没有想到的另一种方式。
我希望有各种聪明的想法来说明我如何让这个工作,以及前进的提示。谢谢阅读!
flv - 安全的伪流式 flv 文件
我们使用RTMP通过 Wowza 来保护流媒体内容,它就像一个魅力。Wowza 是一个非常强大和强大的媒体服务器,用于商业目的。
但是我们遇到了一个问题,它对我们来说每天都在变大。很多新客户不能通过他们的防火墙规则使用RTMP,并且为他们提供商业媒体内容是一个问题。但是每个人都对 http 伪流或渐进式没有问题,就像youtube或vimeo一样。所以我们应该做同样的事情,但提供伪流媒体流量的安全链接,以防止通过窃取链接直接下载。
我们使用的服务器很少,一台用于 Rails 应用程序,第二台用于 DB,第三台用于 Wowza 媒体服务器。我的想法是在Wowza媒体服务器上设置nginx并配置为伪流媒体原始文件(在 Wowza 用于通过网络摄像头捕获流式传输的同一文件系统中)。
你能建议将 nginx 与 http_secure_link_module 和 http_flv_module 模块一起使用吗?我同事的另一个想法是在 Wowza 端构建一个小型应用程序来获取加密链接并将其转换为本地文件系统,然后通过X-Accel-Redirect访问文件并通过直接连接到 DB 来检查身份验证。
非常感谢
php - 如何使用 Zend_Http_Client 处理分块/流式响应数据?
我有一个 Zend_Http_Client 连接到一个 HTTP 服务器,它以块的形式流式传输它的数据。
我想在收到每个收到的块时直接处理它。
Zend 框架中现有的 Http_Adapter 似乎都没有提供基于块的处理。
到目前为止,我已经尝试了两种不同的(工作)解决方案:
- 使用我自己的读取函数创建我自己的 Http_Client_Adapter,其中包括处理
- 注册我自己的流模式(myHandler://)并让 Http_Client 直接将其流数据写入我的处理程序
…但我想尽可能地接近现有功能。
因此,我的问题是:
是否有一个 Zend-Framework “本机”解决方案,我可以使用它循环接收块接收块或定义每个块调用的 user_function?
ruby - EventMachine 和 Twitter 流式处理 API
我正在使用 Twitter 流 API 运行 EventMachine 进程。如果流的内容不频繁,我总是会遇到问题。
这是脚本的最小版本:
如果我搜索“iphone”之类的关键字,一切正常如果我搜索不常用的关键字,我的信息流会在最后一条消息后大约 20 秒后快速关闭。注意:http.error 总是空的,所以当流关闭时很难理解......另一方面,非常相似的 php 版本没有关闭,所以似乎可能与 eventmachine/http-em 有问题但是没看懂是哪一个...