[FFmpeg-user] ProRes Quicktimes with audio not playing back reliably

Bob Maple bobm-ffmpeg at burner.com
Fri Oct 26 18:57:54 CEST 2012


On 10/26/2012 4:36 AM, Tim Nicholson wrote:

> Currently ffmpeg doesn't write the 'fiel' atom except in the case of a
> stream copy. This is the subject of a current patch...

Ahhh..  I actually just found one of your postings from awhile back 
about this.

>> Forget that.  Apparently Adobe tags field ordering in a non-standard way
>> so my movies didn't actually have normal 'fiel' atoms. !@*?
>>
> Non standard in what way?

It marks it as part of a bunch of other metadata in an XML chunk, and 
also browsing through with a hex editor I do see some reference to 
'FIEL' that looks like it's probably in a 'udta' atom (user data.)


>> In any case however, I found one that does seem to be properly marked as
>> Interlaced/Upper Field First, but after recompressing with prores_kostya
>> it gets marked as Progressive.  Hrrm.
>
> Marked in what way?

I lied.  MediaInfo was specifically saying 'Progressive' but this might 
be some default behavior only with certain codecs as an Animation codec 
QT with no field indication doesn't say the same thing - now that I look 
through the files themselves they don't appear to have a 'fiel' atom or 
anything else.

> If you compress with interlacing requested (-flags +ildct) and then
> check the flags with ffprobe -show_frames you will find its interlaced.

I guess the question I have is if ProRes actually encodes interlace 
differently in the bitstream, in the sense of regardless of the tagging 
being wrong or missing, are the scanlines for each field compressed and 
stored separately or are they still laid out progressively?  Such that 
would the frame come up trashed in some fashion if it was encoded with 
anatoliy (which seems not to do anything special for field handling?) 
but was otherwise marked as supposing to be interlaced?

Sorry I'm not sure if I'm asking this in any sensible way.. :)

Bob


More information about the ffmpeg-user mailing list