Добрый день!
Я столкнулся с одной проблемой при разработке моего видеоплеера в AS3. Я использую псевдопоток HTTP для FLV и MP4 (вот описание псевдопотоков: http://flowplayer.org/plugins/streaming/pseudostreaming.html)
Проблема :
Распределение по размеру файла flv / mp4 не является линейным, поэтому поиск по (stream.bytesLoaded / stream.bytesTotal) * video.duration не является точным.
Мое решение
Для этого решения в начале файла нам нужно указать ключевые точки \ точки поиска (в любом случае они вам понадобятся).
Пользователь нажимает на панель поиска, мы рассчитываем целевое время поиска в секундах
Мы проверяем, если целевое время уже буферизовано:
2.1. если так - просто ищите с помощью NetStream.seek ()
2.2. если целевое время не загружено - найдено около точки поиска, используя таблицу ключевых точек в метаданных файла, и выполните переключение на новый URL с добавлением ?start=...
Используя эту технику, я могу получить точный поиск, но общий подход немного сложнее.
Есть ли лучший способ?