2

Я запускаю веб-сервер Debian, на котором будет размещаться веб-сайт, на котором пользователи смогут загружать видеофайлы и воспроизводить их.

Следовательно, видеофайлы должны быть преобразованы в надлежащий формат (mp4, ogg, webm) для совместимости с различными браузерами.

До сих пор я написал скрипт bash, который добивается цели с помощью FFmpeg. Проблема в том, что когда многие пользователи загружают видео одновременно, мой веб-сервер работает очень медленно.

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

Любая помощь высоко ценится

2 ответа2

1

Поместите все готовые загруженные файлы в один каталог на любом используемом веб-языке.

Затем вы можете запланировать cronjob с вашим скриптом, чтобы он запускался, например, каждый час и конвертировал видео, которые находятся в каталоге pending/.

Возможно, вы захотите использовать flock, чтобы только один экземпляр этого скрипта мог запускаться одновременно, даже если это занимает больше времени, чем ожидалось, и cron запускает другой скрипт.

Внутри скрипта вы можете использовать команду nice, чтобы уменьшить ее приоритет, чтобы веб-сервер имел более высокий приоритет.

0

Я создал сервер кодирования видео python3 для внутреннего использования. С несколькими модами это должно помочь вам. На моем python-сервере все, что вам нужно сделать, это создать символическую ссылку в специальном каталоге очереди, и он обрабатывает ее оттуда, а также обрабатывает коммерческий пропуск (из которых я являюсь портером Linux), который вы могли бы прокомментировать, если вы не заинтересованы в этом.

http://www.xilka.com/xilka/source/VideoEncodeServer.py

http://www.xilka.com/xilka/source/VideoToCuBox.py

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .