查找指定段的webm视频字节范围

问题描述 投票:0回答:1

我有一个 webm 格式的视频(例如 video.webm,持续时间为 60 秒)
我想获取指定的视频片段(即分割视频),其http标头范围(范围:100-200)。
换句话说:
我想要获取一段视频(例如从第 4 秒到第 12 秒),但我不想使用任何像 ffmpeg 这样的转换器。我想向服务器发送http请求并获取指定范围的webm文件。

我可以使用这个方法(http range header)吗?

谢谢

video split ffmpeg webm http-range
1个回答
5
投票

由于源是非实时的,所以应该有一个

Cues
块。我认为一种方法是获取文件的开头以获取
MetaSeek
信息,该信息将指向
Cues
框。

解析

Cues
将给出
CueTime
CueTrack
CueClusterPosition
CueBlockNumber
等。您可以使用这些信息来查找所需的集群。

在详细级别 3 中使用 mkvinfo 查看文件,看看它是如何组织的 (

mkvinfo -v -v -v input.webm
)。

输出示例:

+ Cues at 3441
| + Cue point at 3447
|  + Cue time: 0.000s at 3449
|  + Cue track positions at 3452
|   + Cue track: 1 at 3454
|   + Cue cluster position: 3911 at 3457
| + Cue point at 3461
|  + Cue time: 0.600s at 3463
|  + Cue track positions at 3467
|   + Cue track: 1 at 3469
|   + Cue cluster position: 3911 at 3472
|   + Cue block number: 42 at 3476
| + Cue point at 3480
|  + Cue time: 3.520s at 3482
|  + Cue track positions at 3486
|   + Cue track: 1 at 3488
|   + Cue cluster position: 3911 at 3491
|   + Cue block number: 241 at 3495

您还可以在此处找到 Matroska 规格。

WebM
是一个子集,请参阅规格此处

更新:我在这里找到了关于如何使用 HTTP Range 请求下载集群的

 示例
。它使用 Media Source Extension Tools 转储
WebM
中的
JSON
信息。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.