Потоковая передача/поиск видео HTML5

Я пытаюсь обслуживать видео, которые перекодируются на лету. К сожалению, это означает, что поиск не работает. Я предполагаю, что это связано с тем, что браузер не знает, как долго длится видео, и поэтому не может правильно отображать панель поиска.

Кто-нибудь знает, можно ли жестко закодировать продолжительность видео?

Другой вариант, о котором я думал, может состоять в том, чтобы создать свою собственную панель поиска и использовать JS для обновления ее положения и, если перетащить, обновить URL-адрес видео, чтобы передать время начала на сервер.

Любые предложения о том, как лучше всего это сделать?

W


person Gaspode    schedule 13.06.2011    source источник
comment
Как обычно работает поиск - предполагает ли он постоянный битрейт видео? Вы предполагаете/генерируете постоянный битрейт на сервере? Я бы подумал, что длина будет в данных заголовка видео, например. атом MP4 MOOV или эквивалент для других форматов.   -  person Rup    schedule 13.06.2011
comment
Да, я устанавливаю битрейт, но заголовок не может знать длину видео, так как оно еще не полностью перекодировано. Я не уверен, что продолжительность достаточна для поиска или информация о ключевом кадре должна присутствовать в заголовке (я думаю, что flv-видео работает так)   -  person Gaspode    schedule 13.06.2011
comment
в каком браузере вы тестировали это видео?   -  person arufian    schedule 24.07.2012


Ответы (1)


Вам нужно предоставить больше информации о том, как это работает на сервере. Тем не менее, вот мой общий ответ о том, что, как я предполагаю, происходит.

У вас есть видео в определенном формате на вашем сервере, и оно обслуживается в другом формате, я полагаю, для совместимости с браузером (WebM для Firefox и т. д.).

Что вам нужно сделать, так это иметь базу данных для всех загруженных видео, которая отслеживает длину в исходном формате. Затем при перекодировании видео в другой формат вы можете проверить базу данных, чтобы увидеть его длину, вместо того, чтобы пытаться вытащить его из потока перекодирования.

Используйте это, чтобы создать ползунок с максимальной длиной.

Затем установите currentTime для видеоэлемента html5, используя значение ползунка.

person Delorean    schedule 09.08.2012