#1482(undetermined:new): FFMPEG fails to create a SRT file when extracting Subtitles
#1482: FFMPEG fails to create a SRT file when extracting Subtitles -------------------------------------+------------------------------------- Reporter: ramitbhalla | Type: defect Status: new | Priority: normal Component: | Version: undetermined | unspecified Keywords: | Blocked By: Blocking: | Reproduced by developer: 0 Analyzed by developer: 0 | -------------------------------------+------------------------------------- Summary of the bug: When extracing subtitles in SRT format FFMPEG creates a file but it is an illegible format. The link to the original file (too big to attach) http://www.mediafire.com/?dnvw6m61mky8pea Attaching the output file created How to reproduce: COMMAND: ffmpeg -i srt.ts -an -vn -scodec copy -copyinkf -f srt sub.srt {{{ ffmpeg version N-41578-ga5c1a0c Copyright (c) 2000-2012 the FFmpeg developers built on Jun 13 2012 22:34:53 with gcc 4.6.3 configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-runtime-cpudetect --enable-avisynth --enab le-bzlib --enable-frei0r --enable-libass --enable-libcelt --enable- libopencore-amrnb --enable-libopencore-amrwb --enable -libfreetype --enable-libgsm --enable-libmp3lame --enable-libnut --enable- libopenjpeg --enable-librtmp --enable-libschro edinger --enable-libspeex --enable-libtheora --enable-libutvideo --enable- libvo-aacenc --enable-libvo-amrwbenc --enable- libvorbis --enable-libvpx --ena libavutil 51. 58.100 / 51. 58.100 libavcodec 54. 25.100 / 54. 25.100 libavformat 54. 6.101 / 54. 6.101 libavdevice 54. 0.100 / 54. 0.100 libavfilter 2. 79.100 / 2. 79.100 libswscale 2. 1.100 / 2. 1.100 libswresample 0. 15.100 / 0. 15.100 libpostproc 52. 0.100 / 52. 0.100 [mpegts @ 002dbd00] max_analyze_duration 5000000 reached at 5000000 [NULL @ 02b171c0] start time is not set in estimate_timings_from_pts Input #0, mpegts, from 'srt.ts': Duration: 00:01:38.16, start: 0.151678, bitrate: 4310 kb/s Program 1 Stream #0:0[0x30]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p, 720x576 [SAR 64:45 DAR 16:9], 15000 kb /s, 25 fps, 25 tbr, 90k tbn, 50 tbc Stream #0:1[0x40](eng): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16, 256 kb/s Stream #0:2[0x50](eng): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006) Output #0, srt, to 'sub.srt': Metadata: encoder : Lavf54.6.101 Stream #0:0(eng): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006) Stream mapping: Stream #0:2 -> #0:0 (copy) Press [q] to stop, [?] for help size= 113kB time=00:01:37.25 bitrate= 9.5kbits/s video:0kB audio:0kB global headers:0kB muxing overhead inf% Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used) }}} -- Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/1482> FFmpeg <http://ffmpeg.org> FFmpeg issue tracker
#1482: FFMPEG fails to create a SRT file when extracting Subtitles -------------------------------------+------------------------------------- Reporter: ramitbhalla | Owner: Type: defect | Status: new Priority: normal | Component: Version: unspecified | undetermined Keywords: | Resolution: Blocking: | Blocked By: Analyzed by developer: 0 | Reproduced by developer: 0 -------------------------------------+------------------------------------- Comment (by Cigaes): Please check with latest Git head before submitting a bug report. The issue your are reporting has been fixed two days ago. That does not mean your command will work: it can not, as subtitles in your MPEG-TS file are images and ffmpeg does not implement an OCR system. But at least it will fail with a clear message: {{{ [srt @ 0x80fe40] Unsupported subtitles codec: dvb_subtitle }}} -- Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/1482#comment:1> FFmpeg <http://ffmpeg.org> FFmpeg issue tracker
#1482: FFMPEG fails to create a SRT file when extracting Subtitles -------------------------------------+------------------------------------- Reporter: ramitbhalla | Owner: Type: defect | Status: new Priority: normal | Component: Version: unspecified | undetermined Keywords: | Resolution: Blocking: | Blocked By: Analyzed by developer: 0 | Reproduced by developer: 0 -------------------------------------+------------------------------------- Comment (by ramitbhalla): Okay thanks. How did you know it's a image and not text? Reason I'm asking, I tried a different file - a WTV file which has Closed Captions (I'm able to extract them using CCExtractor after converting it to a TS file). When I try to use FFMPEG wtih teh WTV file, here's the error I get: ffmpeg -i "..\NCIS HD.wtv" -an -vn -scodec copy -copyinkf -f srt sub.srt {{{ ffmpeg version N-41843-gc17808c Copyright (c) 2000-2012 the FFmpeg developers built on Jun 22 2012 17:40:07 with gcc 4.7.1 configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-runtime-cpudetect --enable-avisynth --enab le-bzlib --enable-frei0r --enable-libass --enable-libcelt --enable- libopencore-amrnb --enable-libopencore-amrwb --enable -libfreetype --enable-libgsm --enable-libmp3lame --enable-libnut --enable- libopenjpeg --enable-librtmp --enable-libschro edinger --enable-libspeex --enable-libtheora --enable-libutvideo --enable- libvo-aacenc --enable-libvo-amrwbenc --enable- libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable- libxvid --enable-zlib libavutil 51. 61.100 / 51. 61.100 libavcodec 54. 29.100 / 54. 29.100 libavformat 54. 11.100 / 54. 11.100 libavdevice 54. 0.100 / 54. 0.100 libavfilter 2. 82.100 / 2. 82.100 libswscale 2. 1.100 / 2. 1.100 libswresample 0. 15.100 / 0. 15.100 libpostproc 52. 0.100 / 52. 0.100 [mpeg2video @ 01d77800] mpeg_decode_postinit() failure Last message repeated 10 times Input #0, wtv, from '..\NCIS HD.wtv': Metadata: WM/MediaClassPrimaryID: db9830bd-3ab3-4fab-8a371a995f7ff74 WM/MediaClassSecondaryID: ba7f258a-62f7-47a9-b21f4651c42a000 Title : NCIS: Los Angeles WM/SubTitle : Sacrifice WM/SubTitleDescription: The LAPD asks NCIS for help when a case exposes a link between a Mexican drug cartel and a t errorist. genre : Drama;General;Series;Action/Adventure WM/OriginalReleaseTime: 0 WM/MediaCredits : Chris O'Donnell/LL Cool J/Linda Hunt/Daniela Ruah/Eric Christian Olsen/Barrett Foa/Renée Felice S mith;John P. Kousakis;;America Olivo/Brant Cotton/Doug Rao/Danny Nucci/Gino Montesinos/Farshad Farahat/Carlos Arellano/C heryl Texiera/Brian Michael Jones/Jen service_provider: KPHODT service_name : KPHODT (KPHO-DT) WM/MediaNetworkAffiliation: CBS Affiliate WM/MediaOriginalChannel: 5 WM/MediaOriginalChannelSubNumber: 1 WM/MediaOriginalBroadcastDateTime: 2011-10-18T07:00:00Z WM/MediaOriginalRunTime: 38375940244 WM/MediaIsStereo: true WM/MediaIsRepeat: false WM/MediaIsLive : false WM/MediaIsTape : false WM/MediaIsDelay : false WM/MediaIsSubtitled: false WM/MediaIsMovie : false WM/MediaIsPremiere: false WM/MediaIsFinale: false WM/MediaIsSAP : false WM/MediaIsSport : false WM/ParentalRating: TV-14 WM/Provider : MediaCenterDefault WM/VideoClosedCaptioning: true WM/WMRVEncodeTime: 2011-10-19 03:00:02 WM/WMRVSeriesUID: !MCSeries!01158361 WM/WMRVServiceID: !MCService!28455624 WM/WMRVProgramID: !MCProgram!264522248 WM/WMRVRequestID: 0 WM/WMRVScheduleItemID: 0 WM/WMRVQuality : 3 WM/WMRVOriginalSoftPrePadding: 420 WM/WMRVOriginalSoftPostPadding: 180 WM/WMRVHardPrePadding: -300 WM/WMRVHardPostPadding: 0 WM/WMRVATSCContent: true WM/WMRVDTVContent: true WM/WMRVHDContent: true Duration : 36582312388 WM/WMRVEndTime : 2011-10-19 04:01:00 WM/WMRVBitrate : 12.738619 WM/WMRVKeepUntil: 0 WM/WMRVActualSoftPrePadding: 297 WM/WMRVActualSoftPostPadding: 0 WM/WMRVContentProtected: false WM/WMRVContentProtectedPercent: 0 WM/WMRVExpirationSpan: 9223372036854775807 WM/WMRVInBandRatingSystem: 255 WM/WMRVInBandRatingLevel: 255 WM/WMRVInBandRatingAttributes: 0 WM/WMRVWatched : false WM/MediaThumbWidth: 352 WM/MediaThumbHeight: 198 WM/MediaThumbStride: 1056 WM/MediaThumbRet: 0 WM/MediaThumbRatingSystem: 255 WM/MediaThumbRatingLevel: 255 WM/MediaThumbRatingAttributes: 0 WM/MediaThumbAspectRatioX: 16 WM/MediaThumbAspectRatioY: 9 WM/MediaThumbTimeStamp: 4634350287386204132 WM/MediaThumbType: 3 Duration: 01:00:57.28, start: 1.797444, bitrate: 12741 kb/s Stream #0:0[0xe](eng): Audio: ac3, 48000 Hz, 5.1(side), s16, 384 kb/s Stream #0:1[0xf](eng): Audio: ac3, 48000 Hz, stereo, s16, 192 kb/s Stream #0:2[0x10]: Video: mpeg2video (Main), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 38810 kb/s, 57.22 fps, 29.97 tbr , 10000k tbn, 59.94 tbc Stream #0:3[0x11]: Subtitle: dvb_teletext Stream #0:4[0x0]: Attachment: mjpeg Metadata: title : TV Thumbnail [srt @ 033150e0] Unsupported subtitles codec: dvb_teletext Output #0, srt, to 'sub.srt': Metadata: WM/MediaClassPrimaryID: db9830bd-3ab3-4fab-8a371a995f7ff74 WM/MediaClassSecondaryID: ba7f258a-62f7-47a9-b21f4651c42a000 Title : NCIS: Los Angeles WM/SubTitle : Sacrifice WM/SubTitleDescription: The LAPD asks NCIS for help when a case exposes a link between a Mexican drug cartel and a t errorist. genre : Drama;General;Series;Action/Adventure WM/OriginalReleaseTime: 0 WM/MediaCredits : Chris O'Donnell/LL Cool J/Linda Hunt/Daniela Ruah/Eric Christian Olsen/Barrett Foa/Renée Felice S mith;John P. Kousakis;;America Olivo/Brant Cotton/Doug Rao/Danny Nucci/Gino Montesinos/Farshad Farahat/Carlos Arellano/C heryl Texiera/Brian Michael Jones/Jen service_provider: KPHODT service_name : KPHODT (KPHO-DT) WM/MediaNetworkAffiliation: CBS Affiliate WM/MediaOriginalChannel: 5 WM/MediaOriginalChannelSubNumber: 1 WM/MediaOriginalBroadcastDateTime: 2011-10-18T07:00:00Z WM/MediaOriginalRunTime: 38375940244 WM/MediaIsStereo: true WM/MediaIsRepeat: false WM/MediaIsLive : false WM/MediaIsTape : false WM/MediaIsDelay : false WM/MediaIsSubtitled: false WM/MediaIsMovie : false WM/MediaIsPremiere: false WM/MediaIsFinale: false WM/MediaIsSAP : false WM/MediaIsSport : false WM/ParentalRating: TV-14 WM/Provider : MediaCenterDefault WM/VideoClosedCaptioning: true WM/WMRVEncodeTime: 2011-10-19 03:00:02 WM/WMRVSeriesUID: !MCSeries!01158361 WM/WMRVServiceID: !MCService!28455624 WM/WMRVProgramID: !MCProgram!264522248 WM/WMRVRequestID: 0 WM/WMRVScheduleItemID: 0 WM/WMRVQuality : 3 WM/WMRVOriginalSoftPrePadding: 420 WM/WMRVOriginalSoftPostPadding: 180 WM/WMRVHardPrePadding: -300 WM/WMRVHardPostPadding: 0 WM/WMRVATSCContent: true WM/WMRVDTVContent: true WM/WMRVHDContent: true Duration : 36582312388 WM/WMRVEndTime : 2011-10-19 04:01:00 WM/WMRVBitrate : 12.738619 WM/WMRVKeepUntil: 0 WM/WMRVActualSoftPrePadding: 297 WM/WMRVActualSoftPostPadding: 0 WM/WMRVContentProtected: false WM/WMRVContentProtectedPercent: 0 WM/WMRVExpirationSpan: 9223372036854775807 WM/WMRVInBandRatingSystem: 255 WM/WMRVInBandRatingLevel: 255 WM/WMRVInBandRatingAttributes: 0 WM/WMRVWatched : false WM/MediaThumbWidth: 352 WM/MediaThumbHeight: 198 WM/MediaThumbStride: 1056 WM/MediaThumbRet: 0 WM/MediaThumbRatingSystem: 255 WM/MediaThumbRatingLevel: 255 WM/MediaThumbRatingAttributes: 0 WM/MediaThumbAspectRatioX: 16 WM/MediaThumbAspectRatioY: 9 WM/MediaThumbTimeStamp: 4634350287386204132 WM/MediaThumbType: 3 encoder : Lavf54.11.100 Stream #0:0: Subtitle: dvb_teletext Stream mapping: Stream #0:3 -> #0:0 (copy) Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument }}} -- Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/1482#comment:2> FFmpeg <http://ffmpeg.org> FFmpeg issue tracker
#1482: FFMPEG fails to create a SRT file when extracting Subtitles -------------------------------------+------------------------------------- Reporter: ramitbhalla | Owner: Type: defect | Status: new Priority: normal | Component: Version: unspecified | undetermined Keywords: | Resolution: Blocking: | Blocked By: Analyzed by developer: 0 | Reproduced by developer: 0 -------------------------------------+------------------------------------- Comment (by Cigaes): Replying to [comment:2 ramitbhalla]:
How did you know it's a image and not text?
Your copy-pasted console output had: {{{ Stream #0:2[0x50](eng): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006) }}} {{{dvb_subtitle}}} is a bitmap codec.
Reason I'm asking, I tried a different file - a WTV file which has Closed Captions (I'm able to extract them using CCExtractor after converting it to a TS file). When I try to use FFMPEG wtih teh WTV file, here's the error I get: {{{ Stream #0:3[0x11]: Subtitle: dvb_teletext [srt @ 033150e0] Unsupported subtitles codec: dvb_teletext }}}
That is normal with the current state of affairs, but it may be possible to enhance it. Can you point me to a file with such a track? It does not need to be big, just a few subtitles exchanges would be enough. -- Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/1482#comment:3> FFmpeg <http://ffmpeg.org> FFmpeg issue tracker
#1482: FFMPEG fails to create a SRT file when extracting Subtitles -------------------------------------+------------------------------------- Reporter: ramitbhalla | Owner: Type: defect | Status: new Priority: normal | Component: Version: unspecified | undetermined Keywords: | Resolution: Blocking: | Blocked By: Analyzed by developer: 0 | Reproduced by developer: 0 -------------------------------------+------------------------------------- Comment (by ramitbhalla): The file is uploaded at: http://www.mediafire.com/?8p2xgb7navf7m1b -- Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/1482#comment:4> FFmpeg <http://ffmpeg.org> FFmpeg issue tracker
#1482: FFMPEG fails to create a SRT file when extracting Subtitles -------------------------------------+------------------------------------- Reporter: ramitbhalla | Owner: Type: defect | Status: new Priority: normal | Component: Version: unspecified | undetermined Keywords: | Resolution: Blocking: | Blocked By: Analyzed by developer: 0 | Reproduced by developer: 0 -------------------------------------+------------------------------------- Comment (by cehoyos): Replying to [comment:4 ramitbhalla]:
The file is uploaded at: http://www.mediafire.com/?8p2xgb7navf7m1b Which application shows subtitles for this sample (and when)?
-- Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/1482#comment:5> FFmpeg <http://ffmpeg.org> FFmpeg issue tracker
#1482: FFMPEG fails to create a SRT file when extracting Subtitles -------------------------------------+------------------------------------- Reporter: ramitbhalla | Owner: Type: defect | Status: new Priority: normal | Component: Version: unspecified | undetermined Keywords: | Resolution: Blocking: | Blocked By: Analyzed by developer: 0 | Reproduced by developer: 0 -------------------------------------+------------------------------------- Comment (by ramitbhalla): Okay the app name is CCExtractor (it' a free CLI/GUI app) - just run with GUI and default settings. Before you can get CCExtractor to work on it you need to convert it to MPEGTS I use FFMPEG -i ncis.ts -vcodec copy -acodec copy -scodec copy ncis.ts Then CCExtractor will take out the subtitles and store them as a SRT file -- Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/1482#comment:6> FFmpeg <http://ffmpeg.org> FFmpeg issue tracker
#1482: FFMPEG fails to create a SRT file when extracting Subtitles -------------------------------------+------------------------------------- Reporter: ramitbhalla | Owner: Type: defect | Status: new Priority: normal | Component: Version: unspecified | undetermined Keywords: | Resolution: Blocking: | Blocked By: Analyzed by developer: 0 | Reproduced by developer: 0 -------------------------------------+------------------------------------- Comment (by ramitbhalla): One more problem I've seen (in the same wtv file above). when using the ffmpeg command to copy the subtitle stream it converts the subtitles from dvb_teletext to dvb_subtitle (from text to image if I understand correct). Is that normal? Shouldn' it preserve the teletext stream? e.g. ffmpeg -i ncis.wtv {{{ Duration: 00:31:59.52, start: 1.797444, bitrate: 874 kb/s Stream #0:0[0xe](eng): Audio: ac3, 48000 Hz, 5.1(side), s16, 384 kb/s Stream #0:1[0xf](eng): Audio: ac3, 48000 Hz, stereo, s16, 192 kb/s Stream #0:2[0x10]: Video: mpeg2video (Main), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 38810 kb/s, 57.22 fps, 29.97 tbr , 10000k tbn, 59.94 tbc Stream #0:3[0x11]: Subtitle: dvb_teletext Stream #0:4[0x0]: Attachment: mjpeg }}} After stream copying to TS, ffmpeg -i ncis.ts {{{ Stream #0:0[0x100](eng): Audio: ac3 ([129][0][0][0] / 0x0081), 48000 Hz, 5.1(side), s16, 384 kb/s Stream #0:1[0x101](eng): Audio: ac3 ([129][0][0][0] / 0x0081), 48000 Hz, stereo, s16, 192 kb/s Stream #0:2[0x102]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 38810 k b/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc Stream #0:3[0x103](eng): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006) }}} -- Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/1482#comment:7> FFmpeg <http://ffmpeg.org> FFmpeg issue tracker
#1482: FFMPEG fails to create a SRT file when extracting Subtitles -------------------------------------+------------------------------------- Reporter: ramitbhalla | Owner: Type: defect | Status: new Priority: normal | Component: Version: unspecified | undetermined Keywords: | Resolution: Blocking: | Blocked By: Analyzed by developer: 0 | Reproduced by developer: 0 -------------------------------------+------------------------------------- Comment (by ramitbhalla): Hi any thoughts on this? also can you please let me know what's the correct command for ffmpeg to extract the bitmap subtitles from a TS stream (svb_subtitle) into a subtitle image format (.sup)? -- Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/1482#comment:8> FFmpeg <http://ffmpeg.org> FFmpeg issue tracker
#1482: FFMPEG fails to create a SRT file when extracting Subtitles -------------------------------------+------------------------------------- Reporter: ramitbhalla | Owner: Type: defect | Status: new Priority: normal | Component: Version: unspecified | undetermined Keywords: | Resolution: Blocking: | Blocked By: Analyzed by developer: 0 | Reproduced by developer: 0 -------------------------------------+------------------------------------- Comment (by Cigaes): I have several problems with this issue: First of all, in your WTV file, none of the subtitles packets have the keyframe flag. As a consequence, {{{-scodec copy}}} does not copy anything. And with {{{-copyinkf:s}}}, I get the infamous {{{non monotonically increasing dts}}}. Second, if I remux only the video, not the subtitles, then {{{ccextractor}}} sees the subtitles in the resulting TS file. That means that the CC subtitles are not in fact in the subtitle stream but in the video stream. I do not know whether that is normal or whether the WTV demuxer is at fault. -- Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/1482#comment:9> FFmpeg <http://ffmpeg.org> FFmpeg issue tracker
#1482: FFMPEG fails to create a SRT file when extracting Subtitles -------------------------------------+------------------------------------- Reporter: ramitbhalla | Owner: Type: defect | Status: new Priority: normal | Component: Version: unspecified | undetermined Keywords: | Resolution: Blocking: | Blocked By: Analyzed by developer: 0 | Reproduced by developer: 0 -------------------------------------+------------------------------------- Comment (by ramitbhalla): 1. Any solution how to handle this? I'm getting the same issues with another TS file recording. If you'd like I can upload that that too 2. That I believe is normal, the CC is embedded as part of the video, which is why when FFMPEG "recodes" the video (not copy) it loses the CC stream. CCExtractor extracts the CC directly from the video stream. Can FFMPEG also do it? I'm more interested in 1, since that's where most of the non US/international subtitles exist. This is the standard MCE recording format that I've uploaded -- Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/1482#comment:10> FFmpeg <http://ffmpeg.org> FFmpeg issue tracker
#1482: FFMPEG fails to create a SRT file when extracting Subtitles -------------------------------------+------------------------------------- Reporter: ramitbhalla | Owner: Type: defect | Status: new Priority: normal | Component: Version: unspecified | undetermined Keywords: | Resolution: Blocking: | Blocked By: Analyzed by developer: 0 | Reproduced by developer: 0 -------------------------------------+------------------------------------- Comment (by pross): NCIS.wtv is an interesting file: * stream 0 & 1 contain AC3 audio (one for visual impaired persons) * stream 2, which WTV reports as video, also contains Subtitles MP2 audio SDT metadata WTV clearly marks the stream as video. Just a a guess, this probably the fault of the broadcaster. * stream 3 has DVB_TELETEXT encoded subtitles. FFmpeg doesnt have the capability to decode teletext at present. -- Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/1482#comment:11> FFmpeg <http://ffmpeg.org> FFmpeg issue tracker
#1482: FFMPEG fails to create a SRT file when extracting Subtitles -------------------------------------+------------------------------------- Reporter: ramitbhalla | Owner: Type: defect | Status: new Priority: normal | Component: Version: git-master | undetermined Keywords: cc | Resolution: Blocking: | Blocked By: Analyzed by developer: 0 | Reproduced by developer: 0 -------------------------------------+------------------------------------- Changes (by cehoyos): * keywords: => cc * version: unspecified => git-master Comment: Replying to [comment:11 pross]:
* stream 3 has DVB_TELETEXT encoded subtitles. FFmpeg doesnt have the capability to decode teletext at present. It is supposed to work with mplayer -demuxer lavf -sid 0 (pressing "X") but MPlayer claims there is no actual teletext data transmitted.
-- Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/1482#comment:12> FFmpeg <http://ffmpeg.org> FFmpeg issue tracker
#1482: FFMPEG fails to create a SRT file when extracting Subtitles -------------------------------------+------------------------------------- Reporter: ramitbhalla | Owner: Type: defect | Status: new Priority: normal | Component: Version: git-master | undetermined Keywords: cc | Resolution: Blocking: | Blocked By: Analyzed by developer: 0 | Reproduced by developer: 0 -------------------------------------+------------------------------------- Comment (by pross): Correction: Stream 3 of the NCIS.wtv actually contains EIA-608/Line 21 subtitles. FFmpeg doesnt have AV_CODEC_ID for this subtitle codec. It is reporting it as AV_CODEC_ID_DVB_TELETEXT, hence why Mplayer fails to decode it. -- Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/1482#comment:13> FFmpeg <http://ffmpeg.org> FFmpeg issue tracker
#1482: FFMPEG fails to create a SRT file when extracting Subtitles -------------------------------------+------------------------------------- Reporter: ramitbhalla | Owner: Type: defect | Status: new Priority: normal | Component: Version: git-master | undetermined Keywords: cc | Resolution: Blocking: | Blocked By: Analyzed by developer: 0 | Reproduced by developer: 0 -------------------------------------+------------------------------------- Comment (by reimar): Why are you claiming that? FFmpeg does have CODEC_ID_EIA_608 which is supported both in MOV and MXF. -- Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/1482#comment:14> FFmpeg <http://ffmpeg.org> FFmpeg issue tracker
#1482: FFMPEG fails to create a SRT file when extracting Subtitles -------------------------------------+------------------------------------- Reporter: ramitbhalla | Owner: Type: defect | Status: new Priority: normal | Component: Version: git-master | undetermined Keywords: cc | Resolution: Blocking: | Blocked By: Analyzed by developer: 0 | Reproduced by developer: 0 -------------------------------------+------------------------------------- Comment (by cehoyos): MPlayer shows still no subtitles if I change AV_CODEC_ID_DVB_TELETEXT to AV_CODEC_ID_EIA_608 in ffmpeg/libavformat/wtvdec.c. {{{ diff --git a/libavformat/wtvdec.c b/libavformat/wtvdec.c index 2999382..f879d21 100644 --- a/libavformat/wtvdec.c +++ b/libavformat/wtvdec.c @@ -695,7 +695,7 @@ static AVStream * parse_media_type(AVFormatContext *s, AVStream *st, int sid, if (ff_guidcmp(formattype, ff_format_none)) av_log(s, AV_LOG_WARNING, "unknown formattype:"FF_PRI_GUID"\n", FF_ARG_GUID(formattype)); avio_skip(pb, size); - st->codec->codec_id = AV_CODEC_ID_DVB_TELETEXT; + st->codec->codec_id = AV_CODEC_ID_EIA_608; return st; } else if (!ff_guidcmp(mediatype, mediatype_mpeg2_sections) && !ff_guidcmp(subtype, mediasubtype_mpeg2_sections)) { }}} -- Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/1482#comment:15> FFmpeg <http://ffmpeg.org> FFmpeg issue tracker
#1482: FFMPEG fails to create a SRT file when extracting Subtitles -------------------------------------+------------------------------------- Reporter: ramitbhalla | Owner: Type: defect | Status: new Priority: normal | Component: Version: git-master | undetermined Keywords: cc | Resolution: Blocking: | Blocked By: Analyzed by developer: 0 | Reproduced by developer: 0 -------------------------------------+------------------------------------- Comment (by reimar): Not surprising, since I can't find anything that looks like EIA-608 in the file. They might be using yet another format, but since the string "GA94" exists in the file I'd expect that it rather uses EIA-708. However I haven't check which stream that EIA-708 data is part of, it really should be embedded in the video stream which would then still leave open what that subtitle stream actually contains. -- Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/1482#comment:16> FFmpeg <http://ffmpeg.org> FFmpeg issue tracker
#1482: FFMPEG fails to create a SRT file when extracting Subtitles -------------------------------------+------------------------------------- Reporter: ramitbhalla | Owner: Type: defect | Status: new Priority: normal | Component: Version: git-master | undetermined Keywords: cc | Resolution: Blocking: | Blocked By: Analyzed by developer: 0 | Reproduced by developer: 0 -------------------------------------+------------------------------------- Comment (by cehoyos): The subtitles in the third stream are text-based as can be seen with: $ ffmpeg -i NCIS.wtv -vn -an -scodec copy -f rawvideo out $ hexdump -C out Shouldn't MPlayer show the "GA94" subtitles in the video stream? (mplayer NCIS.wtv -dumpvideo && grep GA94 stream.dump) -- Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/1482#comment:17> FFmpeg <http://ffmpeg.org> FFmpeg issue tracker
#1482: FFMPEG fails to create a SRT file when extracting Subtitles -------------------------------------+------------------------------------- Reporter: ramitbhalla | Owner: Type: defect | Status: new Priority: normal | Component: Version: git-master | undetermined Keywords: cc | Resolution: Blocking: | Blocked By: Analyzed by developer: 0 | Reproduced by developer: 0 -------------------------------------+------------------------------------- Comment (by reimar): EIA-608 does not give plain-text, in particular since the highest bit is a parity bit, plus every third "character" is a control byte. And while I have a patch for EIA-708 in MPlayer it is not committed since it cannot work. The data needs to be reordered in the same way that the frames are during decoding, and that is a mess to implement. -- Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/1482#comment:18> FFmpeg <http://ffmpeg.org> FFmpeg issue tracker
#1482: FFMPEG fails to create a SRT file when extracting Subtitles -------------------------------------+------------------------------------- Reporter: ramitbhalla | Owner: Type: defect | Status: new Priority: normal | Component: Version: git-master | undetermined Keywords: cc | Resolution: Blocking: | Blocked By: Analyzed by developer: 0 | Reproduced by developer: 0 -------------------------------------+------------------------------------- Comment (by reimar): A far larger sample size will be needed to reverse-engineer this format properly, but for reference below hack to MPlayer makes it mostly display correctly (using -sid 0 -subcc 1). However how the whole rollup, rollon, number of lines etc. pp. is encoded in the format is still quite unclear to me. {{{ Index: sub/sub_cc.c =================================================================== --- sub/sub_cc.c (revision 35108) +++ sub/sub_cc.c (working copy) @@ -376,11 +381,26 @@ void subcc_process_data(const uint8_t *inputdata, unsigned int len) { + int newline = 0; int mov_mode = len >= 10 && memcmp(inputdata, mov_cc_signature_1, sizeof(mov_cc_signature_1)) == 0; if(!subcc_enabled) return; if(!initialized) subcc_init(); + cc_mode = CC_ROLLUP; + if (len < 2) return; + newline = (inputdata[1] & 0xf0) == 0x30; + inputdata += 2; + len -= 2; + channel = 0; + while (len >= 2 && (inputdata[0] & 0x60)) { + cc_decode_EIA608(inputdata[0] | (inputdata[1] << 8)); + if (!(inputdata[1] & 0x60)) break; + inputdata += 2; + len -= 2; + } + if (newline) append_char('\n'); + return; if (mov_mode) { mov_subcc_decode(inputdata, len); return; }}} -- Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/1482#comment:19> FFmpeg <http://ffmpeg.org> FFmpeg issue tracker
#1482: FFMPEG fails to create a SRT file when extracting Subtitles -------------------------------------+------------------------------------- Reporter: ramitbhalla | Owner: Type: defect | Status: new Priority: normal | Component: Version: git-master | undetermined Keywords: cc | Resolution: Blocking: | Blocked By: Analyzed by developer: 0 | Reproduced by developer: 0 -------------------------------------+------------------------------------- Comment (by cehoyos): (Committing the patches will lead to more samples imo.) A longer sample that I believe produces not entirely correctly subtitles with mplayer -sid 1 -subcc 1 is at samples/ffmpeg- bugs/trac/ticket1065/Test1.wtv (It btw does not show subtitles with mplayer -sid 0 that ffplay shows.) -- Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/1482#comment:20> FFmpeg <http://ffmpeg.org> FFmpeg issue tracker
#1482: FFMPEG fails to create a SRT file when extracting Subtitles -------------------------------------+------------------------------------- Reporter: ramitbhalla | Owner: Type: defect | Status: new Priority: normal | Component: Version: git-master | undetermined Keywords: cc | Resolution: Blocking: | Blocked By: Analyzed by developer: 0 | Reproduced by developer: 0 -------------------------------------+------------------------------------- Comment (by pross): Hi reimar & cehoyos. You are right, I got 608 and 708 confused, nonetheless, both CEA-708 and EIA-608 subtitles are present in the file. * NCIS.wtv, Stream 3. Subtitles are stored using EIA-708. By no coindicence, the stream type guid is MEDIASUBTYPE_DTVCCDATA. Most packets in the stream correspond to a CEA-708 DTVCCDATA packet (described in the CEA-708 standard). There are also many 2-byte packets, which seem out of place; perhaps they are frame counters or checksums added by Microsoft. * NCIS.wtv, Stream 1. If you copy this stream into TS format, the CCextractor program will extract subtitles from it. The subtitles within Stream 1 are in EIA-608 format. I have uploaded two more .wtv samples to /incoming/wtv_dtvccdata. -- Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/1482#comment:21> FFmpeg <http://ffmpeg.org> FFmpeg issue tracker
#1482: FFMPEG fails to create a SRT file when extracting Subtitles -------------------------------------+------------------------------------- Reporter: ramitbhalla | Owner: Type: defect | Status: new Priority: normal | Component: Version: git-master | undetermined Keywords: cc | Resolution: Blocking: | Blocked By: Analyzed by developer: 0 | Reproduced by developer: 0 -------------------------------------+------------------------------------- Comment (by pross): @cehoyos samples/ffmpeg-bugs/trac/ticket1065/Test1.wtv contains mediatype_mstvcaption packets Currently FFmpeg interprets both 'mediatype_mstvcaption' and 'mediasubtype_dtvccdata' as AVCODEC_ID_DVB_TELETEXT (see extract from wtvdec.c below). That now looks to be wrong. mediasubtype_dtvccdata is a variant of CEA-708. mediatype_mstvcaption is something different again. Another proprietary format, perhaps. ---wtvdec.c } else if (!ff_guidcmp(mediatype, mediatype_mstvcaption) && !ff_guidcmp(subtype, mediasubtype_dtvccdata)) { st = new_stream(s, st, sid, AVMEDIA_TYPE_SUBTITLE); if (!st) return NULL; if (ff_guidcmp(formattype, ff_format_none)) av_log(s, AV_LOG_WARNING, "unknown formattype:"FF_PRI_GUID"\n", FF_ARG_GUID(formattype)); avio_skip(pb, size); st->codec->codec_id = AV_CODEC_ID_DVB_TELETEXT; return st; ---wtvdec.c -- Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/1482#comment:22> FFmpeg <http://ffmpeg.org> FFmpeg issue tracker
#1482: FFMPEG fails to create a SRT file when extracting Subtitles -------------------------------------+------------------------------------- Reporter: ramitbhalla | Owner: Type: defect | Status: new Priority: normal | Component: Version: git-master | undetermined Keywords: cc | Resolution: Blocking: | Blocked By: Analyzed by developer: 0 | Reproduced by developer: 0 -------------------------------------+------------------------------------- Comment (by reimar): Concerning Test1.wtv: a fix for the DVB subs is sent. The other subtitle stream is indeed teletext, in 3/4ths processed form, as this hack shows: {{{ Index: mpcommon.c =================================================================== --- mpcommon.c (revision 35108) +++ mpcommon.c (working copy) @@ -276,6 +276,15 @@ if (type == 'd') { if (d_dvdsub->demuxer->teletext) { uint8_t *p = packet; + teletext_control(d_dvdsub->demuxer->teletext, + TV_VBI_CONTROL_RESET, NULL); +while (len >= 42) { + teletext_control(d_dvdsub->demuxer->teletext, + TV_VBI_CONTROL_DECODE_DVB, p); + p += 42; + len -= 42; +} +return; p++; len--; while (len >= 46) {Index: libmpcodecs/dec_teletext.c =================================================================== --- libmpcodecs/dec_teletext.c (revision 35108) +++ libmpcodecs/dec_teletext.c (working copy) @@ -1546,11 +1546,12 @@ uint8_t data[42]; mp_msg(MSGT_TELETEXT,MSGL_DBG3, "vbi: vbi_decode_dvb\n"); +memcpy(data, buf, 42); /* Reverse bit order, skipping the first two bytes (field parity, line offset and framing code). */ - for (i = 0; i < sizeof(data); i++) - data[i] = av_reverse[buf[2 + i]]; +// for (i = 0; i < sizeof(data); i++) +// data[i] = av_reverse[buf[2 + i]]; vbi_decode_line(priv, data); if (priv->cache_reset) @@ -1683,6 +1684,8 @@ priv_vbi_t* priv=(priv_vbi_t*)p; tt_page* pgc; +if (cmd == TV_VBI_CONTROL_RESET) + clear_cache(priv); if (!priv && cmd!=TV_VBI_CONTROL_START) return VBI_CONTROL_FALSE; if (!arg && cmd!=TV_VBI_CONTROL_STOP && cmd!=TV_VBI_CONTROL_MARK_UNCHANGED) }}} However all those formats are just slightly off from the standard format that I just don't know what to do about it. Should the demuxer convert them? Should it be a different codec? Should there be some auto-detection? Some extradata to mark them? -- Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/1482#comment:23> FFmpeg <http://ffmpeg.org> FFmpeg issue tracker
#1482: FFMPEG fails to create a SRT file when extracting Subtitles -------------------------------------+------------------------------------- Reporter: ramitbhalla | Owner: Type: defect | Status: new Priority: normal | Component: Version: git-master | undetermined Keywords: cc | Resolution: Blocking: | Blocked By: Analyzed by developer: 0 | Reproduced by developer: 0 -------------------------------------+------------------------------------- Comment (by reimar):
The subtitles within Stream 1 are in EIA-608 format. mediasubtype_dtvccdata is a variant of CEA-708.
Could you please be more specific and/or quote some specification? For all variants I know, the CC data consists of 3 byte packages with one (kind of) control and two data. Those subtitle streams however have long sequences of only data bytes (text and probably EIA-708 control codes). And those first two mystery bytes are at least a concern. -- Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/1482#comment:24> FFmpeg <http://ffmpeg.org> FFmpeg issue tracker
#1482: FFMPEG fails to create a SRT file when extracting Subtitles -------------------------------------+------------------------------------- Reporter: ramitbhalla | Owner: Type: defect | Status: new Priority: normal | Component: Version: git-master | undetermined Keywords: cc | Resolution: Blocking: | Blocked By: Analyzed by developer: 0 | Reproduced by developer: 0 -------------------------------------+------------------------------------- Comment (by reimar): So it looks like: 1) the 2-byte packets are the EIA-608 compatibility packets 2) the longer packets always start with a packet that has been a DTVCC_PACKET_START and then continues with all that have been DTVCC_PACKET_DATA after that In both cases, the data is unchanged compared to what is in the MPEG file except that any and all header and filler and control data (like packet_start vs. packet_data markers) has been removed -- Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/1482#comment:25> FFmpeg <http://ffmpeg.org> FFmpeg issue tracker
#1482: FFMPEG fails to create a SRT file when extracting Subtitles -------------------------------------+------------------------------------- Reporter: ramitbhalla | Owner: Type: defect | Status: new Priority: normal | Component: Version: git-master | undetermined Keywords: cc | Resolution: Blocking: | Blocked By: Analyzed by developer: 0 | Reproduced by developer: 0 -------------------------------------+------------------------------------- Comment (by pross): @reimar. This standard: [http://apps.fcc.gov/ecfs/comment/view;jsessionid=Hy6KP9KJLPgvLv1LqJ5QvkJDG8j...]. As to what do to, I dont know either. The demuxer is probably best placed to deal with it, since it just involves inserting additional control codes. -- Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/1482#comment:26> FFmpeg <http://ffmpeg.org> FFmpeg issue tracker
#1482: FFMPEG fails to create a SRT file when extracting Subtitles -------------------------------------+------------------------------------- Reporter: ramitbhalla | Owner: Type: defect | Status: new Priority: normal | Component: Version: git-master | undetermined Keywords: cc | Resolution: Blocking: | Blocked By: Analyzed by developer: 0 | Reproduced by developer: 0 -------------------------------------+------------------------------------- Comment (by ramitbhalla): Sorry to crash the party, but was there any resolution to this? -- Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/1482#comment:27> FFmpeg <http://ffmpeg.org> FFmpeg issue tracker
#1482: Support eia_608 in wtv -------------------------------------+------------------------------------ Reporter: ramitbhalla | Owner: Type: enhancement | Status: open Priority: wish | Component: avformat Version: git-master | Resolution: Keywords: cc wtv | Blocked By: Blocking: | Reproduced by developer: 0 Analyzed by developer: 0 | -------------------------------------+------------------------------------ Changes (by cehoyos): * status: new => open * component: undetermined => avformat * priority: normal => wish * keywords: cc => cc wtv * type: defect => enhancement -- Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/1482#comment:28> FFmpeg <http://ffmpeg.org> FFmpeg issue tracker
participants (1)
-
FFmpeg