Pie*_*gny 17 javascript video html5 browser-cache chromecast
我制作了一个接收器应用程序,它只是在Chromecast中循环显示视频.问题是Chromecast似乎没有在其缓存中缓存视频.因此,视频每次完成循环时都会下载,并且需要大量带宽.该视频将托管在外部服务器上,因此Chromecast每次都必须从互联网上下载(我无法更改该规格).
正如您所知,在桌面Chrome应用程序上调试接收器应用程序时,浏览器会缓存视频,因此问题似乎不是来自缓存行为的http响应.
我试图在ajax中下载视频文件并播放它.问题是,当我的Javascript尝试读取结果超过28MB 的responseText字段时,Chromecast似乎崩溃了xhr(我尝试使用50MB文件(崩溃)和28MB文件(它没有崩溃),限制实际上可能是32MB).
编辑:我也试过这个例子,它也使chromecast崩溃...
是否可以在Chromecast上缓存50-100MB的视频,并防止它每次都下载它或者是否有记忆技巧我可以将该视频存储在Chromecast内存中?每个应用程序使用一次加载视频将是我减少带宽使用的目标结果.
我对这个答案有点不确定,因为我发现它有点太明显了。但我会尝试一下:
您说您在通过 ajax 下载 28MB 的设置中没有遇到任何问题。为什么不进一步削减呢?例如,您可以选择 4MB。我建议这样做是因为它可以减轻计算“突发”引起的问题,正如您在读取responseText对象字段时提到的那样xhr。
确定适当的块大小后,您可以使用https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-p5-range-22#section-3分段下载视频,然后将其连接起来根据您的需要在 javascript 中。另请参阅在 Chrome Javascript API 中分块下载文件?
如果您有权访问服务器,您还可以在服务器端拆分文件,以便您可以从客户端发送请求,如下所示:
example.com/movies/my_movie.mp4?chunk=1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1323 次 |
| 最近记录: |