Closed Captioning Trouble

Store Forums Video Experimenter Bugs/Problems Closed Captioning Trouble

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
  • #533

    I’ve tried a few times and haven’t been able to get the closed captioning example to work and I’m hoping to narrow down the problem. I’ve tried different lines, different values for dataCaptureStart, and adjusting the two pots as described in the tutorial. I’ve confirmed that my source is transmitting the CC data. Watching the serial monitor, I haven’t seen anything come through, not even a single character. I’m using the composite out of my cable box and I’ve tried each of the values for these arrays in the code:

    // TiVo, DVD player
    byte bpos[][8] = {{26, 32, 38, 45, 51, 58, 64, 70}, {78, 83, 89, 96, 102, 109, 115, 121}};
    // VCR
    //byte bpos[][8] = {{27, 33, 40, 46, 52, 59, 65, 72}, {78, 84, 91, 97, 103, 110, 116, 123}};

    Is this a matter of just being persistent and systematically checking every possible combination of the line number, dataCaptureStart, the pots, and the two arrays above? Or is there some way I can know I’m on the right track?

    Matt Richardson


    (Thx for the blog post on Make today)

    Before you even start the serial monitor, you need to ensure you are capturing data. Are the bits displayed at the top of the TV screen like in the images? This is how you know you are on the right track — the code gives you visual feedback by displaying the two bytes at the top of the TV screen.

    Adjust the potentiometers until the pixels representing the data bits are displayed. When there is no dialog, only the parity bits are on. When there is dialog transmitted, the other bits flash. Do you see this? If not, try different values in the code for the line to look on (first arg of dataCaptureStart) and adjust the potentiometers.

    Then as the tutorial says, display the bit positions to see if they line up with the bits. Uncomment the call to displayBitPositions(). You can adjust the values in the code based on what you visually see on the screen.

    Only then should you turn on the serial monitor, and hopefully you’ll get clean data.

    It takes a while to find the data. This is not a plug-and-play project, and that’s why it has a difficulty level of 8.


    Thank you, that helped greatly. It was an issue of me not reading the tutorial carefully enough! I’ve got it working now and I’m starting to figure out how to use this data for some potential projects.

    Thanks again,


    That’s great — have fun. There are a lot of cool things you can do with this….

    – integrate with Twitter (I specifically designed the Video Experimenter to be compatible with the Arduino Ethernet shield)
    – search broadcasts for keywords and trigger some Arduino output. This can be done entirely in the Arduino with no Processing component.
    – make a video drinking game. Search for keywords and when they are detected, display them on the screen and also display “Drink!”

    Some undocumented features of the Processing program:
    – click to reset the cloud
    – space bar pauses/unpauses the collection of words in the cloud
    – ‘s’ saves the current cloud as a .png image.
    – ‘r’ starts/stops video recording of the cloud. Large window sizes cause poor performance.

Viewing 4 posts - 1 through 4 (of 4 total)
  • You must be logged in to reply to this topic.