The Wowza Streaming Engine™ media server software ModuleCCDetectLiveCaptions module can analyze an active live stream to determine if it has closed captions. It can recognize onTextData, onCaption, onCaptionInfo, onCaptionInfo(708), CEA608 field 1, CEA608 field 2, and CEA608 XDS captions. The module works by capturing the various caption types as the live stream is ingested into Wowza Streaming Engine. Knowing the caption types in your stream can help you debug captioning issues, understand your live caption source, and configure modules and properties for Wowza media server correctly.
- Download the ModuleCCDetectLiveCaptions package for Wowza Streaming Engine.
- Copy the lib/wms-plugin-cc-detectlivecaptions.jar file in the package to the lib folder in the Wowza Streaming Engine installation directory ([install-dir]/lib).
- In a text editor, add and configure ModuleCCDetectLiveCaptions in [install-dir]/conf/[live-application-name]/Application.xml:
- Add the ModuleCCDetectLiveCaptions module to the end of the <Modules> list:
<Module> <Name>ModuleCCDetectLiveCaptions</Name> <Description>ModuleCCDetectLiveCaptions</Description> <Class>com.wowza.wms.plugin.closedcaption.live.ModuleCCDetectLiveCaptions</Class> </Module>
- Add the following properties to the application-level <Properties> container at the bottom of the file. Be sure to get the correct <Properties> container; there are several in the file.
<Property> <Name>ccDetectCEA608Field1</Name> <Value>true</Value> <Type>Boolean</Type> </Property> <Property> <Name>ccDetectCEA608Field2</Name> <Value>true</Value> <Type>Boolean</Type> </Property> <Property> <Name>ccDetectCEA608XDS</Name> <Value>true</Value> <Type>Boolean</Type> </Property> <Property> <Name>ccDetectOnTextData</Name> <Value>true</Value> <Type>Boolean</Type> </Property> <Property> <Name>ccDetectOnCaption</Name> <Value>true</Value> <Type>Boolean</Type> </Property> <Property> <Name>ccDetectCEA608Maximum</Name> <Value>25</Value> <Type>Integer</Type> </Property> <Property> <Name>ccDetectCEA608XDSMaximum</Name> <Value>25</Value> <Type>Integer</Type> </Property> <Property> <Name>ccDetectOnTextDataMaximum</Name> <Value>25</Value> <Type>Integer</Type> </Property> <Property> <Name>ccDetectOnCaptionMaximum</Name> <Value>25</Value> <Type>Integer</Type> </Property>
Property reference
- ccDetectCEA608Field1 – Determines if CEA-608 field 1 captions are detected (default is true).
- ccDetectCEA608Field2 – Determines if CEA-608 field 2 captions are detected (default is true).
- ccDetectCEA608XDS – Determines if CEA-608 XDS captions are detected (default is false).
- ccDetectOnTextData – Determines if AMF onTextData captions are detected (default is true).
- ccDetectOnCaption – Determines if AMF onCaption and onCaptionInfo captions are detected (default is true).
- ccDetectCEA608Maximum – Maximum number of CEA-608 captions logged (default is 100; 0 means no limit).
- ccDetectCEA608XDSMaximum – Maximum number of CEA-608 XDS events logged (default is 250; 0 means no limit).
- ccDetectOnTextDataMaximum – Maximum number of AMF onTextData captions logged (default is 100; 0 means no limit).
- ccDetectOnCaptionMaximum – Maximum number of AMF onCaption* captions logged (default is 100; 0 means no limit).
- ccDetectCEA608Field1 – Determines if CEA-608 field 1 captions are detected (default is true).
- Turn off any caption modules by commenting them out under <Modules>.
- Comment out the captionLiveIngestType property under <TimedText>/<Properties>.
- Add the ModuleCCDetectLiveCaptions module to the end of the <Modules> list:
- Publish a live stream that has captions to Wowza Streaming Engine.
- After letting the live stream run for a few minutes, stop Wowza Streaming Engine and inspect the log files ([install-dir]/logs/*_access.log) to see what caption types were detected.