[FFmpeg-trac] #7567(undetermined:new): Incorrect timetamps when decoding teletext subtitles from TS file

FFmpeg trac at avcodec.org
Tue Dec 18 12:55:37 EET 2018


#7567: Incorrect timetamps when decoding teletext subtitles from TS file
-------------------------------------+-------------------------------------
             Reporter:  ExTechOp     |                    Owner:
                 Type:  defect       |                   Status:  new
             Priority:  normal       |                Component:
              Version:  unspecified  |  undetermined
             Keywords:  mpegts       |               Resolution:
  dvb_teletext                       |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------

Comment (by ExTechOp):

 The json file produced for the 50Mbyte sample I used above is about 7.2M,
 is there some ready-made library/program to interpret it? Or would a short
 sample of it help?

 {{{
 % ffprobe -v verbose -of json -show_programs -show_packets 50Mbytes-
 Frontline-Trump\'s_Showdown.ts > 50Mbytes-Frontline-Trump\'s_Showdown-
 packets_and_programs.json
 ffprobe version N-92549-g3317155 Copyright (c) 2007-2018 the FFmpeg
 developers
   built with gcc 8 (GCC)
   configuration: --prefix=/home/otto/ffmpeg_build --pkg-config-
 flags=--static --extra-cflags=-I/home/otto/ffmpeg_build/include --extra-
 ldflags=-L/home/otto/ffmpeg_build/lib --extra-libs=-lpthread --extra-
 libs=-lm --bindir=/home/otto/bin --enable-gpl --enable-libfdk_aac
 --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-
 libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-
 nonfree --enable-libzvbi
   libavutil      56. 24.101 / 56. 24.101
   libavcodec     58. 40.100 / 58. 40.100
   libavformat    58. 23.100 / 58. 23.100
   libavdevice    58.  6.100 / 58.  6.100
   libavfilter     7. 46.101 /  7. 46.101
   libswscale      5.  4.100 /  5.  4.100
   libswresample   3.  4.100 /  3.  4.100
   libpostproc    55.  4.100 / 55.  4.100
 [mpegts @ 0x3bbf9c0] parser not found for codec dvb_teletext, packets or
 times may be invalid.
 [libzvbi_teletextdec @ 0x3be8800] page filter: *
 [mpegts @ 0x3bbf9c0] parser not found for codec dvb_teletext, packets or
 times may be invalid.
 [mpeg2video @ 0x3be4100] Invalid frame dimensions 0x0.
 [mp3float @ 0x3be52c0] Header missing
 [mp3float @ 0x3be6480] Header missing
 [mpegts @ 0x3bbf9c0] max_analyze_duration 5000000 reached at 5882944
 microseconds st:4
 [mpegts @ 0x3bbf9c0] start time for stream 3 is not set in
 estimate_timings_from_pts
 [mpegts @ 0x3bbf9c0] PES packet size mismatch
     Last message repeated 2 times
 Input #0, mpegts, from '50Mbytes-Frontline-Trump's_Showdown.ts':
   Duration: 00:01:51.35, start: 74490.161789, bitrate: 3678 kb/s
   Program 17
     Stream #0:0[0x200]: Video: mpeg2video (Main), 1 reference frame
 ([2][0][0][0] / 0x0002), yuv420p(tv, top first, left), 720x576 [SAR 64:45
 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
     Stream #0:1[0x28a](eng): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz,
 stereo, fltp, 224 kb/s
     Stream #0:2[0x28c](dut): Audio: mp3 ([3][0][0][0] / 0x0003), 48000 Hz,
 stereo, fltp, 160 kb/s (visual impaired) (descriptions)
     Stream #0:3[0x403](fin): Subtitle: dvb_subtitle ([6][0][0][0] /
 0x0006)
     Stream #0:4[0x1388](fin): Subtitle: dvb_teletext ([6][0][0][0] /
 0x0006)
   Program 33
   Program 81
   Program 200
   Program 351
 [libzvbi_teletextdec @ 0x3c73980] page filter: *
 Processing read interval id:0 start:N/A end:N/A
 [mpegts @ 0x3bbf9c0] PES packet size mismatch
     Last message repeated 2 times
 [AVIOContext @ 0x3bc89c0] Statistics: 55054480 bytes read, 2 seeks
 }}}

 Strangely, adding the -fix_sub_duration option produces just an empty srt
 file:

 {{{
 % ffmpeg -txt_page 451 -txt_format text -fix_sub_duration -i "50Mbytes-
 Frontline-Trump's_Showdown.ts" -map 0:4 -an -vn -scodec srt "50Mbytes-
 Frontline-Trump's_Showdown.fin.srt"
 ffmpeg version N-92549-g3317155 Copyright (c) 2000-2018 the FFmpeg
 developers
   built with gcc 8 (GCC)
   configuration: --prefix=/home/otto/ffmpeg_build --pkg-config-
 flags=--static --extra-cflags=-I/home/otto/ffmpeg_build/include --extra-
 ldflags=-L/home/otto/ffmpeg_build/lib --extra-libs=-lpthread --extra-
 libs=-lm --bindir=/home/otto/bin --enable-gpl --enable-libfdk_aac
 --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-
 libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-
 nonfree --enable-libzvbi
   libavutil      56. 24.101 / 56. 24.101
   libavcodec     58. 40.100 / 58. 40.100
   libavformat    58. 23.100 / 58. 23.100
   libavdevice    58.  6.100 / 58.  6.100
   libavfilter     7. 46.101 /  7. 46.101
   libswscale      5.  4.100 /  5.  4.100
   libswresample   3.  4.100 /  3.  4.100
   libpostproc    55.  4.100 / 55.  4.100
 [mpeg2video @ 0x328d840] Invalid frame dimensions 0x0.
 [mp3float @ 0x328e980] Header missing
 [mp3float @ 0x328fb40] Header missing
 [mpegts @ 0x3269080] start time for stream 3 is not set in
 estimate_timings_from_pts
 [mpegts @ 0x3269080] PES packet size mismatch
     Last message repeated 2 times
 Input #0, mpegts, from '50Mbytes-Frontline-Trump's_Showdown.ts':
   Duration: 00:01:51.35, start: 74490.161789, bitrate: 3678 kb/s
   Program 17
     Stream #0:0[0x200]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002),
 yuv420p(tv, top first), 720x576 [SAR 64:45 DAR 16:9], 25 fps, 25 tbr, 90k
 tbn, 50 tbc
     Stream #0:1[0x28a](eng): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz,
 stereo, fltp, 224 kb/s
     Stream #0:2[0x28c](dut): Audio: mp3 ([3][0][0][0] / 0x0003), 48000 Hz,
 stereo, fltp, 160 kb/s (visual impaired) (descriptions)
     Stream #0:3[0x403](fin): Subtitle: dvb_subtitle ([6][0][0][0] /
 0x0006)
     Stream #0:4[0x1388](fin): Subtitle: dvb_teletext ([6][0][0][0] /
 0x0006)
   Program 33
   Program 81
   Program 200
   Program 351
 Output #0, srt, to '50Mbytes-Frontline-Trump's_Showdown.fin.srt':
   Metadata:
     encoder         : Lavf58.23.100
     Stream #0:0(fin): Subtitle: subrip (srt)
     Metadata:
       encoder         : Lavc58.40.100 srt
 Stream mapping:
   Stream #0:4 -> #0:0 (dvb_teletext (libzvbi_teletextdec) -> subrip (srt))
 Press [q] to stop, [?] for help
 [mpegts @ 0x3269080] PES packet size mismatch
 50Mbytes-Frontline-Trump's_Showdown.ts: corrupt input packet in stream 4
 size=       0kB time=00:00:00.00 bitrate=N/A speed=   0x
 video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
 muxing overhead: unknown
 Output file is empty, nothing was encoded (check -ss / -t / -frames
 parameters if used)
 }}}

--
Ticket URL: <https://trac.ffmpeg.org/ticket/7567#comment:8>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list