- No suggested jump to results
Caption Inspector is a reference decoder for Closed Captions (CEA-608 and CEA-708).
Name already in use.
Use Git or checkout with SVN using the web URL.
Work fast with our official CLI. Learn more .
- Open with GitHub Desktop
- Download ZIP
Sign In Required
Please sign in to use Codespaces.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
The Caption Inspector project builds a C library, C executable, and Docker image that can be used to extract and decode Closed-Captions from various Video or Caption File Formats. Caption Inspector Supports CEA-608 and CEA-708 in MPEG-2 and MPEG-4 (.mpg, .ts, and .mp4 containers), MCC (MacCaption Closed Captions), and SCC (Scenarist Closed Captions) files.
Caption Inspector has a plugin pipeline architecture that can be configured in various ways and allows the user to add new plugins to perform various transformations. Currently, the following are the main use cases that the Caption Inspector Software covers:
- Pulling Captions from a Video Asset and writing them to an MCC Caption File, a CEA-608 Decode File , a CEA-708 Decode File , and a Closed Caption Descriptor Decode File .
- Decoding a MCC Caption file and writing the decoded captions into a CEA-608 Decode File , a CEA-708 Decode File , and a Closed Caption Descriptor Decode File .
- Decoding a SCC Caption file and writing the decoded captions into a MCC Caption File, a CEA-608 Decode File , and a Closed Caption Descriptor Decode File .
Building and Running the Caption Inspector Executable Locally
Caption Inspector requires FFMPEG to be installed on your machine. Please download the appropriate version of FFMPEG from here and install it in your machine. Caption Inspector is known to run with FFMPEG Version 4.0.2.
To install FFMPEG Version 4.0.2, follow the below list (for Mac), using the Dockerfile as a reference:
While not required, Caption Inspector leverages a tool called MediaInfo to determine whether or not an asset is, or is not, Drop Frame. You can download the command line version of MediaInfo here . Caption Inspector is known to run with MediaInfo Version 18.12 (found here ).
Running with the -h option will simply print out the help text.
Running against the video file BigBuckBunny_256x144-24fps.ts demonstrates decoding closed captions from a video file.
Running against the caption file Plan9fromOuterSpace.scc demonstrates decoding an SCC file and CEA-608 Captions, as well as converting the contents of the SCC file into an MCC file.
Running against the caption file NightOfTheLivingDead.mcc demonstrates decoding an MCC file, CEA-608 Captions, and CEA-708 Captions.
Building the Caption Inspector Executable Locally with MOV Support
Caption Inspector requires the inclusion of the [GPAC][ https://gpac.wp.imt.fr/ ] Library. Specifically a modified library of GPAC which gets linked as a shared object is required. This library is located [here][ https://github.com/Comcast/gpac-caption-extractor ] and must be pulled and built. Once the GPAC library has been built the same instructions are used as above.
Building and Running Caption Inspector in a Docker Container
Obviously you need docker running on your local machine to build. Building inside of a docker image will remove the need to install any dependencies, but comes at the expense of a slightly more complicated command line execution. Another advantage of building Caption Inspector inside of the Docker Container is that it seamlessly integrates MOV support. All of the steps above to pull the GPAC library, build it, and then link it to Caption Inspector are done automagically in the Docker File.
In the docker run command, your current working directory will be remapped to /files inside of the container, so you will need to prefix your input and output paths to that so that it can place the files in the correct spot. For this example, the output file is located in the current directory ./ and the input file is located in a directory underneath the current directory, specifically ./test/media/* .
Regression Testing the Caption Inspector Executable
While the testing is not complete yet, there are several Unit Tests, Integration Tests, and System Tests that run on the Caption Inspector Codebase. These are intended to be run as integration tests and verify that nothing has broken as a result of a change. They are run as part of a pull request, but for debugging purposes they can also be run locally (even in an IDE) before a pull request is issued. The easiest way to run these is inside of docker, as the dependencies are handled for you. But if you need to run them with an IDE/debugger, they can also be run from the command line. To run the regression tests from inside of docker, you can build the docker image and run the tests from the root directory.
The output generated by this activity can give information about any test case that does not pass, but even more useful is an HTML file that is the output of the test. It contains all of the tests, and their statuses. It is in the root directory and takes the form <date>__<time>_test_output.html . To view the results you can open the file inside of a browser.
To run the regression tests from the command line, you need to install Xunit Viewer, which can be found here . Xunit Viewer is the application that takes the Xunit XML and converts it into a beautified HTML format. Once you have Xunit Viewer installed, or if you ignore it, you just need to build and run the regression tests from the test directory.
The tests are a mix of C and Python, depending on which made more sense for the specific test. The build system will aggregate all of the results from the tests in both languages.
Leveraging the Caption Inspector Functionality from Python
C was chosen as the language for Caption Inspector because of interoperability with FFMPEG and ease of implementation of the specifications. While that choice made sense, there are lots of reasons to want to access this functionality as a library from a higher level language than C. To that end Python bindings, using CTypes, were added to the C functionality which can be compiled into a shared library and referenced from Python code. To use this functionality you just need to build the shared library using the command make sharedlib . Then leverage the file python/cshim.py inside of your Python code, making sure that it knows where to find the shared library with the Caption Inspector Code.
The Caption Inspector code that makes this possible, and the library it generates, can likely be reused for other high level languages such as Java/JNI, Golang/Cgo, etc. No work has been done in those languages, but if you do end up using it in a new language, please consider submitting the results back to the repository.
Code of conduct
Security policy, contributors 5.
- Python 7.1%
- Makefile 1.9%
PHILADELPHIA & NEW ORLEANS--( BUSINESS WIRE )--Comcast and Team Gleason have partnered to drive inclusive innovation to improve the independence and quality of life for people with physical and speech disabilities, including those living with ALS. Together, Comcast and Team Gleason are actively engaging with people with ALS (pALS) and caregivers, as well as preeminent clinicians, technologists and assistive technology partners to define and develop accessible, empowering experiences – from TV control to smart home solutions and beyond.
The companies are proud to announce their partnership’s first collaboration, working together on the latest evolution of Comcast’s Xfinity Adaptive Remote . The Adaptive Remote, first launched in 2019, is an award-winning web-based remote control for Xfinity X1 and Xfinity Flex– which gives customers unprecedented control of their in-home entertainment experience. The Adaptive Remote works on any computer, smartphone or tablet by seamlessly connecting with the assistive devices that people with disabilities use and trust, including eye tracking technology, sip and puff technology, switch control technology, voice control software and more.
The Adaptive Remote experience works in any web browser without requiring any additional downloads. Simply visit remote.xfinity.com , log in with your Xfinity credentials, and control any of your Xfinity devices with the assistive technology that suits you. In an industry-first, the technology offers the ability to type instead of speak voice commands—which, for many without use of their voice, is the only way to harness the power and ease of voice navigation. The latest update to the Adaptive Remote changes the game with the ability to add custom buttons that execute any action or voice command of your choice, from toggling closed captions, to “sports on now” to “front door camera,” and countless other possibilities.
When asked to rank the technologies and experiences that are most important to them, people with ALS and other physical disabilities consistently list controlling their TV and entertainment experience independently. Team Gleason’s network of industry experts and close relationships with pALS serve as a connection for the Adaptive Remote Product team at Comcast to gain customer feedback. Together, Comcast and Team Gleason continue to shape best practices in designing for people with ALS and other physical disabilities.
“Our partnership with Comcast allows us to continue innovating on technology that provides people with ALS and other physical disabilities the latest in accessibility functions,” said Blair Casey, Team Gleason’s Chief Impact Officer. “We will expand awareness and usership of the Adaptive Remote, leveraging Team Gleason’s robust network of clinicians, technologists, and caregivers to give people with limited physical capabilities the ability to access Comcast's suite of technology.”
“Team Gleason is incredibly proactive and uniquely connected in the disability and tech spaces,” said Joel Moffatt, Principal Product Manager and Engagement Lead on Comcast’s Accessibility Team. “Together, we’re able to accelerate innovation, create better experiences for everyone in the home, and bring disability perspectives to the forefront.”
Comcast Corporation (Nasdaq: CMCSA) is a global media and technology company that connects people to moments that matter. We are principally focused on broadband, aggregation, and streaming with 57 million customer relationships across the United States and Europe. We deliver broadband, wireless, and video through our Xfinity, Comcast Business, and Sky brands; create, distribute, and stream leading entertainment, sports, and news through Universal Filmed Entertainment Group, Universal Studio Group, Sky Studios, the NBC and Telemundo broadcast networks, multiple cable networks, Peacock, NBCUniversal News Group, NBC Sports, Sky News, and Sky Sports; and provide memorable experiences at Universal Parks and Resorts in the United States and Asia. Visit www.comcastcorporation.com for more information.
About Team Gleason:
Team Gleason Foundation was founded by former New Orleans Saints player, Steve Gleason, after his diagnosis with Amyotrophic Lateral Sclerosis (ALS) in 2011. Team Gleason’s mission is to improve life for people living with ALS by delivering innovative technology and equipment, as well as providing and empowering an improved life experience. For more information on how to help people living with ALS have the resources and the opportunities to not only continue living, but continue living productive, purposeful, and meaningful lives, please visit www.TeamGleason.org .
Kate Panarese [email protected] 267-418-1887
Suzanne Alford [email protected] 504-606-4384
If you have X1 · Press the Xfinity button on the remote control. · Using the right arrow, navigate to the settings gear icon. · Using the down arrow, navigate to
Closed Captioning (CC) can now be turned on or off using the Voice Remote. Simply press and hold the microphone (Mic) button, and say "Closed Captions" or
Pursuant to federal rules, broadcasters and video programming distributors, like Comcast, are required to provide Closed Captioning for most English and
The Comcast Accessibility Support Center for Customers with Disabilities supports customers experiencing Closed Captioning issues. For further information or
Enable Closed Captioning Using the HD TV Adapter On-Screen Guide · Press the XFINITY button on your remote control. · Navigate to Closed Captioning in the left
You'll need to use the CableCARD device to turn Closed Captioning on or off. Learn How to Set up Closed Captioning on Your Devices. TV Boxes with Enable or
Comcast Business Login PageMy Account Get instant access to your Comcast ... View Billing & Payments Support Accessibility Learn about closed captioning
Caption Inspector is a reference decoder for Closed Captions (CEA-608 and CEA-708). - GitHub - Comcast/caption-inspector: Caption Inspector is a reference
Comcast Cable is one of the United States' largest video, ... We're excited to announce the new 2023 Comcast NBCUniversal #SportsTech Class.
Comcast's Xfinity Adaptive Remote experience on a tablet (Photo: ... from toggling closed captions, to “sports on now” to “front door camera