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

时间:2015-09-01 16:10:25

标签: video split ffmpeg webm http-range

我有一个webm格式的视频(如video.webm,持续时间为60秒)
我希望获得具有http标题范围(范围:100-200)的指定视频片段(即分割视频) 换句话说:
我想得到一段视频(例如从第二到第四季),但我不想使用像ffmpeg这样的转换器。我想发送http请求到服务器&获取指定范围的webm文件。

我可以使用此方法(http范围标题)吗?

谢谢

1 个答案:

答案 0 :(得分:3)

由于源是非活动的,因此 应该有一个Cues块。我认为一种方法是获取文件的开头以获取MetaSeek信息,这将指向Cues框。

解析Cues将提供CueTimeCueTrackCueClusterPositionCueBlockNumber等。您可以使用这些信息查找所需的群集

查看详细级别为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规范hereWebM是一个子集,请参阅规范here

更新:我在此处找到了关于如何使用HTTP Range请求下载群集的an example。它使用Media Source Extension Tools转储WebM中的JSON信息。