从服务器下载流视频

3
我知道这可能是一个愚蠢的问题,但我有一个个人项目想要开发一个带有HTML5视频的Web应用程序,该应用程序从主机文件的服务器服务(mega.co.nz)缓冲视频。Mega提供了基本操作的API,我想要的就是简单地缓冲视频,但是我对所有与流媒体相关的事情都有模糊的了解,我进行了详尽的搜索,但没有找到太多东西,或者我在搜索这些术语时非常含混。如果有人能向我发布关于JavaScript和HTML5下流式缓冲的页面资源,我将不胜感激:)
问候!
1个回答

5

我不确定我是否完全理解了。如果你想在一个 HTML5 页面中显示由远程服务托管的视频,这是我们通常的做法:

<video width="width_in_pixels" height="height_in_pixels" controls>
  <source src="your_url.mp4" type="video/mp4">
  <source src="your_url.ogg" type="video/ogg">
  <!-- a list of the different mime types available for your video -->
</video>

这是HTML5支持的视频格式列表
编辑:
虽然像Mega这样的某些网络服务提供加密的临时URL,但我们公司使用的是流代理。我们在内部使用了一个小型HTTP服务器,可以接收以下请求:
http://streaming_server/fetch?url=<a_url>&type=youtube-api&api-version=1

上面的示例适用于我们想要将Youtube网址转换为连续数据流的情况。服务器内部将公共网址转换为.mp4网址,并通过HTTP将其从Youtube服务器接收到的数据发送回来。
因此,你可以编写一个模块化流服务器(以便它可以与Mega或Fileserve或任何其他服务器一起使用),自己处理特定请求,处理Mega的API,就像我们处理Youtube的API一样。
http://your_streaming_server/fetch?type=mega-api&file_id=<id>&file_key=<key> 

这将把文件原始数据转发给客户端。这只是一个示例,凭据管理或检索的其他安全方面由您负责,但您已经了解了思路。
将下载数据的责任委托给第三方服务是一个好主意,因为这将使您的代码与特定的功能部分解耦,并在所有客户端应用程序中提供相同的服务。

是的,那是方法,但我需要更多背后的工作方式。当你从像Mega、fileserve和许多其他文件托管的Web服务中下载文件时,不仅仅是把与src中的文件匹配的URL放在上面就行了。需要按照API中指定的方式向URL发出http/json请求,并在某种程度上缓冲该文件以在视频标记中显示它,如何实现呢?对于我表述得不够清楚,很抱歉… - Enot
1
谢谢你!这正是我在寻找的想法,我想尝试使用Node.js来制作服务器,感谢你的指导,问候 :) - Enot

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接