3

我确定这毕竟可能是一个愚蠢的问题,但我有一个个人项目,我想开发一个带有 html5 视频的应用程序网站,该视频缓冲来自托管文件的服务器服务 (mega.co.nz) 的视频,Mega 提供一个用于基础操作的 API,我想要的只是缓冲视频,但我对流媒体事务中的所有问题了解模糊,我进行了详尽的搜索,但没有找到太多东西,或者我对这些术语的搜索非常模糊,如果有人可以向我发布有关在 javascript 和 html5 下进行流式缓冲的页面资源,我将不胜感激 :)

问候!

4

1 回答 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支持的视频格式列表。

编辑 :

虽然某些 Web 服务(如 Mega)提供加密的临时 URL,但我们在我公司所做的是使用流代理。我们在内部使用了一个小型 HTTP 服务器,它可以接收以下请求:

http://streaming_server/fetch?url=<a_url>&type=youtube-api&api-version=1

上面的示例适用于我们想要转换为连续数据流的 Youtube url。服务器在内部将公共 url 转换为 .mp4 并通过 HTTP 将他从 Youtube 服务器接收的数据发回。

因此,您可以做的是自己编写一个模块化流服务器(因此它可以与 Mega 或 Fileserve 或其他任何东西一起使用),它能够处理处理 Mega 的 API 的特定请求,就像我们对 Youtube 所做的那样:

http://your_streaming_server/fetch?type=mega-api&file_id=<id>&file_key=<key> 

这会将文件原始数据转发给客户端。这只是一个示例,凭据管理或检索的其他安全方面取决于您,但您明白了。

将下载数据的责任委托给第三方服务是一个好主意,因为这将使您的代码与特定功能部分分离,并将在所有客户端应用程序中提供相同的服务。

于 2013-04-06T11:36:45.920 回答