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

Michael Niedermayer michaelni at gmx.at
Mon Oct 27 00:00:25 CET 2014

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



Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Why not whip the teacher when the pupil misbehaves? -- Diogenes of Sinope
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20141027/c54e3483/attachment.asc>

More information about the ffmpeg-devel mailing list