Обрыв стримера при rtmp

pride

Member
Пробуем отправлять поток через OBS studio путем rtmp.
Примерно через секунд 30 отваливается соединение.
в логах :


10:35:48,414 INFO agerRemoteRmiService - RMI TCP Connection(6)-127.0.0.1 RECEIVED REST OBJECT <==
URL:http://127.0.0.1:7771/ConnectionStatusEvent
OBJECT:
{
"nodeId" : "Mkd0uFPnkuR75m1zsCoBdMJmfb3NwRWt@88.99.151.175",
"appKey" : "EventsFlash",
"sessionId" : "7a354039-cec1-43ac-9c9d-b3c71c45ebc7",
"status" : "DISCONNECTED",
"info" : "Disconnected by keep alive"
}
10:35:48,426 INFO agerRemoteRmiService - RMI TCP Connection(6)-127.0.0.1 SEND REST OBJECT ==>
URL:http://127.0.0.1:7771/StreamStatusEvent
OBJECT:
{
"nodeId" : "Mkd0uFPnkuR75m1zsCoBdMJmfb3NwRWt@88.99.151.175",
"appKey" : "EventsFlash",
"sessionId" : "7a354039-cec1-43ac-9c9d-b3c71c45ebc7",
"mediaSessionId" : "fd8e6747-1ac2-45f8-bf2c-4064b1e735cb",
"name" : "OBS",
"published" : true,
"hasVideo" : false,
"hasAudio" : true,
"status" : "FAILED",
"audioCodec" : "speex",
"videoCodec" : "H264",
"info" : "Stopped by session disconnect",
"record" : false,
"width" : 0,
"height" : 0,
"bitrate" : 0,
"quality" : 0,
"createDate" : 1504514093660,
"mediaProvider" : "Flash",
"history" : false,
"playing" : false,
"publishing" : false
}
10:35:48,431 INFO agerRemoteRmiService - RMI TCP Connection(6)-127.0.0.1 RECEIVED REST OBJECT <==
URL:http://127.0.0.1:7771/StreamStatusEvent
OBJECT:
{
"nodeId" : "Mkd0uFPnkuR75m1zsCoBdMJmfb3NwRWt@88.99.151.175",
"appKey" : "EventsFlash",
"sessionId" : "7a354039-cec1-43ac-9c9d-b3c71c45ebc7",
"mediaSessionId" : "fd8e6747-1ac2-45f8-bf2c-4064b1e735cb",
"name" : "OBS",
"published" : true,
"hasVideo" : false,
"hasAudio" : true,
"status" : "FAILED",
"audioCodec" : "speex",
"videoCodec" : "H264",
"info" : "Stopped by session disconnect",
"record" : false,
"width" : 0,
"height" : 0,
"bitrate" : 0,
"quality" : 0,
"createDate" : 1504514093660,
"mediaProvider" : "Flash",
"history" : false,
"playing" : false,
"publishing" : false
}
В чем моежет быть проблема ?
При изменении значении параметра keep_alive.server_interval
Момент отвала , наступает дольше .
 

pride

Member
Отключил keepAlive для rtmp, обрывы прошли, но 68% пропусков кадров. С чем это может быть связанно ?
 

Max

Administrator
Staff member
попробуйте выставить в настройках OBS тип кодирования ultrafast
была подобная проблема без этой настройки
 

pride

Member
Вопрос закрыт.
Глюки связаны с фаерволом, блокировал исходящие пакеты.
Благодарю.
 

pride

Member
Подскажите пожалуйста.
Вещание происходит через OBS (rtmp или trcp). При потере интернет соединения, поток на WCS не дисконектит, при попытке подключиться снова, соответственно ругается что имя этого потока уже существует.
Как можно побороть это ?
 

Max

Administrator
Staff member
Так как OBS не поддерживает keep alives на уровне RTMP протокола, вы их отключили и WCS не может узнать на уровне RTMP есть ли клиент.

Мы подготовили билд 2440
В этой сборке включены таймауты на уровне TCP.
По-умолчанию, если нет данных по TCP сокету в течение 30 секунд, соединение будет считаться разорванным и ресурсы будут освобождены.
Т.е. можно будет повторно приконнектиться и застримить поток с тем же именем.
Настройка в конфиге server.properties
Code:
rtmp.server_socket_timeout=30
Протестировали с Flash приложением и закрытием TCP порта 1935 на firewall
 
Top