Skip to content

[PROPOSAL] Display both EIA-608 fields in --out report by default #2177

@bbgdzxng1

Description

@bbgdzxng1

Summary

By default, --out report will only report the presence of captions in the EIA-608 field 1. Captions in field 2 (CC3/4) are not detected by default. Currently, report will always explicitly state that there are no captions in CC3/4 unless the user passes --output-field 'both'.

The --out report is misleading to an end-user because it explicitly states there are no captions in CC3, whereas this is only the result of the defaults.

Proposal:

Either:

  • a. report mode should not explicitly list CC channels which do not belong to the field being probed, or state unknown
  • b. report mode should probe both EIA-608 fields by default --output-field 'both'. This is the more elegant solution suggested by @Varadraj75 at the end of this ticket.

Impact / Priority

  • Low, because a known workaround exists & the functionality is all there today if the user passes the appropriate options. From an end user perspective, it is a minor usability inconvenience.

Sample File & Test Case

Download sample (copying to TS, just because of an unrelated issue of MPEG2 in MKV, which is already resolved in master)

Run ccextractor on TS input...

$ ffmpeg -i "https://weather.horse/samples/cc3.mkv" -c 'copy' "./cc3.ts" -y

$ ccextractor --out report "./cc3.ts" 
File: ./cc3.ts
Stream Mode: Transport Stream
Program Count: 1
Program Numbers: 1 
PID: 256, Program: 1, MPEG-2 video
PID: 257, Program: 1, AC3 audio
//////// Program #1: ////////
DVB Subtitles: No
Teletext: No
ATSC Closed Caption: Yes
EIA-608: Yes
XDS: No
CC1: No
CC2: No
CC3: No <<<<<<<<<<<<<<<<<<<<<< CC3 is not detected
CC4: No
CEA-708: No
Width: 720
Height: 480
Aspect Ratio: 02 - 4:3
Frame Rate: 04 - 29.97

MPEG-4 Timed Text: No

Workaround

Specify both fields during execution...

$ ccextractor --output-field 'both' --out 'report' -o - "./cc3.ts"
File: ./cc3.ts
Stream Mode: Transport Stream
Program Count: 1
Program Numbers: 1 
PID: 256, Program: 1, MPEG-2 video
PID: 257, Program: 1, AC3 audio
//////// Program #1: ////////
DVB Subtitles: No
Teletext: No
ATSC Closed Caption: Yes
EIA-608: Yes
XDS: No
CC1: No
CC2: No
CC3: Yes <<<<<<<<<<<<<<<<<<<<<<< CC3 is now detected if --output-field 'both' is used
CC4: No
CEA-708: No
Width: 720
Height: 480
Aspect Ratio: 02 - 4:3
Frame Rate: 04 - 29.97

MPEG-4 Timed Text: No

Also, errors with --stdout

Workaround is to use -o - rather than --stdout

$ ccextractor --output-field 'both' --out 'report' --stdout "./cc3.ts"
Error: You can't extract both fields to stdout at the same time in broadcast mode.

Discussion from other ticket

#2149 (comment)

@Varadraj75 wrote...

the report mode behavior is genuinely misleading.
CC3: No when the captions are actually there is worse than not showing CC3
at all, since it could make users conclude the file has no CC3 content.

I agree this deserves a separate ticket. The cleanest fix is probably to have
--out report internally use --output-field both for its analysis pass,
with the broadcast mode conflict handled gracefully (just suppress the error
when in report-only mode since there's no actual --stdout conflict).

@Varadraj75 I hope you are not offended in me resurfacing your previous reply and creating a separate, independent issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions