[FFmpeg-devel] ts mux satus ?
Paul B Mahol
onemda at gmail.com
Tue Apr 16 19:55:56 CEST 2013
On 4/16/13, Kieran Kunhya <kierank at ob-encoder.com> wrote:
> On Tue, Apr 16, 2013 at 5:21 PM, Michael Niedermayer <michaelni at gmx.at>
>> On Tue, Apr 16, 2013 at 04:11:36PM +0100, Kieran Kunhya wrote:
>>> On Tue, Apr 16, 2013 at 3:36 PM, Daniel SERCY <daniel.sercy at st.com>
>>> > Hello,
>>> > Is there a status available about ffmpeg ts mux ? maturity, limitations
>>> > ? know bugs ?
>>> > Thanks & Regards,
>>> > Daniel
>>> It is only really useful for streaming where you don't need spec
>>> Fixing would require making a new API specifically for
>>> MPEG-TS so the mux can interleave ts packets; this something that is
>>> against the flow of codec/container abstraction that is going on in
>>> libavformat right now.
>> This sounds very odd and wrong. Please elaborate, iam not sure if i
>> misunderstand you or not.
>> Its the muxers job to take the data it gets from a encoder, a demuxer,
>> a file or the network and split and package it according to the
>> specification of the container. And i dont see why TS would be a
>> special case here
> The current API as far as I can tell, lets you mux audio/video/data
> packets, A,B,C, sequentially as ABC.
> In ts you would need to chop each packet into 188 byte packets (after
> headers, PES etc) to make (aaabbbccc) and then interleave those as:
Isn't that similar but reverse, how it is done in demuxer?
> over a given time period with the interleaving determined by the ts
> buffer model. There is no way of interleaving packets at a mux level
> like that temporally in libavformat. This is the main reason why the
> ts mux has never been spec compliant. (I await some form of glorious
> hack to fit in with the current API)
> There are other lesser issues with regards to PTS handling in MPEG
> codecs but that's probably fixable whereas the above is an inherent
> issue that makes ts the special case.
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
More information about the ffmpeg-devel