Я пытался настроить nginx с модулем rtmp на вычислительном движке Google, создав Debian vm. Я успешно установил и настроил nginx для использования модуля rtmp. Я могу получить приветственное сообщение в браузере, когда использую http: // Однако, когда я пытаюсь протестировать свой поток с помощью OBS, я получаю следующее сообщение:
Failed to connect to server.
Connection timed out. Make sure you've configured a valid streaming service and no firewall is blocking the connection.
Я думаю, что время ожидания OBS истекло, потому что он не может достичь модуля rtmp. Мне интересно, нужно ли мне настраивать какие-либо настройки в вычислительном движке, чтобы он разрешал соединения rtmp. Я попытался изучить настройки брандмауэра, но не похоже, что что-либо, связанное с rtmp, заблокировано. Я также пытался удалить виртуальную машину и повторить все несколько раз, но каждый раз получаю одну и ту же ошибку. Кто-нибудь знает, как проверить, что на самом деле происходит, и почему OBS может не подключиться к nginx?
Мои первоначальные мысли заключались в том, что, поскольку модуль rtmp работает на виртуальной машине и настроен на прослушивание 1935;
, он может просто прослушивать внутренний IP-адрес. Однако, если я изменю nginx.conf
, чтобы отразить что-то вроде listen
, он даст мне nginx: [emerg] bind () to
Мы будем благодарны за любые мысли по этому поводу
Итак, после еще нескольких копаний в Интернете Я обнаружил, что виртуальные машины по умолчанию не разрешают доступ ко всем портам. То есть брандмауэр блокирует порты, если не указано иное. Итак, я просто открыл TCP-порт в 1935 году в настройках брандмауэра, и, похоже, это помогло.