Как я могу плавно воспроизводить FLV на разных скоростях? - PullRequest
5 голосов
/ 21 декабря 2010

Мне нужно будет отображать кадры FLV с разной скоростью.

Вот несколько примеров:

  • пользователь будет «чистить» кадры FLV (перед /назад)
  • FLV нужно будет проигрывать на половине скорости при взаимодействии с пользователем.

В настоящее время я использую LoaderMax и его объект VideoLoader для загрузкии воспроизводить файлы FLV.Я пытался использовать свойство playProgress , но отображаются только ключевые кадры FLV.Я получил тот же результат с базовой настройкой (используя класс NetStream)

В качестве обходного пути я воспроизводил FLV один раз и кэшировал экземпляры BitmapData, в которых я рисую / кэширую каждый кадр видео.После этого я использую вектор BitmapData для обновления растрового изображения на сцене.Очистка / изменение скорости отлично работает с этим методом, но все же пользователь должен один раз увидеть (дождаться) последовательность, пока она кэшируется, что мне не нравится.

Любые лучшие идеи о том, как это сделатьэто?

Любые советы полезны, спасибо!

Ответы [ 2 ]

2 голосов
/ 21 декабря 2010

Спасибо за вопрос: он заставил меня прочитать спецификацию формата flv (со стр. 74) и начать писать синтаксический анализатор ByteArray.насколько я понял, есть два пути:

Body VideoTagBody VideoTagBody содержит полезную нагрузку видеокадра.

поэтому представляется возможным получить доступ к каждому кадру в виде данных пикселейдругое - установить для частоты кадров в метаданных значение, которое вам нравится, записать flv обратно в ByteArray и сохранить в локальной файловой системе или использовать NetStream.appendBytes() для воспроизведения

1 голос
/ 21 декабря 2010

Я уже видел это, но видео было импортировано во флэш-память, и мы манипулировали временной шкалой очисткиЯ полагаю, что у нас была вторая версия видео для версии с замедленным воспроизведением и мы переключились между двумя видеороликами.Довольно низкотехнологичный метод и не без проблем, но мы их обошли.У меня такое чувство, что ты будешь изо всех сил пытаться сделать это с простым старым FLV с использованием прогрессивной загрузки.

...