[FFmpeg-user] Copying a EIA-608 subtitle stream in an m4v

Dan Smith dansmithx at icloud.com
Thu Mar 26 21:03:50 EET 2020

I'm trying to process an m4v video with the following subtitle stream:

    Stream #0:3(eng): Subtitle: eia_608 (c608 / 0x38303663), 1920x1080, 0 kb/s (default)
      creation_time   : 2014-03-29T03:43:15.000000Z
      handler_name    : Apple Closed Caption Media Handler

When I play the video in QuickTime Player, the subtitles are available for selection and display properly.

If I copy the stream, I get an error:


$ -> ffmpeg -i video.m4v -map 0:3 -codec copy test.m4v
[ipod @ 0x7f8074810600] Could not find tag for codec eia_608 in stream #0, codec not currently supported in container
Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
Stream mapping:
  Stream #0:3 -> #0:0 (copy)
    Last message repeated 1 times


(I also tried with extension mp4, behavior is the same.)

If I transcode the stream, I get a number of errors, and the resulting subtitles are garbage:


$ -> ffmpeg -i video.m4v -map 0:3 -codec mov_text test.m4v
Stream mapping:
  Stream #0:3 -> #0:0 (eia_608 (cc_dec) -> mov_text (native))
Press [q] to stop, [?] for help
[Closed caption Decoder @ 0x7fb894079800] Data Ignored since exceeding screen width
    Last message repeated 1529 times
size=       2kB time=00:07:20.53 bitrate=   0.0kbits/s speed=1.2e+04x    
video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 2963.333252%


(To test the output, I used a slightly different invocation, copying the video/audio streams, and played the file in QuickTime Player. Subtitles are gibberish.)

How can I get ffmpeg to play nicely with these subtitles?

- Is there an option to override the "codec not currently supported" error? Can't ffmpeg just copy the bits and ignore the content?
- Is there another path/tool for transcoding the eia_608 subtitle stream correctly?
- All I really want at the moment is to strip a "cover art" image appearing as stream 0:4. Is there another way to accomplish that?

More information about the ffmpeg-user mailing list