[FFmpeg-devel] Experiences in using ffmpeg to transcode broadcast video

Mika Raento mikie at iki.fi
Wed Oct 29 09:17:35 CET 2014


Thanks for the feedback.

I'll try to capture at least some of these in tickets, and reply on this
thread as I go along.

Async not working with damaged audio input is
https://trac.ffmpeg.org/ticket/2693 (existing ticket)

Sub2video not working with negative timestamps is
https://trac.ffmpeg.org/ticket/4062 (new ticket)


On 27 October 2014 01:00, Michael Niedermayer <michaelni at gmx.at> wrote:

> On Wed, Sep 24, 2014 at 10:43:40AM +0300, Mika Raento wrote:
> > Dear all
> >
> > This mail is meant mainly as a note to other potential users, but
> > possibly as input to development - time allowing I might be able to pick
> > up some of the pieces myself. It's also a thank-you for all the hard
> > work in ffmpeg.
> >
> > I've successfully implemented a transcoding pipeline for producing
> > multi-bitrate fragmented mp4 files from broadcast DVB input. More
> > concretely, I'm taking in broadcast TS captures with either mpeg2 video
> > and mp2 audio (SD, varying aspect ratio) or h264 video and aac audio,
> > both potentially with dvbsub. From that I'm producing ISMV output with
> > multiple bitrate h264 video at fixed 16:9 aspect ratio and multiple
> > bitrate aac audio, with burned subtitles. The ISMV outputs are
> > post-processed with tools/ismindex and with the hls muxer.
> >
> > There are number of limitations in ffmpeg that I've had to work around:
> >
> > - I haven't gotten sub2video or async working without reasonably
> >   monotonous DTS. Broadcast TS streams can easily contain backward jumps
> >   in time (e.g., a cheapo source that plays mp4 files and starts each
> file
> >   at 0). The fix is to cut the TS into pieces at timestamp jump locations
> >   and using '-itsoffset' to rewrite the timestamps and then concatenate.
> >   I'm using the segment and concat muxers for that.
> > - Sub2video doesn't work with negative timestamps, so I use '-itsoffset'
> >   to get positive timestamps
> > - For HD streams, I need to scale up the sub2video results from SD to
> >   HD. Sub2video doesn't handle the HD subtitle geometries. I'm not
> >   enough of an expert to know whether that's the issue, or whether that's
> >   just the way it's supposed to work with SD subs (typical) with HD
> video.
> > - For columnboxing, I use the scale, pad and setdar video filters. These
> >   work fine, but their parameters are only evaluated at start, so I need
> >   to cut the video into pieces with a single aspect ratio first and
> >   concatenate later.
> > - Audio sync (using aresample) gets confused if the input contains
> >   errors, so I need to first re-encode audio (with '-copyts') and only
> >   after that synchronize.
> > - The TS PIDs are not kept over the segment muxer, so I given them on
> >   the command line with '-streamid'.
> a bit late reply but
> bug reports or feature requests for all these are welcome unless there
> are already tickets for them assuming these issues still exist
> thx
> [...]
> --
> Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
> Why not whip the teacher when the pupil misbehaves? -- Diogenes of Sinope
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

More information about the ffmpeg-devel mailing list