[FFmpeg-devel] [RFC] Implementation of closed caption support

Gisle Sælensminde gisle at snirklasjon.no
Mon Aug 4 21:35:02 CEST 2014


Den 04. aug. 2014 21:11, skrev Reimar Döffinger:
> On Mon, Aug 04, 2014 at 08:04:39PM +0100, Kieran Kunhya wrote:
>>> And as far as I can tell if you want to remux
>>> but with separate subtitle stream that would even mean that you have to
>>> re-encode the video for no good reason.
>> You can just swap out the caption data. It's guaranteed to be CBR anyway.
> Uh, no.
> The point is to get the CC data out you need to decode.
> Now that you have the video decoded, if you want to mux it you have
> to encode it again.
> Though maybe it's possible to somehow use the same input stream twice as
> input in FFmpeg and copy it once (for muxing) and decode it once (to get
> the CC data).

My current work in progress uses a bitstream filter and implements a 
partial parser for h.264 and mpeg2 frames. This is not all that much 
code, since most of the datastructures can be ignored. It also havce the 
advantage that the closed caption stuff can be kept in a separate 
module, and not mixed into the decoders. The decoder approch would also 
not work for insertion of closed captions (for h.264 that would be x264, 
and I can't see that CC has a place there really). I'm uncertain enough 
that I would prefere to here the opinion here before submitting a patch. 
As far as I can see it now:

Bitstream filter:

Pro:

- Modular, the CC code can be kept separate.
- Less complex code

Cons:

Need for features that I can't see is present in the bitstream filters:
- As far as I can see -no support for timestamps (PTS), required for 
reordering and timestams in the output file
- No support for  arguments to bitstream filters (unlike audio and video 
filters)

Decoder:

Pro:

- Parser already present. Easy to insert extraction code on the right spots

Cons:

- Less modular, CC code mixed with decoding code.
- Does not easily extend to encoders/insertion.
- Parameters (for input files)?






> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel



More information about the ffmpeg-devel mailing list