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

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

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

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

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

Ответы [ 2 ]

1 голос
/ 20 июля 2010

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

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

0 голосов
/ 18 июля 2010

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

...