[FFmpeg-user] Per frame metadata example?

Francesco Pretto ceztko at gmail.com
Sun Jul 14 00:17:02 EEST 2019


On Sat, 13 Jul 2019 at 22:33, Paul B Mahol <onemda at gmail.com> wrote:
> NUT does not support that.
> What convinced you it does support it?
>

The NUT specification[1] talks specifically about per-frame metadata support:

----------------------------------------------
sm_data / side_data / meta_data
    This data structure is used both in frames for per frame side and metadata
    as well as info tags for metadata covering the whole file, a stream
    chapter or other.
[...]
    Types of per frame side data:
[...]
    "UserData<identifer here>"
        User specific side data, the "<identifer here>" should be replaced
        by a globally unique identifer of the project that
        uses/creates/understands the side data. For example "UserDataFFmpeg"
----------------------------------------------

The nut encoder[2] and decoder[3] code seems to fully handle this data already
at AVPacket level, so either this metadata was (improperly?) named per-frame
when it's actually per-packet, and some glue code is missing that mux and demux
the metadata between frames <-> packet, or there's a bug somewhere.

Also this feature request[4] asks for per-frame metadata in Matroska
similarly to what it was done in NUT. This was all the evidence I could find
but no full example.

Cheers,
Francesco

[1] http://ffmpeg.org/~michael/nut.txt
[2] https://github.com/FFmpeg/FFmpeg/blob/master/libavformat/nutenc.c
, write_sm_data()
[3] https://github.com/FFmpeg/FFmpeg/blob/master/libavformat/nutdec.c
, read_sm_data()
[4] https://github.com/cellar-wg/matroska-specification/issues/270


More information about the ffmpeg-user mailing list