Я знаю, что есть много вопросов по этой теме, но я все еще не нашел то, что ищу. я использую ffmpeg на сайте для создания видео из изображения + звука + формы волны. Вначале мой код использовал 100% ЦП для создания видео. После того, как я начал искать решение для повышения производительности, я нашел несколько решений и использовал их. Я добавил следующие командыnice -19 cpulimit -l 30 -- ffmpeg -y -threads 1 -i ... после чего все работало очень хорошо и загрузка процессора не превышала 35-45%. Но когда я попытался запустить эту команду одновременно 4 раза, все стало совсем плохо. Вот картина того, что произошло.
Результат использованного процессора
Это мой код
nice -19 cpulimit -l 30 -- ffmpeg -y -i image.jpg -i audio.mp3 -filter_complex "[0:v]scale=1280x720[image]; [image]drawbox=x=0:y=720:w=1280:h=130:color=red@1:t=fill[img];[1:a]showwaves=s=1280x130:colors=green:mode=cline,format=yuva420p[wave];[img][wave]overlay=0:350[outv]" map 1:a -c:a copy -map "[outv]" -c:v libx264 -preset medium -threads 1 output.mp4
И теперь я не могу понять, как я могу все это организовать на производственном сервере, где 1000 пользователей могут одновременно запускать эту команду при создании видео. Я подумал, что будет лучше, если для таких ресурсоемких процессов будет использоваться отдельный сервер, чтобы работа сайта не прерывалась. Но все же, как мне организовать весь этот непростой процесс, когда у меня на сайте много пользователей, и они могут одновременно использовать этот функционал? Заранее спасибо.
