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

Mika Raento mikie at iki.fi
Wed Oct 29 09:38:45 CET 2014


segment muxer PIDs were fixed in
https://github.com/FFmpeg/FFmpeg/commit/502fc3b3d4b36015562d19d74f27d0a4ff835c4e
by me

On 29 October 2014 10:17, Mika Raento <mikie at iki.fi> wrote:

> Hi
>
> 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)
>
>     Mika
>
> 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