【问题标题】:Download a partial video given a start time and end time (converting time range to byte range)下载给定开始时间和结束时间的部分视频(将时间范围转换为字节范围)
【发布时间】:2020-04-04 11:14:09
【问题描述】:

在给定视频的特定时间范围内,我需要从节点中的 Amazon S3 存储桶下载部分视频。

例如, 将视频从 3 秒开始下载到视频中,并在 15 秒处停止。

从我目前收集到的信息来看, 我可以使用 S3 存储桶上的 getObject 函数发出字节范围请求。但是,我不知道如何将时间范围转换为字节范围以发出该请求。

补充资料:

mp4 格式的视频已经在显示。然后,可以通过选择所需的开始时间和结束时间来下载(不显示)该视频的剪辑。

我假设需要发送一个新请求来检索部分视频以供用户下载。

【问题讨论】:

  • "in node" 您需要从您的节点服务器进行获取吗?那为什么要标记[html5-video]?或者你在浏览器中?如果是这样,您是否只需要它来使用 html5
  • 对不起,我可能不应该标记 html5-video(我删除了标记)。我从客户端获取(反应)-> lambda node.js -> s3.
  • 那么你需要访问二进制数据吗?您不只是在播放此视频吗?
  • 首先显示视频。然后,将允许用户通过选择所需的开始时间和结束时间来下载该视频的剪辑。发送新请求以检索部分视频以供用户下载。我假设响应中的二进制数据将创建一个新文件..
  • 请将此作为edit 包含在您的问题中,因为这是一个彻底的改变。有easy ways to display a video by time ranges,有办法通过自己分析moov头来获取字节范围,但是从中生成一个新视频,那么这是ffmpeg的工作,而不是浏览器。

标签: amazon-s3 video


【解决方案1】:

这取决于视频格式。对于mp4,你可以下载并解析moov,并使用索引来计算偏移量(复数,因为音频和视频会有不同的偏移量)。但这只能是关键帧准确的。如果不是mp4就更难了。

首先阅读 iso 19964 第 14 部分。

【讨论】:

    猜你喜欢
    • 2017-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多