Захват видео длины с FFMPEG и скрепкой - PullRequest
0 голосов
/ 03 декабря 2010

Я пытаюсь получить продолжительность видео во время загрузки видео.Мы используем SWFUpload для загрузки файла.Затем скрепка для хранения на S3.Наш текущий процесс загружает файл в память и затем анализирует его.Взрывается с большими фильмами.Я знаю, что могу повторно загрузить файл из S3 в мой экземпляр EC2 впоследствии.

Мне было интересно, есть ли способ обработать файл до того, как Paperclip его получит, чтобы я мог запустить проверку FFMPEG на нем.

1 Ответ

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

Вы можете сделать before_save для обработки временного файла перед его сохранением, если вы не загружаете прямо на s3. Это, наверное, самый простой способ.

Интересно, вам действительно нужно загрузить весь файл, используя FFMPEG? Все, что вам нужно, это метаданные файла. Я написал приложение для аудио, которое сделало что-то подобное. Вы можете получить размер файла из Paperclip, если вы можете получить битрейт MPEG, вы можете легко рассчитать длину файла, разделив размер файла на битрейт.

Используйте обратный вызов before_save / before_create, чтобы получить битрейт из файла и сохранить его как поле в базе данных. Генерируйте длину динамически из этого значения.

...