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

Mika Raento mikie at iki.fi
Wed Oct 29 20:03:06 CET 2014


Created a feature request to automatically scale subtitles for HD video

https://trac.ffmpeg.org/ticket/4066


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

> Created a feature request to support columnboxing input that changes
> aspect-ratio mid-stream.
>
> https://trac.ffmpeg.org/ticket/4065
>
> On 29 October 2014 13:49, Mika Raento <mikie at iki.fi> wrote:
>
>> Tickets for sub2video and async not working with non-monotonic input,
>> using -copyts:
>>
>> https://trac.ffmpeg.org/ticket/4062
>> https://trac.ffmpeg.org/ticket/4064
>>
>> Hm. Lots of my issues seem to relate to using -copyts. I had trouble
>> keeping all video and all audio if there were periods where one or the
>> other were missing (esp. in the beginning). Maybe I could make this simpler
>> if I'd relax that requirement (I don't know how much happier my users are
>> if they get audio but no video, rather than nothing).
>>
>>     Mika
>>
>> On 29 October 2014 10:38, Mika Raento <mikie at iki.fi> wrote:
>>
>>> 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