Использование FFmpeg для кодирования аудио после загрузки с использованием Django, VPS (Linux) и Amazon S3

Мой проект потребует от пользователей загрузки несжатых аудиофайлов WAV, и как только они это сделают, серверу потребуется закодировать их в MP3 для размещения на сайте. Я использую Django для этого проекта, и он будет размещен на Linux VPS (от Linode). Из-за места и пропускной способности я хочу использовать Amazon S3.

Я не эксперт в этом деле, этот проект откроет для меня много нового. Но любое руководство по этому поводу было бы здорово для меня.

Скорее всего, я буду использовать приложение django-storages для общения с Amazon S3. Но я не уверен, в какой момент я бы запустил серверную команду для FFmpeg, чтобы выполнить его преобразования. Если пользователь загружает аудиофайл, django-storages разместит его на Amazon S3. Но тогда, где и как мне заставить FFmpeg запускать свою командную строку в этом только что загруженном файле для кодирования в MP3, а затем мой веб-сайт для обслуживания и использования этого MP3 (который в этот момент также должен быть на Amazon S3)?

Я немного смущен тем, как это сделать. Я же говорю, я не эксперт! Может ли кто-нибудь помочь мне в этом?


person littlejim84    schedule 17.07.2010    source источник


Ответы (2)


Вы можете подумать о написании пользовательского бэкенда хранилища. Это должно быть подключаемым к django-хранилищам, но я никогда не использовал приложение и не могу сказать наверняка. Вы можете найти некоторые рекомендации по написанию пользовательских серверных хранилищ здесь: http://docs.djangoproject.com/en/dev/howto/custom-file-storage/

В вашем бэкенде вы можете использовать команду Python subprocess для запуска ffmgpeg для обработки преобразования mp3: http://docs.python.org/library/subprocess.html#subprocess.call

person Chris Lawlor    schedule 20.07.2010
comment
Спасибо... Я думаю, что использование Boto с настраиваемой серверной частью для моего приложения и использование команды подпроцесса — это именно то, что мне нужно. Спасибо! - person littlejim84; 20.07.2010

Возможно, не используйте django-storage для таких файлов. Вы можете преобразовать аудио во временный mp3-файл на сервере (Linux VPS) и с помощью boto или командная строка S3 тожеl или другим способом загрузить mp3 на S3.

person Anurag Uniyal    schedule 18.07.2010