Embed CC into a captured file or network stream
To embed CC into the captured file, you should set this key value:
HKEY_CURRENT_USER/SOFTWARE/Medialooks/MPlatform/MWriter/MWriterFFM/embed_cc = true
Or, you can specify this property with the PropsSet method:
(myWriter as IMProps).PropsSet("embed_cc", "true");
Once it is enabled, all CC data is captured into files for these codecs:
- MPEG-2
- H264
Please note that you can use this option to stream closed captions data over the network, for example with UDP stream.
Write CC into an external file
It is possible to capture Closed Captioning data into an external file while you use MWriter object. If your source (live or playlist content) contains CC data, it is captured into the external file automatically. So you can use the captured content with closed captions data later.
When you start a capturing, all 608 CC data (with the one that is included into 708) is captured into SCC file with the same name. For example, if you start a capturing to file c:\myCaptureTest.mov then CC is captured into c:\myCaptureTest.scc. You can use SCC files in any application.
The 708 CC data is captured into ANC file. This file has a custom format and you can use such files only in Medialooks-based applications.
To be able to capture Closed Captioning data into a file you should set "scc_capture" attribute of the required format into "true" for 608 CC data and "anc_capture" attribute to "true" for 708 CC data. You can do it with the AttibutesStringSet method in code:
IMAttributes attributes; string name; m_objWriter.ConfigGet("format", out name, out attributes); attributes.AttributesStringSet("anc_capture", "true"); attributes.AttributesStringSet("scc_capture", "true"); string config; m_objWriter.ConfigGetAll(1, out config);
To set a specific file to capture CC data you should set "scc_path" property with required SCC file path and "anc_path" property with required ANC file path.