开发者社区 问答 正文

oss视频能获取其中的一小段然后转成ts格式返回么?

项目需求是这样的。希望通过oss实现视频上传,然后客户可以直接通过浏览器观看。但是不希望客户能通过url直接下载整个视频。希望能把视频分割成一小段,一小段然后每一段都生产有对应的url。然后url通过后台返回给客户端浏览器。

展开
收起
9月的雪 2019-07-29 11:39:50 524 分享 版权
阿里云 AI 助理回答

要实现您的需求,可以通过阿里云的OSS(Object Storage Service)与Cloudflare Stream或自建视频处理服务结合来完成。具体步骤如下:

1. 使用OSS存储视频

首先,您需要将完整的视频文件上传至阿里云OSS。OSS提供了安全、高可用、低成本的存储服务,非常适合存放视频内容。

2. 视频切片处理

由于OSS本身不直接支持视频切片和流式播放的处理,您需要借助其他服务或自建解决方案来实现视频切片。这里有两种方式:

a. 使用第三方服务

  • Cloudflare Stream:可以将视频上传到Cloudflare Stream,它会自动处理视频转码和切片,并提供一个可直接用于浏览器播放的URL,同时支持防止直接下载。
  • 其他视频处理SaaS:市面上也有其他视频处理服务提供商,如Bitmovin、Mux等,它们通常也提供视频上传、转码、切片及播放的服务。

b. 自建视频处理系统

  • 利用阿里云的ECS(Elastic Compute Service)实例部署自建的视频处理软件,如FFmpeg,进行视频切片处理。这需要一定的技术开发能力。
  • 处理完成后,将切片后的视频片段保存回OSS。

3. 动态生成URL并控制访问

对于每个切片的视频,您可以使用OSS的预签名URL功能动态生成临时访问链接。这样,只有通过您的应用后端返回的链接,用户才能观看特定的视频片段,而无法直接从URL推断出整个视频的下载路径。

  • 设置OSS权限:确保OSS bucket的公共读权限关闭,以防止直接访问。
  • 使用STS(Security Token Service):为每个请求生成临时的安全令牌,进一步增强安全性。

4. 流式传输播放

为了在浏览器中实现流畅播放,您需要确保视频切片支持HLS(HTTP Live Streaming)或DASH(Dynamic Adaptive Streaming over HTTP)等流媒体协议。大多数现代浏览器都支持这些协议。

总结

虽然OSS本身不直接支持视频切片和流式播放的全部功能,但通过结合OSS的存储能力、第三方服务或自建视频处理方案,以及利用OSS的安全特性,您可以实现既保护视频资源不被直接下载,又能让客户通过浏览器观看的需求。记得在整个过程中关注数据安全和用户体验优化。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答