Видео Full HD преобразовано в FLV, замедленное воспроизведение в браузере

Я визуализировал видео в формате Full HD с помощью Adobe AfterEffects CS5 в формате mp4. Играет отлично. У меня есть это видео приложение, в которое я загрузил файл mp4. Видео приложение конвертирует mp4 в формат flv и делает видео доступным через веб-страницу. Я загрузил полученный файл flv на свой локальный компьютер - он отлично воспроизводится в моем плеере VLC. Но проблема в том, что у меня ужасное воспроизведение в моем браузере.

Я убедился, что проблема не связана с пропускной способностью. Как исходный файл mp4, так и файл FLV, преобразованный в ffmpeg, отлично воспроизводятся с помощью проигрывателя VLC. Я тестировал FLV-файл на двух проигрывателях - Agryia FLV Player Elite и JW Player. Оба плеера ужасно проигрывают видео - очень медленно и очень прерывисто.

Вот мой ffmpeg -i myflvfile.flv: `

Seems stream 0 codec frame rate differs from container frame rate: 119.88 (120000/1001) -> 59.92 (719/12)
Input #0, flv, from '94044631305552037.flv':
Metadata:
duration        : 146
width           : 1920
height          : 1080
videodatarate   : 684
framerate       : 60
videocodecid    : 7
audiodatarate   : 62
audiosamplerate : 22050
audiosamplesize : 16
stereo          : true
audiocodecid    : 2
major_brand     : mp42
minor_version   : 0
compatible_brands: mp42mp41
creation_time   : 2012-02-10 00:55:19
encoder         : Lavf52.111.0
filesize        : 61969316
Duration: 00:02:25.77, start: 0.034000, bitrate: 764 kb/s
Stream #0.0: Video: h264 (High), yuv420p, 1920x1080 [PAR 3:4 DAR 4:3], 700 kb/s, 59.92 tbr, 1k tbn, 119.88 tbc
Stream #0.1: Audio: mp3, 22050 Hz, stereo, s16, 64 kb/s`

Может ли кто-нибудь указать мне здесь правильное направление? Почему на моем локальном ПК идеально воспроизводится VLC-плеер как для mp4, так и для flv-файла, а в моем браузере, используя два разных проигрывателя, воспроизведение настолько плохое?

PS Вот моя команда преобразования:

ffmpeg -y -i /var/www/sandverlag.com/htdocs/rmtk/videos/originals/94044631305552038.mp4 -vcodec libx264 -ar 22050 -ac 2 -vb 700000 -s 1920x1080 -crf 22 -threads 0 -f flv /var/www/sandverlag.com/htdocs/rmtk/videos/converted/94044631305552038.flv > /dev/null &    

person Boyan Georgiev    schedule 10.02.2012    source источник


Ответы (1)


Пару мыслей:

  • Какую версию Flash вы используете? Только самые последние версии Flash на основных платформах поддерживают аппаратное декодирование h264. Без аппаратного декодирования многие процессоры могут легко перегрузить декодирование h264.
  • Почему вы помещаете видео в формате h264 в контейнер FLV? Flash поддерживает контейнеры MP4, например F4V. Фактически, я считаю, что Adobe особо не рекомендует использовать контейнеры FLV для видео формата h264. FLV устарел, двигайтесь дальше.
  • Какое оборудование вы используете? VLC оптимизирован и, кажется, воспроизводит практически все, что угодно, даже на скромном оборудовании. Плагины Flash не совсем соответствуют такому уровню производительности воспроизведения.
person Stu Thompson    schedule 12.02.2012
comment
Стю, спасибо за понимание. Моя версия Flash - 11.1. Мое оборудование идет вниз - 4 ГБ ОЗУ на двухъядерном процессоре Intel, это довольно новый ПК. Что касается h264 - видео-приложение по умолчанию использует h264, а также я не знал, что Flash поддерживает контейнеры mp4. Сейчас я проведу несколько тестов mp4 и посмотрю, как это работает. - person Boyan Georgiev; 13.02.2012
comment
Стю, что вы посоветуете относительно того, почему вы помещаете видео в формате h264 в контейнер FLV? Что мне делать вместо этого? - person Boyan Georgiev; 13.02.2012
comment
@BoyanGeorgiev: F4V, вариант MP4 от Adobe. (На самом деле это просто определенное подмножество MP4. Любой F4V будет воспроизводиться в таких вещах, как VLC, как MP4). - person Stu Thompson; 13.02.2012