[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)
Metadata:
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?
Suggestions:
- 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