Closed Captioning with multiple bitrates (smil) not working

Hi,

I’d like to use the speechToText module as described here: Convert speech to text to generate live stream captions with Azure AI Speech Services | Wowza Docs & APIs

So far it works fine for single streams, but I’d like to transcode in multiple bitrates.
I have the transcoder set to transcode the stream “wowzatest” into wowzatest_720p and wowzatest_360p streams.

When I access the HLS streams via “/wowzatest_720p/playlist.m3u8” everything works fine and I see the subtitles.

But I need bitrate switching, so I created this SMIL, according to the documentation: Convert speech to text to generate live stream captions with Azure AI Speech Services | Wowza Docs & APIs

<?xml version="1.0" encoding="UTF-8"?>
<smil title="">
  <body>
    <switch>
      <video height="720" src="wowzatest_720p" width="1280">
        <param name="videoBitrate" value="3500000" valuetype="data"></param>
        <param name="audioBitrate" value="128000" valuetype="data"></param>
        <param name="cupertinoTag.SUBTITLES" value="subs" valuetype="data"/>
      </video>
      <video height="360" src="wowzatest_360p" width="640">
        <param name="videoBitrate" value="1300000" valuetype="data"></param>
        <param name="audioBitrate" value="128000" valuetype="data"></param>
        <param name="cupertinoTag.SUBTITLES" value="subs" valuetype="data"/>
      </video>
      <textstream src="wowzatest_720p" system-language="ger">
        <param name="iswowzacaptionstream" value="true" valuetype="data"/>
        <param name="cupertinoTag.TYPE" value="SUBTITLES" valuetype="data"/>
        <param name="cupertinoTag.GROUP-ID" value="subs" valuetype="data"/>
        <param name="cupertinoTag.DEFAULT" value="YES" valuetype="data"/>
        <param name="cupertinoTag.FORCED" value="NO" valuetype="data"/>
      </textstream>
    </switch>
  </body>
</smil>

Unfortunately, when accessing the stream with “/smil:wowzatestmbr.smil/playlist.m3u8”, both streams don’t show subtitles (no CC icon).

Interestingly, the wowzatestmbr.smil/playlist.m3u8 contains this information: (doesn’t work)

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA:TYPE=CLOSED-CAPTIONS,GROUP-ID="subs",NAME="Deutsch",FORCED=NO,AUTOSELECT=YES,DEFAULT=YES,LANGUAGE="ger"
#EXT-X-STREAM-INF:BANDWIDTH=3628000,RESOLUTION=1280x720,CLOSED-CAPTIONS="cc"
chunklist_w857691546_b3628000.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=1428000,RESOLUTION=640x360,CLOSED-CAPTIONS="cc"
chunklist_w857691546_b1428000.m3u8

Whereas when accessing the wowzatest_720p/playlist.m3u8 directly, it shows this: (works)

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="Deutsch",FORCED=NO,AUTOSELECT=YES,URI="subtitlelist_lde_w663707475.m3u8",LANGUAGE="de"
#EXT-X-STREAM-INF:BANDWIDTH=2448140,CODECS="avc1.4d401f,mp4a.40.2",RESOLUTION=1280x720,SUBTITLES="subs"
chunklist_w663707475.m3u8

Any ideas?

Hi, if it’s of interest: I have a module that does this - PM me or email info@ztream.io

So it’s not possible with standard WSE? That’d be strange…
I sent you a mail :slight_smile:

1 Like