sergey-dryabzhinsky / nginx-rtmp-module

NGINX-based Media Streaming Server
http://nginx-rtmp.blogspot.com
BSD 2-Clause "Simplified" License
1.02k stars 214 forks source link

drop_idle_publisher kills process #237

Open notmark opened 7 years ago

notmark commented 7 years ago

Using the drop_idle_publisher with live on causes the entire nginx process to die. The only fix I've found is to not use the drop_idle_publisher directive. Anyone else experience this issue?

winkmichael commented 7 years ago

Never seen this issue, how long do you have the drop_idle_publisher value set to?

Cheers, Mike

-- Michael McConnell WINK Streaming; email: michael@winkstreaming.com mailto:michael@winkstreaming.com phone: +1 312 281-5433 x 7400 cell: +506 8706-2389 skype: wink-michael web: http://winkstreaming.com http://winkstreaming.com/

On Apr 18, 2017, at 11:23 AM, notmark notifications@github.com wrote:

Using the drop_idle_publisher with live on causes the entire nginx process to die. The only fix I've found is to not use the drop_idle_publisher directive. Anyone else experience this issue?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/sergey-dryabzhinsky/nginx-rtmp-module/issues/237, or mute the thread https://github.com/notifications/unsubscribe-auth/AE8hYSn-HmjKIvM7XsQtTQtFjgjoJj3Xks5rxPF4gaJpZM4NApXq.

notmark commented 7 years ago

Had it set to 360s. It would always be the last line of the error.log after a crash.

winkmichael commented 7 years ago

6 minutes seems like a long time to wait for a republish event, I normally run it at 5s.

Maybe try a lower value and see if that helps to isolate the issue to that param then a developer, most likely sergey might have some details he can dig into?

Cheers, Mike

-- Michael McConnell WINK Streaming; email: michael@winkstreaming.com mailto:michael@winkstreaming.com phone: +1 312 281-5433 x 7400 cell: +506 8706-2389 skype: wink-michael web: http://winkstreaming.com http://winkstreaming.com/

On Apr 18, 2017, at 11:56 AM, notmark notifications@github.com wrote:

Had it set to 360s. It would always be the last line of the error.log after a crash.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/sergey-dryabzhinsky/nginx-rtmp-module/issues/237#issuecomment-294929056, or mute the thread https://github.com/notifications/unsubscribe-auth/AE8hYV8qXdpOUuTCZOVcnKCQt-zIHFK4ks5rxPlqgaJpZM4NApXq.

notmark commented 7 years ago

Reason for that length is to account for publishers with bad internet. Dropping the pull for extensively dropped packets caused reconnect loops. Granted this was on a much older build I experienced that on and never revisited.

winkmichael commented 7 years ago

I’ve not looked at the code, but is easy to image a crash event being triggered by the socket being disconnected during this wait period. The reality is the drop_idle_publishers value doesn’t really improve video recovery time by much (at the very most a few hundred milliseconds), I believe its intended usage is to prevent resource waisting or held up.

Cheers, Mike

-- Michael McConnell WINK Streaming; email: michael@winkstreaming.com mailto:michael@winkstreaming.com phone: +1 312 281-5433 x 7400 cell: +506 8706-2389 skype: wink-michael web: http://winkstreaming.com http://winkstreaming.com/

On Apr 18, 2017, at 12:01 PM, notmark notifications@github.com wrote:

Reason for that length is to account for publishers with bad internet. Dropping the pull for extensively dropped packets caused reconnect loops. Granted this was on a much older build I experienced that on and never revisited.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/sergey-dryabzhinsky/nginx-rtmp-module/issues/237#issuecomment-294930672, or mute the thread https://github.com/notifications/unsubscribe-auth/AE8hYaUzTfzR6ZTnY7AP9A8ZU96ySxeIks5rxPqOgaJpZM4NApXq.

notmark commented 7 years ago

That makes sense. I'll give it another try at a much lower value.