Opened 3 years ago

Closed 3 years ago

#7027 closed defect (wontfix)

Encoder of (OGV) metadata non-customizable

Reported by: Norbert Owned by:
Priority: normal Component: avformat
Version: git-master Keywords: metadata ogg
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no


The encoder of (OGV) metadata appears to be non-customizable, because FFmpeg or whatever tools/libraries it replies on, ignores encoder= and unjustly treats -metadata encoded_by= as an _extra_ key.

I've tested this with both 2.8.11 and git-master:

./ffmpeg -i test.avi -c:v libtheora -c:a libvorbis -metadata artist='test1' -metadata date='2018' -metadata encoded_by='test2' -metadata encoder='test4' test.ogv

Gives me:

Then, when right clicking test.ogv in the VLC's playlist and selecting "Information..." it says:
Artist: test1
Date: 2018
Encoded by: Lavc58.11.101 libvorbis

Using avprobe on test.ogv gives:

Stream #0:0: Video: theora, yuv444p, 320x200 [SAR 1:1 DAR 8:5], 70.09 fps, 70.09 tbr, 70.09 tbn, 70.09 tbc

ENCODER : Lavc58.11.101 libtheora
ARTIST : test1
DATE : 2018
ENCODED_BY : test2

Stream #0:1: Audio: vorbis, 44100 Hz, stereo, fltp, 112 kb/s

ENCODER : Lavc58.11.101 libvorbis
ARTIST : test1
DATE : 2018
ENCODED_BY : test2


(Also, unrelated, but still related to FFmpeg, IMO, --version should not say that's an unrecognized option. It's time for FFmpeg to properly support --version.)

Change History (5)

comment:1 Changed 3 years ago by Norbert

I've also tested...

-metadata 'encoded by'='test2'

...and that's also treated as an _extra_ key.
Still just gives the "Lavc58.11.101 ..." bit for Encoded by.

comment:2 Changed 3 years ago by cehoyos

  • Component changed from ffmpeg to avformat
  • Keywords ogg added; encoded_by removed

Please test current FFmpeg git head and provide the command line you tested together with the complete, uncut console output to make this a valid ticket.

comment:3 Changed 3 years ago by jamrial

The "encoder" tag is hardcoded to the name of the module used to encode the stream alongside the libavcodec version used to do it. That's the intended behavior and what's defined in

I don't know why VLC reports the tag as "Encoded by", but that's beyond our control. You should ask VLC to change this instead.

comment:4 Changed 3 years ago by Norbert

Thanks for the feedback and link jamrial.

Maybe only an empty string

-metadata encoder=''

could be accepted as an exception, to allow removal but not misattribution.

Then again, I'm sure there are more important things to work on.
Feel free to close this ticket. :)

comment:5 Changed 3 years ago by cehoyos

  • Resolution set to wontfix
  • Status changed from new to closed

I believe it is intentional that you cannot change the encoder string.

Note: See TracTickets for help on using tickets.