2015-09-01 17 views
1

У меня есть видео в формате webm (например, video.webm длительность составляет 60 секунд)
Я хочу получить выделенный сегмент видео (то есть с разделенным видео) с диапазоном заголовка http (Диапазон: 100-200).
Другим словом:
Я хочу получить раздел видео (например, со второго 4 по 12), но я не хочу использовать какой-либо конвертер, например ffmpeg. Я хочу отправить http-запрос на сервер & получить указанный диапазон веб-файла.Найти диапазон байтов веб-видео для указанного сегмента

Могу ли я использовать этот метод (http range header)?

Благодаря

+0

Возможно, сначала запустите ffprobe? Но я не знаю, говорит ли он, какие байты представляют собой кадр ... – rogerdpack

ответ

3

Поскольку источник не является живым он должен иметь Cues блок. Я думаю, что один из способов сделать это - получить начало файла, чтобы получить информацию MetaSeek, которая укажет вам на поле Cues.

разборе Cues даст CueTime, CueTrack, CueClusterPosition, CueBlockNumber и т.д. Вы можете использовать эту информацию, чтобы найти кластеры, которые вам нужны.

Посмотрите файл с mkvinfo в подробном уровне 3, чтобы узнать, как он организован (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 here. WebM - это подмножество, см. Спецификации here.

Обновление: Я нашел an example о том, как использовать HTTP Range запрос на загрузку кластера. Он использует Media Source Extension Tools для сбрасывания WebM информации в JSON.

+0

Спасибо за ваш ответ. так что теперь я должен распознать параметр Cues & other? – M2sh

+1

@ M2sh См. Обновленный ответ, я нашел вам пример с «HTTP Range» и более простой способ проанализировать файл. – aergistal

+0

большое спасибо. – M2sh

 Смежные вопросы

  • Нет связанных вопросов^_^