2016-07-20 2 views
0

비디오 스트림을 브로드 캐스트하기 위해 nginx RTMP 모듈을 사용합니다. 데이터는 3G 연결을 통해 연결되는 원격 장치에서 nginx/RTMP 서버로 푸시됩니다. 전송되는 MB 당 비용이 들기 때문에 청취자/플레이어가있을 때만 비디오를 서버로 스트리밍하는 것이 좋습니다.RTMP 모듈에 연결되거나 끊어 질 때 nginx에서 이벤트 트리거

(불행히도 RTMP에 익숙하지 않은 사용자의 경우 실시간 스트림을 시청할 리스너가 없더라도 서버가 항상 데이터를 삼키는 것입니다.)

nginx/RTMP 서버로 스트리밍을 시작하는 방법을 찾았으므로 3G를 통해 데이터를 보존 할 수 있습니다 (웹 링크를 rtmp 링크로 리디렉션하는 간단한 문제는 없지만). 그러나 어떤 신뢰할 수있는 방법도 찾을 수 없습니다. RTMP 클라이언트 (플레이어)가 연결을 종료하면 장치가 nginx로 스트리밍되는 것을 중지합니다.

내 질문은 : nginx (또는 해당 RTMP 모듈)가 특정 RTMP URL에 연결되면 이벤트, 신호, 파일 생성/삭제를 트리거하도록 지시하는 방법이 있습니까? 나는 incron을 통해 파일의 생성/삭제를 관찰함으로써 살아남을 수 있었으므로 꽤 괜찮습니다.

아니면 API 레벨로 가야하나요, 아니면 더 깊게 소스로 갈 필요가 있습니까?

답변

0

희망에 대한 답변이 이미 있습니다. 내가 https://github.com/arut/nginx-rtmp-module/wiki/Directives

on_publish의 지시에 exec_publish, exec_record_done, on_play 같은 헤더와 on_publish 이벤트를 찾고 제안 어느 쪽이든 상태를 확인하는 데 도움이 허용 또는

스트림을 거부 할 수도 있습니다
관련 문제