[FFmpeg-user] Modify FFMP Vendor FourCC for ProRes Videostream

Moritz Barsnick barsnick at gmx.net
Wed May 19 13:45:58 EEST 2021


Hallo Marcel,

On Wed, May 19, 2021 at 11:48:58 +0200, Marcel Hinsch wrote:
> Looking into FFMPEG's source when trying to figure out how to change a
> ProRes Video Stream's vendor tag (which is required for certain automated
> spec compliency tests), I have found that the vendor code is hard-coded to
> "FFMP" as visible on this line of code:

Which spec compliancy demands that the file be written by Apple, Inc.?

> https://github.com/FFmpeg/FFmpeg/blob/c75dfa043585db7f5e20f5cab2ca8be1771ca7b6/libavformat/movenc.c#L2128
> . Being hardcoded, it doesn't seem like it can be changed unless the
> source is forked. Is there a reason this is set to "FFMP"? Would there be
> an issue changing it to "appl"? Why was a different value from "appl"
> chosen in the first place?

I guess it was chosen as such, because ffmpeg isn't Apple, and even
Apple specifies:

https://developer.apple.com/library/archive/documentation/QuickTime/QTFF/QTFFChap3/qtff3.html

  Vendor
    A 32-bit integer that specifies the developer of the compressor
    that generated the compressed data. Often this field contains
    'appl' to indicate Apple, Inc.

"Often" tells me a compliance tool shouldn't demand this value.

On the other hand, such tags can often be changed within ffmpeg. Just
not this one.

Cheers,
Moritz


More information about the ffmpeg-user mailing list