Wowza webhook notifications module

Hello all,

I’m looking for someone to help us implement a notification/webhook framework similar to the one in nginx-rtmp:

https://github.com/arut/nginx-rtmp-module/wiki/Directives#notify

The goal is for the host web application to dispatch StreamListener events via webhooks (with a configurable list of events and corresponding URL endpoints).

I was looking for existing code but wouldn’t find something close enough - I’d appreciate any pointers. I’m looking for a simple solution, thought The Wowza Guru’s Recorder code would be a great starting point.

http://thewowza.guru/recorder-module-which-uses-wowza-streaming-engine-apis/

Please let me know if you’re interested in building this module.

Thank you in advance,

Peter

Hello,

Please drop me an email to discuss this further; if possible, include the events that you want the webhook to react to.

Kind Regards,

Karel Boek

karel.boek@raskenlund.com

Raskenlund

www.raskenlund.com

A few people asked some additional questions, please see these clarified below:

This is the list of the required events to be captured within Wowza – I essentially need a hook for all events in the context of the MediaStream, and possibly others (in the Application or Server contexts but only if implementing these is trivial). The main goal is to keep track of the stream events for the purpose of logging activity and displaying stream status/metrics in our web app.

  • onMetaData stream metaDataPacket

  • onPauseRaw stream isPause, location

  • onPause stream isPause, location

  • onPlay stream streamame, playStart, playLen, playReset

  • onSeek stream location

  • onStop stream

  • onCodecInfoAudio stream codecInfoAudio

  • onCodecInfoVideo stream codecInfoVideo

  • onPublish stream streamame, isRecord, isAppend

  • onUnPublish stream streamame, isRecord, isAppend

  • onstreamreate stream

  • onstreamestroy stream

    I would like to map these events onto a configurable, single HTTP base URL so the hooks would go to

    POST http://example.com/wowza/onPublish

    stream, streamName, isRecord, isAppend are sent as JSON

    Requirement #2

    Ideally, the module would would also be able to handle return values from the API calls, similarly to nginx-rtmp: for instance,

    if the …/wowza/onPublish call returns 4xx or 5xx HTTP code (anything other than 2xx) then the module would abort the playback session.

    Does anyone know if such a solution already exists already? Would this module be useful for others?

    Let me know if you have other questions!

    Peter

Hi Peter, I was building similar modules before so can help you with that.

If you’re still searching the consultant, write me to roman@dynamicstreaming.net