Где я допустил ошибку в конфигурационном файле ngnix?

Здравствуйте! После команды
nginx -t
вот такая ошибка
root@YNS:/home/denis# nginx -t
nginx: [emerg] "rtmp" directive is not allowed here in /etc/nginx/nginx.conf:76
nginx: configuration file /etc/nginx/nginx.conf test failed


Следовательно ошибка в блоке rtmp {}, вот сам файл
#user denis;
worker_processes 2;

#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;

#pid logs/nginx.pid;

events {
worker_connections 1024;
}

http {
include       mime.types;

   default_type  application/octet-stream;



   sendfile        on;

   keepalive_timeout  65;

   server {

       listen       8080;

       server_name  localhost;



       # rtmp stat

       location /stat {

           rtmp_stat all;

           rtmp_stat_stylesheet stat.xsl;

       }

       location /stat.xsl {

           # you can move stat.xsl to a different location

           root /usr/build/nginx-rtmp-module;

       }



       # rtmp control

       location /control {

           rtmp_control all;

       }



       error_page   500 502 503 504  /50x.html;

       location = /50x.html {

           root   html;

       }

   }




rtmp {

server {
  listen 1935;

       ping 30s;

       notify_method get;
hls on;

application camera1 {
live on;
record off;
exec_pull avconv -i rtsp://admin:admin@192.168.1.102:554/ -threads 2 -f flv -r 25 -s 1280x720 -an 

rtmp://192.168.1.8:1935/cam1/stream
}
}
}


Как правильно оформить конфигурационный файл?

Спасибо.
  • Вопрос задан
  • 7525 просмотров
Решения вопроса 1
belloni
@belloni Автор вопроса
Проблема решена, ошибка была в синтаксисе, не хватало ";" довольно таки странная ситуация выяснил это методом исключения, а странно то что в ни в одном гайде, даже в мане на гитхабе, этой детали нет. Вот правильный код:
application camera1 {
live on;
record off;
exec_pull avconv -i rtsp://admin:admin@192.168.1.102:554/ -threads 2 -f flv -r 25 -s 1280x720 -an 

rtmp://192.168.1.8:1935/cam1/stream; #Закрывающая точка с зяпятой
}
}
}


Вот так я потерял 2 дня. Всем спасибо за то что отозвались.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 4
@MaySky
Я так понимаю проблема в 135 строке конфигурации, но как-то я строки с таким номером у Вас в nginx.conf не вижу.
Ответ написан
SowingSadness
@SowingSadness
web-разработчик
rtmp дерективы доступны только для rtmp приложения.
А оно у вас в http приложении.
Ответ написан
Ernillew
@Ernillew
Администрирую *nix-системы с 1997 года
rtmp

syntax: rtmp { ... }
context: root
The block which holds all RTMP settings

В ман смотрели?
У вас не в том блоке директива.
Ответ написан
@inkvizitor68sl
Linux-сисадмин с 8 летним стажем.
Удалите } из конца конфига и добавьте его над строкой rtmp {
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы