@ewowko1241

Как настроить стрим в двух проходном кодировании?

На данный момент имеем конфиг
worker_priority -19;
user www-data;
worker_processes  auto;
events {
  worker_connections 8192;
  use epoll;
  multi_accept on;
}
rtmp_auto_push on;
rtmp {
  server {
    listen 1935;
    max_message 10M;
    chunk_size 8192;
    max_streams 32;
    sync 10ms;
    application potok<>{
      live on;
      record off;
      exec nice --20 ffmpeg -re -i rtmp://127.0.0.1/potok -vcodec libx264 -g 60 -preset slow  -b:v 7800k -maxrate 7800k -bufsize 7800k -s 1664x936 -x264opts nal-hrd=cbr:force-cfr=1:keyint=120:scenecut=0 -sws_flags lanczos  -acodec copy -r 60 -f flv rtmp://127.0.0.1:1935/transcode_potok;
    }
    application transcode_potok {
      live on;
      meta copy;
      push rtmp://сайт с ключем;
    }


Все работает прекрасно. Но хотелось бы изучить двухпроходное кодирование.
Сколько бы я не пробовал поток не хочет отправлятся.
exec nice --20 ffmpeg -re -i rtmp://127.0.0.1/potok -vcodec libx264 -g 60 -preset slow  -b:v 7800k -maxrate 7800k -bufsize 7800k -s 1664x936 -x264opts nal-hrd=cbr:force-cfr=1:keyint=120:scenecut=0 -sws_flags lanczos  -acodec copy -r 60-pass 1 -f flv /dev/null;
exec nice --20 ffmpeg -re -i rtmp://127.0.0.1/potok -vcodec libx264 -g 60 -preset slow  -b:v 7800k -maxrate 7800k -bufsize 7800k -s 1664x936 -x264opts nal-hrd=cbr:force-cfr=1:keyint=120:scenecut=0 -sws_flags lanczos  -acodec copy -r 60 -pass 2 -f flv rtmp://127.0.0.1:1935/transcode_potok;

Такое ощущение что запускается первая строчка, а вторая не хочет. Толи nginx не дает сразу два кодирования запустить, толи неведомые силы.
Если разнести эти две строки в отдельные скрипты и запустить их одновременно все работает. Но я не хочу в ручную каждый раз их запускать при запуске стрима
  • Вопрос задан
  • 29 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы