[Ffmpeg-cvslog] Re: r5468 - trunk/libavformat/mov.c

Baptiste Coudurier baptiste.coudurier
Tue Jun 13 10:36:29 CEST 2006


Hi

Michael Niedermayer wrote:
> [...]
>>> it would also be nice if we could remux (-*codec copy) these
>>> streams
>> I totally agree and will do that. Im thinking about adding -newdata
>> to ffmpeg commandline options, though I feel like stream mappings
>> between formats will be a big mess. Allowing only stream copy for
>> now, and between same/compatible formats, maybe it's time for
>> FORMAT_ID_MOV ?
>> 

You did not comment on that ? Is it stupid or ?

>>> [...]
>> While we are at it, I also have 2 problems concerning
>> demuxing/muxing mov/mp4:
>> 
>> - to properly seek into a non-interleaved mov/mp4 I need to know
>> the exact timestamp in AV_TIME_BASE unit and not stream time unit,
>> since I need to seek by time and not by chunk offset. I can still
>> rescale to get the correct timestamps but It is not really
>> accurate/correct.
> 
> i dont fully understand the problem, please elaborate

I can't refer to offsets when seeking into non-interleaved mov/mp4.

Atm the seek function search for the timestamp requested, find the
corresponding chunk then seek all other streams according to the chunk
offset found. It is false in the case of non-interleaved streams. I need
also to seek all other streams according to the timestamp. Problem is
that av_seek_frame pass timestamp in time base units of the stream on
which the seek is requested.

I would need the original timestamp to rescale it to other streams time
base unit. I can still revert the scaling and scale it again but like I
said it is not accurate/correct.

>> - to stream copy audio tracks I need to know codec->frame_size to
>> set 'stts' correctly. I can either assign it in the demuxer, from
>> the original 'stts' atom, but it sometimes contains more than one
>> value, or assume it according to codec used, AAC uses 1024, AMR
>> 160, PCM 1. What do you think ?
> 
> i think that the timebase (or samplerate or samplerate/frame_size if
> known) and AVPacket.dts should be used this reminds me that the mov
> muxer doesnt work with non constant fps videos ...
> 
> [...]
> 

I'll check around that.

-- 
Baptiste COUDURIER                              GnuPG Key Id: 0x5C1ABAAA
SMARTJOG S.A.                                    http://www.smartjog.com
Key fingerprint                 8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA
Phone: +33 1 49966312




More information about the ffmpeg-cvslog mailing list