Custom module implementation for the third party caption (Revai)

Hi

I want to integrate the third-party live caption api when Wowza steam is playing. I research some blogs and find that we can implement it by the custom modules jar file. So can anyone help me with the below questions?

  1. How I can find the log which I add in code with getLogger().info(“HS on app start”)?
  2. By which event I can get the live stream and pass that stream to a third party for getting the caption?
  3. I want to implement the revai live caption functionality, so does anyone know about it?

Thanks

Hello and welcome! :slightly_smiling_face:

If you don’t get a reply in here, it may be that nobody is familiar with Rev.ai API, I am not either, but I do know that some customers do use it with Wowza Streaming Engine You could submit a support ticket and see if one of the Wowza engineers can walk you through it. They may refer you to Pro Services if it requires custom configuration.

Have you checked our captions documentation to see what kind Rev.ai is and follow the steps to add it to the Engine files?


Hi,

  1. The log you’re looking for is /usr/local/WowzaStreamingEngine/logs/wowzastreamingengine_access.log (on Windows, it’s in the /logs subfolder of your WSE installation).

  2. In the module, you can use the onPublish function of the IMediaStreamActionNotify interface; the method signature will provide you an IMediaStream object, which is a reference to the incoming stream. Use the onStreamCreate method of the ModuleBase implementation to hook onto your IMediaStreamActionNotify implementation by using stream.addClientListener()

  3. An integration with rev.ai will require a lot more programming. You will need to use the transcoder to decode incoming audio, send it to the rev.ai streaming interface, get the text back and add that to the WSE stream as a caption.

General note: if you intent to use any TTS service, then make sure you do a lot of testing upfront and know what to expect. I’ve done a lot of testing with several TTS services and I found none of them to be good enough to be used with Live streaming (TV, etc.) without post-processing.

If you’re interested in getting help with development of the module, you may post a message in the Hire A Consultant forums. That’s also the place where third parties may offer you (commercial) modules if they already have one that could solve your problem.

1 Like

Thanks for helping @Karel_Boek

Hi Karel_Boek,

Thank you for your feedback but I can’t find my log on that URL, Also can you please provide the All events document URL. So I can check it deeply,

We need to create a new project for the custom module and generate a jar file of that custom module. Then we need to add that file into the Wowza Streaming Engine lib folder, Am I right?

For Revai - Yes I checked that we need to add the revai sdk for it and need to integrate it with wowza jar file.

Thanks

The log isn’t on an URL, it’s physically on the Wowza Streaming Engine server. I’m not sure what you mean by the All Events documentation. The documentation for developing extensions for WSE is available here: https://www.wowza.com/docs/wowza-streaming-engine-java-api.

I highly recommend to read through all documentation for WSE, so that you understand how it works and how you can create simple modules. Creating a TTS integration with rev.ai and Closed Captioning is not a simple thing; so you may want to start with some of the module examples. You can also find sample modules on Wowza’s GitHub: https://github.com/WowzaMediaSystems

1 Like