[FFmpeg-devel] Experiences in using ffmpeg to transcode broadcast video
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
Size: 181 bytes
Desc: Digital signature
More information about the ffmpeg-devel