Назад | Перейти на главную страницу

Как установить / настроить ffmpeg для сжатия видео mp4 для доставки флеш-плеера?

У нас есть веб-приложение на Flash, которое создает интерактивное видео и использует ffmpeg для сжатия / изменения размера, когда пользователь «публикует» свой проект.

Пользователь может загружать файлы flv и mp4, оба из которых отлично воспроизводятся в пользовательском интерфейсе Flash перед публикацией. После публикации файлы flv работают нормально, но файлы mp4 не будут воспроизводиться во флэш-плеере: звук будет воспроизводиться, а видео - нет.

Файлы mp4 будут воспроизводиться нормально, если я загружу их и воспроизведу в проигрывателе Quicktime, но если я попытаюсь открыть их в проигрывателе Adobe Media, появится сообщение «Медиа-файл не содержит поддерживаемой видеодорожки».

Если я открываю Инспектор фильмов в quicktime, он сообщает мне, что исходный файл - это видео «h264», а обработанные ffmpeg - «mpeg-4».

Я попытался заставить его использовать h264, добавив такие флаги, как -f h264 and -vcodec h264 но я получаю полный экран ошибок (нет кадра, недопустимый тип POC, sps_id вне диапазона), заканчивающихся на Could not find codec parameters (Video: h264)

h264 появится, если я запустил ffmpeg -formats и ffmpeg -codecs, и, как я уже сказал, в Quicktime все будет нормально.

Что еще мне нужно сделать, чтобы убедить флэш-плеер их воспроизвести? Что еще мне нужно рассказать вам о сервере, что поможет?

Здесь вы найдете очень полное руководство по компиляции ffmpeg для кодировки MP4 X264 в Ubuntu:

http://ffmpeg.org/trac/ffmpeg/wiki/UbuntuCompilationGuide

Он также выясняет, как добавить дополнительные настройки / инструменты для потоковой передачи, например qt-faststart

Когда я создаю видеофайлы MPEG4 с ffmpeg, Я использую -vcodec libx264. Соответствующий -f Параметр зависит от того, что может принимать ваш флеш-плеер.

Обратите внимание, что этот вопрос не по теме на serverfault.com; вы можете задать вопросы об использовании ffmpeg на список рассылки ffmpeg-user.