zvbi-atsc-cc(1)

πŸ“¦
version 0.2.46 Β· 3 versions
  • 0.2.46 Β· arch rolling, debian bookworm, debian trixie, epel 10, fedora 43, fedora 44, nixpkgs unstable, opensuse-leap 16.0, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking (latest)
  • 0.2.35 Β· epel 9
  • 0.2.35 Β· ubuntu jammy
, in arch rolling, debian bookworm, debian trixie, epel 10, fedora 43, fedora 44, nixpkgs unstable, opensuse-leap 16.0, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’– zvbi-atsc-cc β€” ATSC Closed Caption decoder πŸ’–

okay bestie, gather round, because this little icon (zvbi-atsc-cc, straight out of the General Commands Manual, section 1, iykyk) is genuinely one of the most underrated tools in the whole Unix cinematic universe. let's get into it ✨


🌸 SYNOPSIS 🌸

zvbi-atsc-cc [ options ] [-n] station name

πŸ¦‹ DESCRIPTION πŸ¦‹

so what does it even do? zvbi-atsc-cc captures ATSC TV transmissions using a Linux DVB device and decodes the Closed Caption data hiding inside them. that's the whole vibe. πŸ’…

and it's not picky β€” it can record both NTSC caption (EIA 608-B) and DTVCC caption (CEA 708-C). two caption flavors, one slay. πŸ”₯


✨ OPTIONS ✨

πŸŽ€ the basics

  • -?, -h, --help, --usage β€” prints a short usage message. your little "what do I even type" moment, solved.
  • -q, --quiet β€” suppress all progress and error messages. silence. iconic. 🀫
  • -v, --verbose β€” crank up the verbosity. more yapping, more info.

πŸŽ€ Device options

  • -a number, --adapter-num number β€” pick a different DVB device to capture the signal from (/dev/dvb/adapterN). the default is adapter 0.
  • -i number, --frontend-id number β€” pick a different frontend on the DVB device (/dev/dvb/adapterN/frontendM). most devices have only one frontend, so don't stress. the default is frontend 0.
  • -d number, --demux-id number β€” pick a different demultiplexer on the DVB device (/dev/dvb/adapterN/demuxM). again, most devices have only one demultiplexer. the default is demultiplexer 0.
  • -r number, --dvr-id number β€” pick a different DVR interface on the DVB device (/dev/dvb/adapterN/dvrM). most devices have only one DVR interface. the default is DVR interface 0.
  • -T, --ts β€” decode an MPEG-2 Transport Stream on standard input instead of opening a DVB device. this option is mainly intended for debugging, bestie, so don't make it your whole personality.

since Transport Streams can contain multiple programs you must still specify one or more station names, which zvbi-atsc-cc will look up in a channel configuration file to determine the Program ID of the video elementary stream or streams it should extract. you should also add the --atsc option to clarify that this is an ATSC TS and the program should expect an azap channel configuration file β€” which is otherwise inferred from the DVB device capabilities.


πŸŽ€ Tuning options

  • -e file name, --channel-conf file name β€” to tune in a TV station zvbi-atsc-cc needs a channel configuration file. we use the config file of the azap tuning tool from the linuxtv-dvb-apps package. you can create it with the scan tool from that same package. 🫢

the azap channel configuration file is a text file which lists one station per line. each line contains six fields separated by a colon: the station name, the transponder frequency in Hz, the modulation used (8VSB, 16VSB, QAM_64, QAM_256), the video stream PID, the audio stream PID, and the service ID. empty lines and lines starting with a number sign will be ignored. πŸ™ˆ

this option selects a different channel configuration file. the default is $HOME/.azap/channels.conf.

  • -L, --list β€” list all stations in the channel configuration file and their transponder frequency. window shopping, but for TV stations. πŸ‘‘
  • -n station name, --station station name β€” the station to tune in. usually the -n can be omitted, it's just vibes.

zvbi-atsc-cc can record caption from multiple stations at once if they share a transponder frequency. just specify multiple station names on the command line to enable this. multitasking queen. πŸ’…


πŸŽ€ Caption options

with the caption and XDS options you specify which data zvbi-atsc-cc should extract. if multiple station names are given these options apply to the succeeding station name. you must specify at least one of these options for each station. no options, no caption, periodt.

  • -c, --cc β€” print any received caption on standard output.
  • -C file name, --cc-file file name β€” append any received caption to the specified file.
  • -l number, --channel number β€” print NTSC Closed Caption channel 1, 2, 3 or 4 on standard output.
  • -1 … -4 file name, --cc1-file … --cc4-file file name β€” filter out NTSC Closed Caption channel CC1 … CC4 and append the text to the specified file. CC1 is the primary, CC3 the secondary caption service. if both services are transmitted CC1 usually carries English, CC3 Spanish caption. 🌈
  • -5 … -8 file name, --t1-file … --t4-file file name β€” filter out NTSC Text service T1 … T4 and append the text to the specified file.
  • -9 … -0 file name, --s1-file … --s2-file file name β€” filter out DTVCC service 1 or 2 and append the text to the specified file. service 1 is the primary, service 2 the secondary caption service. if both services are transmitted service 1 usually carries English, service 2 Spanish caption.

digital TV stations are supposed to transmit language codes and other information about the available caption services but these are not presently evaluated. zvbi-atsc-cc filters out text which does not appear to be caption, such as tickers or vertically printed text. it knows what's real and what's not. πŸ’€

  • -b, --no-webtv β€” do not print WebTV links.
  • -m, --timestamps β€” prepend timestamps YYYYMMDDHHMMSS to caption lines. this is the system time in the UTC timezone when the text was captured, specifically the Carriage Return or Pop-On code responsible for printing the line. ⏰
  • -S, --stream-time / -Sdate, --stream-time=date β€” prepend timestamps YYYYMMDDHHMMSS to caption lines generated from the timestamps transmitted in the video stream. if date is given, also in the format YYYYMMDDHHMMSS, it will be added to the timestamps, otherwise the counter starts at 0001-01-01 00:00:00.
  • -s, --sentences β€” print caption one sentence at a time. little bite-sized pieces, very demure. πŸ“
  • -j type, --format type β€” when type is "plain" zvbi-atsc-cc prints caption and XDS text without any markup. when type is "vt100" it faithfully reproduces the caption foreground and background color, italic and underline attributes by inserting VT.100 terminal control codes. with type "ntsc-cc" it mimics the output of the ntsc-cc and zvbi-ntsc-cc tool. the default is "ntsc-cc".

zvbi-atsc-cc supports all Closed Caption character sets and converts to the encoding of the current locale, usually UTF-8. 🌸

  • -p, --plain β€” same as -j plain.

πŸŽ€ XDS options

  • -x, --xds β€” print all received XDS data on standard output.
  • -X file name, --xds-file file name β€” filter out eXtended Data Service data (station name, program name, program rating etc.) and append it as text to the specified file.
  • -f *type[,type]**, --filter *type[,type]** β€” filter out specific XDS information: all, call (station call sign), desc (program synopsis), length, network, rating, time, timecode, timezone, title. multiple -f options accumulate. the default is "all".

🌟 EXAMPLES 🌟

zvbi-atsc-cc -c NJN-HD
zvbi-atsc-cc --cc1-file wnyw.txt WNYW-DT --cc1-file wwor.txt WWOR-DT

(NJN-HD, WNYW-DT and WWOR-DT are TV stations in New York. WNYW-DT and WWOR-DT can be captured simultaneously because they share a transponder frequency. πŸ’–)

zvbi-atsc-cc --atsc --ts -c CNN < recorded-from-cnn.ts

πŸ—‚οΈ FILES πŸ—‚οΈ

$HOME/.azap/channels.conf

πŸ‘€ SEE ALSO πŸ‘€

zvbi-ntsc-cc, azap

http://zapping.sourceforge.net


🫢 AUTHORS 🫢

  • Michael H. Schimek (mschimek AT users.sourceforge.net)
  • timecop@japan.co.jp
  • Mike Baker
  • Mark K. Kim

this program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

this program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

you should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.


and that's the whole thing, bestie πŸŽ€ that was zvbi-atsc-cc(1) from the General Commands Manual β€” go forth, tune in, and let the captions slay. no cap. πŸ’…βœ¨

πŸ“¦ where this page comes from