问题标签 [pseudo-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.
h.264 - 使用 h264 模块和 JWPlayer 6.* 的伪流
再次寻求您的帮助。
我使用以下嵌入代码在 drupal 站点上安装了 JWPlayer 6:
遵循所有 JWPlayer 文档以进行伪流式传输,我什至正在使用其中一个示例中使用的 .mp4 进行测试,因此我知道它将通过具有伪流式传输功能的服务器发送。即Apache modH264流模块。
出于某种原因,当播放器向前搜索并将请求参数添加到视频请求时(开始 - 注意:我也尝试过 starttime)它只是没有响应视频的正确部分。相反,它就像一个新的文件请求。
注意:这是我遇到的问题。HTML5 很好。
欢迎任何想法。
html - 来自其他服务器的伪流 flv,使用本地 html 文件
是否可以在外部服务器上伪流式传输 flv 视频,如果您从托管在该外部服务器上的网站观看视频,则仅允许伪流式传输?我想在我的电脑上使用 html 文件访问 flv 文件。(没有使用其他网站。)我使用 flowplayer 进行了尝试,但它不是伪流媒体(我无法在视频中尚未下载的点后面寻找)。
顺便说一句,如果我下载外部站点的整个源代码并尝试在我的浏览器中运行它,播放器将保持黑色并且不执行任何操作。
如果不可能,如果你能解释我为什么会很好。:)
是的,我有权这样做。
编辑:对不起,我太愚蠢了。-.- 我使用了不允许伪流的 flowplayer 配置。此站点上的示例效果很好: http: //flash.flowplayer.org/demos/plugins/streaming/
http - MP4 - 为伪流请求准备标头
假设客户端不支持字节范围请求,因此会发出类似 test.mp4?startoffset=2000 的请求
服务器如何准备一个适用于所有请求的 mp4 标头...是否有最低限度每次都可以使用,或者它必须是实际的原始标头?
同样,有没有办法使用 ffprobe 按原样(即二进制格式)导出原始标头,以便服务器可以在每个请求开始时简单地重新发送它?
谢谢!
编辑:是否使用 AtomicParsley 进行了一些挖掘,并通过 archive.org 查看了一些伪流视频。似乎确实需要为新流重建“标题”。具体来说,moov atom 和 mdat 数据。
暂时搁置 mdat,是否有任何有用的库可以从 moov 转换为 moov,或者至少让它更容易?请不要 C++,但 C 很好
apache - Apache 2.4.9 伪流
然而,我知道这一点,这似乎只适用于 apache 2.2.x。我正在为 2.4.9 寻找类似的东西。
我已经做了很多谷歌搜索,但似乎找不到任何东西。
html - 伪流式传输 MP4 文件
我有几个关于伪流 MP4 文件的问题。
是否下载了整个文件,例如。如果我将 1 分钟的视频拖入 2 分钟的视频,是否只会下载后半部分,从而节省带宽?
无论如何我可以使用 Chrome 开发工具检查这个吗?
我将如何创建一个准备好用于伪流媒体的 MP4?我已经阅读了元数据需要在文件的开头,我该怎么做?有推荐的软件吗?
video - 非 MP4/FLV 伪流
我正在研究伪流机制。到目前为止,我已经了解到,不能伪流不是 MP4 或 FLV 的文件。这些文件包含元信息,允许玩家在第一次下载关键帧之前知道它们在哪里。
我的问题是,其他格式没有这个元信息吗?或者不具备伪流能力的原因是别的什么?
我只是想确定为什么只有这些格式可以用于这种技术,而不是 AVI,例如。
谢谢,
video - 范围请求 VS 开始参数
我试图深入理解伪流机制。请求视频的部分内容有两种方法:
使用字节范围请求。
使用启动参数。第二种方法可以使用一个字节的时间
范围。
我的理解是范围请求和使用字节请求的开始参数的工作方式相同。服务器不需要读取和理解视频上的元数据,而使用时间范围的 start 参数,播放器不需要完全加载元数据,因为它只会向服务器请求时间。服务器应该做所有的脏工作并处理元数据以找到最近的关键帧。
问题是我已经阅读了一些评论,这些评论让我认为这可能不是这样的。因此,如果有经验的人可以简要比较这两种技术以及网络播放器和服务器中发生的过程,我将不胜感激。
以及为什么某些技术用于 MP4 而其他技术用于 FLV。
提前致谢,
nginx - 检查 nginx 伪流是否正常工作
我安装了 nginx 1.9 版本,并启用了 mp4 ngx_http_mp4 模块,并配置了以下设置。
但是当我使用 jwplayer 播放 mp4 文件并使用 live-http-header 检查它时,当我跳转到不同的时间时:数据显示没有 start 参数。例如“GET /data/mytest.mp4 HTTP/1.1”,我认为它应该是“GET /data/15099.mp4?start=xxx HTTP/1.1”,所以我的 ngx_http_mp4 是否工作。
google-chrome - Chrome 下载 mp4:流式 crdownload 文件行为已更改
服务器上有一些 mp4 文件(和一些 flv 文件),我想流式传输(使用 VLC),同时还将副本保存到我的硬盘驱动器。所以我开始使用 chrome 将文件下载到一个已知位置,在那里创建一个 video.mp4.crdownload 文件。然后我使用 VLC 开始播放部分下载的文件。过去发生的情况是,当我观看文件时,该文件会继续下载,然后当下载结束时,Chrome 下载小部件会显示“下载失败,系统忙”或类似的内容。但!完整的文件已经下载到我的硬盘上,它只是一个 .mp4.crdownload 文件,我稍后会手动更改为一个 .mp4 文件。同时,我可以继续在 VLC 中观看 crdownload 文件完成。
当我最近尝试使用相同的过程时,它不起作用。如果文件已完全下载并在下载完成时由 VLC 播放,Chrome 不会指示下载失败。相反,它会删除已完成的 crdownload 文件,并从头开始重新下载。因此,我不仅最终下载了两次文件(正是我试图避免的),而且当下载重新开始时 VLC 播放会自动停止,因为 VLC 正在播放的 .crdownload 文件被新的下载尝试覆盖。
发生了什么变化?有什么办法可以恢复旧的行为?(如果有任何其他建议可以同时进行伪流和下载,那也很好,只需注意它需要在 VLC 之类的程序中,允许以不同速度播放 flv 和 mp4 文件。并且我也很好奇发生了什么变化,而不仅仅是解决我的情况。)
flash - 在 Flash 模式下,视频的快进和快退存在问题。
伪流工作正常,但倒带后时间刻度条回到开头,时间从 0:00 开始计数。例如,如果您单击 01:00 分钟标记,则视频从 01:00 开始播放,但时间刻度显示为 0:00。