Добрый день!
Я столкнулся с одной проблемой при разработке своего видеоплеера в 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=...
Используя эту технику, я могу получить точный поиск, но общий подход немного сложен.
Есть ли способ лучше?