Точный поиск при использовании HTTP Pseudostreaming во Flash - PullRequest
2 голосов
/ 21 сентября 2011

Добрый день!

Я столкнулся с одной проблемой при разработке моего видеоплеера в 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=...

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

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

1 Ответ

0 голосов
/ 07 октября 2014

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

ссылка Github

...