ccextractor icon indicating copy to clipboard operation
ccextractor copied to clipboard

[PROPOSAL] Unable to extract subtitles from DVB video samples when build using cmake by passing -DWITH_FFMPEG=ON flag

Open krushanbauva opened this issue 6 years ago • 2 comments

Please prefix your issue with one of the following: [BUG], [PROPOSAL], [QUESTION].

CCExtractor version (using the --version parameter preferably) : X.X

In raising this issue, I confirm the following (please check boxes, eg [X] - and delete unchecked ones):

  • [x ] I have read and understood the contributors guide.
  • [x ] I have checked that the bug-fix I am reporting can be replicated, or that the feature I am suggesting isn't already present.
  • [x ] I have checked that the issue I'm posting isn't already reported.
  • [x ] I have checked that the issue I'm porting isn't already solved and no duplicates exist in closed issues and in opened issues
  • [x ] I have checked the pull requests tab for existing solutions/implementations to my issue/suggestion.
  • [x ] I have used the latest available version of CCExtractor to verify this issue exists.

My familiarity with the project is as follows (check one, eg [X] - and delete unchecked ones):

  • [ ] I have never used CCExtractor.
  • [ ] I have used CCExtractor just a couple of times.
  • [ ] I absolutely love CCExtractor, but have not contributed previously.
  • [x ] I am an active contributor to CCExtractor.

Necessary information

  • Is this a regression (did it work before)? [x ] NO | [ ] YES - please specify the last known working version
  • What platform did you use? [ ] Windows - [x ] Linux - [ ] Mac
  • What were the used arguments? -autoprogram

**Video links (replace text below with your links) ** https://drive.google.com/open?id=0B_61ywKPmI0TdTdSTi1iN251WHM

Additional information

Unable to extract subtitles from DVB video samples. screenshot from 2018-05-29 15-32-00

This occurs if I build ccextractor using cmake by passing the -DWITH_FFMPEG=ON flag Exact build steps : screenshot from 2018-05-29 15-34-05

If I build without the -DWITH_FFMPEG=ON flag, ccextractor is able to extract the subtitles screenshot from 2018-05-29 15-46-47

PS: Make sure you set an alert in GitHub so you get notifications about your ticket. We may need to ask questions and we do everything inside GitHub's system.

krushanbauva avatar May 29 '18 10:05 krushanbauva

Those are FFmpeg's errors apparently, not sure it's something for us to fix, but I'm assigning it to @anshul1912 since he did that bit.

cfsmp3 avatar Sep 20 '18 17:09 cfsmp3

Name of file: 2016-12-15-BBC4.ts (leaving in a comment so it's findable)

I don't get those errors but I also don't get any output (no captions found). There's captions for sure (VLC plays them) so this is still a valid bug

✦ ❯ ./build -debug -hardsubx && ./ccextractor ~/Downloads/2016-12-15-BBC4.ts
Running pre-build script...
Obtaining Git commit
Storing variables in file
Commit: 9b2215d9c2ed48cff1cd9f1fa73af6e1bc88621f
Date: 2023-03-22
Stored all in compile_info_real.h
Done.
Trying to compile...
Checking for cargo...
rustc >= MSRV(1.54.0)
Building rust files...
    Finished dev [unoptimized + debuginfo] target(s) in 0.02s
Building ccextractor
../src/lib_ccx/telxcc.c: In function 'telxcc_dump_prev_page':
../src/lib_ccx/telxcc.c:519:28: warning: '%.3u' directive output may be truncated writing between 3 and 5 bytes into a region of size 4 [-Wformat-truncation=]
  519 |         snprintf(info, 4, "%.3u", bcd_page_to_int(tlt_config.page));
      |                            ^~~~
../src/lib_ccx/telxcc.c:519:27: note: directive argument in the range [0, 65535]
  519 |         snprintf(info, 4, "%.3u", bcd_page_to_int(tlt_config.page));
      |                           ^~~~~~
../src/lib_ccx/telxcc.c:519:9: note: 'snprintf' output between 4 and 6 bytes into a destination of size 4
  519 |         snprintf(info, 4, "%.3u", bcd_page_to_int(tlt_config.page));
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../src/lib_ccx/matroska.c:3:
../src/lib_ccx/matroska.c: In function 'generate_timestamp_ass_ssa':
../src/lib_ccx/matroska.h:23:13: warning: '%02ld' directive writing 2 bytes into a region of size between 1 and 13 [-Wformat-overflow=]
   23 | #define LLD "%ld"
      |             ^~~~~
../src/lib_ccx/matroska.c:256:22: note: in expansion of macro 'LLD'
  256 |         sprintf(buf, LLD ":%02" LLD_M ":%02" LLD_M ".%02" LLD_M, hours, minutes, seconds, millis);
      |                      ^~~
../src/lib_ccx/matroska.c:256:28: note: format string is defined here
  256 |         sprintf(buf, LLD ":%02" LLD_M ":%02" LLD_M ".%02" LLD_M, hours, minutes, seconds, millis);
../src/lib_ccx/matroska.h:23:13: note: directive argument in the range [0, 59]
   23 | #define LLD "%ld"
      |             ^~~~~
../src/lib_ccx/matroska.c:256:22: note: in expansion of macro 'LLD'
  256 |         sprintf(buf, LLD ":%02" LLD_M ":%02" LLD_M ".%02" LLD_M, hours, minutes, seconds, millis);
      |                      ^~~
../src/lib_ccx/matroska.h:23:13: note: directive argument in the range [0, 59]
   23 | #define LLD "%ld"
      |             ^~~~~
../src/lib_ccx/matroska.c:256:22: note: in expansion of macro 'LLD'
  256 |         sprintf(buf, LLD ":%02" LLD_M ":%02" LLD_M ".%02" LLD_M, hours, minutes, seconds, millis);
      |                      ^~~
../src/lib_ccx/matroska.h:23:13: note: directive argument in the range [0, 99]
   23 | #define LLD "%ld"
      |             ^~~~~
../src/lib_ccx/matroska.c:256:22: note: in expansion of macro 'LLD'
  256 |         sprintf(buf, LLD ":%02" LLD_M ":%02" LLD_M ".%02" LLD_M, hours, minutes, seconds, millis);
      |                      ^~~
../src/lib_ccx/matroska.c:256:9: note: 'sprintf' output between 11 and 23 bytes into a destination of size 15
  256 |         sprintf(buf, LLD ":%02" LLD_M ":%02" LLD_M ".%02" LLD_M, hours, minutes, seconds, millis);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/lib_ccx/matroska.c: In function 'save_sub_track':
../src/lib_ccx/matroska.c:1199:42: warning: '%d' directive writing between 1 and 10 bytes into a region of size 9 [-Wformat-overflow=]
 1199 |                         sprintf(number, "%d", i + 1);
      |                                          ^~
../src/lib_ccx/matroska.c:1199:41: note: directive argument in the range [1, 2147483647]
 1199 |                         sprintf(number, "%d", i + 1);
      |                                         ^~~~
../src/lib_ccx/matroska.c:1199:25: note: 'sprintf' output between 2 and 11 bytes into a destination of size 9
 1199 |                         sprintf(number, "%d", i + 1);
      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/lib_ccx/utility.c: In function 'change_filename':
../src/lib_ccx/utility.c:457:50: warning: '%d' directive writing between 1 and 10 bytes into a region of size 5 [-Wformat-overflow=]
  457 |                         sprintf(new_extension, ".%d", iter);
      |                                                  ^~
../src/lib_ccx/utility.c:457:48: note: directive argument in the range [1, 2147483647]
  457 |                         sprintf(new_extension, ".%d", iter);
      |                                                ^~~~~
../src/lib_ccx/utility.c:457:25: note: 'sprintf' output between 3 and 12 bytes into a destination of size 6
  457 |                         sprintf(new_extension, ".%d", iter);
      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/lib_ccx/ts_tables_epg.c: In function 'EPG_DVB_calc_start_time':
../src/lib_ccx/ts_tables_epg.c:85:57: warning: '%02ld' directive writing between 2 and 20 bytes into a region of size between 1 and 19 [-Wformat-overflow=]
   85 |                 sprintf(event->start_time_string, "%02ld%02ld%02ld%06" PRIu64 "+0000", y, m, d, time & 0xffffff);
      |                                                         ^~~~~
../src/lib_ccx/ts_tables_epg.c:85:51: note: directive argument in the range [-9223372036854775808, 9223372036854775806]
   85 |                 sprintf(event->start_time_string, "%02ld%02ld%02ld%06" PRIu64 "+0000", y, m, d, time & 0xffffff);
      |                                                   ^~~~~~~~~~~~~~~~~~~~
../src/lib_ccx/ts_tables_epg.c:85:51: note: using the range [-9223372036854775808, 9223372036854775807] for directive argument
../src/lib_ccx/ts_tables_epg.c:85:51: note: directive argument in the range [0, 16777215]
../src/lib_ccx/ts_tables_epg.c:85:17: note: 'sprintf' output between 18 and 74 bytes into a destination of size 21
   85 |                 sprintf(event->start_time_string, "%02ld%02ld%02ld%06" PRIu64 "+0000", y, m, d, time & 0xffffff);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/lib_ccx/ts_tables_epg.c: In function 'EPG_DVB_calc_end_time':
../src/lib_ccx/ts_tables_epg.c:116:54: warning: '%02d' directive writing between 2 and 11 bytes into a region of size between 10 and 19 [-Wformat-overflow=]
  116 |                 sprintf(event->end_time_string, "%02d%02d%02d%02d%02d%02d +0000", timeinfo.tm_year + 1900, timeinfo.tm_mon + 1, timeinfo.tm_mday, timeinfo.tm_hour, timeinfo.tm_min, timeinfo.tm_sec);
      |                                                      ^~~~
../src/lib_ccx/ts_tables_epg.c:116:49: note: directive argument in the range [-2147483647, 2147483647]
  116 |                 sprintf(event->end_time_string, "%02d%02d%02d%02d%02d%02d +0000", timeinfo.tm_year + 1900, timeinfo.tm_mon + 1, timeinfo.tm_mday, timeinfo.tm_hour, timeinfo.tm_min, timeinfo.tm_sec);
      |                                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/lib_ccx/ts_tables_epg.c:116:17: note: 'sprintf' output between 19 and 73 bytes into a destination of size 21
  116 |                 sprintf(event->end_time_string, "%02d%02d%02d%02d%02d%02d +0000", timeinfo.tm_year + 1900, timeinfo.tm_mon + 1, timeinfo.tm_mday, timeinfo.tm_hour, timeinfo.tm_min, timeinfo.tm_sec);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Compilation successful, compiler message shown in previous lines
CCExtractor 0.94, Carlos Fernandez Sanz, Volker Quetschke.
Teletext portions taken from Petr Kutalek's telxcc
--------------------------------------------------------------------------
Input: /home/cfsmp3/Downloads/2016-12-15-BBC4.ts
[Extract: 1] [Stream mode: Autodetect]
[Program : Auto ] [Hauppage mode: No] [Use MythTV code: Auto]
[CEA-708: 63 decoders active]
[CEA-708: using charset "none" for all services]
[Timing mode: Auto] [Debug: No] [Buffer input: No]
[Use pic_order_cnt_lsb for H.264: No] [Print CC decoder traces: No]
[Target format: .srt] [Encoding: UTF-8] [Delay: 0] [Trim lines: No

cfsmp3 avatar Mar 23 '23 00:03 cfsmp3