Точный поиск при использовании HTTP Pseudostreaming во Flash

Добрый день!

Я столкнулся с одной проблемой при разработке своего видеоплеера в AS3. Я использую псевдопоток HTTP для FLV и MP4 (вот описание псевдопотока: http://flowplayer.org/plugins/streaming/pseudostreaming.html)

Проблема: размер файла flv / mp4 не является линейным, поэтому поиск на основе (stream.bytesLoaded / stream.bytesTotal) * video.duration не является точным.

Мое решение

Для этого решения нам нужно иметь ключевые точки \ точки поиска в видеофайле (они вам все равно понадобятся) в начале файла.

  1. Пользователь нажимает на панель поиска, мы рассчитываем время поиска цели в секундах

  2. Проверяем, забуферировано ли целевое время: 2.1. если да - просто ищите с помощью NetStream.seek () 2.2. если целевое время не загружено - найдено около точки поиска с использованием таблицы ключевых точек в метаданных файла и выполняется переключение на новый URL с добавленным ?start=...

Используя эту технику, я могу получить точный поиск, но общий подход немного сложен.

Есть ли способ лучше?


person artvolk    schedule 21.09.2011    source источник


Ответы (1)


На всякий случай, если кому-то понадобится помощь по этой теме, вот плагин osmf, который вы можете использовать для выполнения псевдопотоковой передачи с помощью видеоплеера Flex:

ссылка Github

person Armen    schedule 06.10.2014
comment
Мой первоначальный вопрос касается не псевдопотока в целом, а техники достижения точного по времени поиска в файлах с переменным битрейтом. - person artvolk; 07.10.2014