Я запускаю веб-сервер Debian, на котором будет размещаться веб-сайт, на котором пользователи смогут загружать видеофайлы и воспроизводить их.
Следовательно, видеофайлы должны быть преобразованы в надлежащий формат (mp4, ogg, webm) для совместимости с различными браузерами.
До сих пор я написал скрипт bash, который добивается цели с помощью FFmpeg. Проблема в том, что когда многие пользователи загружают видео одновременно, мой веб-сервер работает очень медленно.
Я ищу короткое и простое решение, которое ставит в очередь разные вызовы сценария преобразования, поэтому одновременно может работать только один экземпляр. Я пытался использовать пакетную команду, но не могу найти много информации о том, как ее использовать. Я также рассмотрел создание именованного канала, также безуспешно.
Любая помощь высоко ценится
Немного не по теме, но вам, вероятно, не нужно беспокоиться о ogg для видео HTML5 - mp4 и webm будут охватывать все основные веб-браузеры (и большинство второстепенных тоже).
evilsoup 11 лет назад
0
2 ответа на вопрос
1
LtWorf
Поместите все готовые загруженные файлы в один каталог на любом используемом веб-языке.
Затем вы можете запланировать cronjob с вашим сценарием, например, запускать каждый час и конвертировать видео, которые находятся в каталоге pending /.
Возможно, вы захотите использовать flock, чтобы только один экземпляр этого скрипта мог работать одновременно, даже если это занимает больше времени, чем ожидалось, и cron запускает другой скрипт.
Внутри скрипта вы можете использовать команду nice, чтобы уменьшить ее приоритет, чтобы веб-сервер имел более высокий приоритет.
Спасибо за ваши ответы, я очень признателен за усилия, которые я закончил, добавив простую очередь в bash, основываясь на информации, которую я нашел на этом сайте http://andrew-hills.blogspot.be/2008/02/simple-bash-based -queue-system.html
Flock Dawson 11 лет назад
0
0
cbxbiker61
Я создал сервер кодирования видео python3 для внутреннего использования. С несколькими модами это должно помочь вам. На моем python-сервере все, что вам нужно сделать, это создать символическую ссылку в специальном каталоге очереди, и он обрабатывает ее оттуда, а также обрабатывает коммерческий пропуск (из которых я являюсь портером Linux), который вы могли бы прокомментировать, если вы не заинтересованы в этом.