Opened 5 years ago

Closed 5 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 by Norbert, 5 years ago

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 by Carl Eugen Hoyos, 5 years ago

Component: ffmpegavformat
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 by James, 5 years ago

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 by Norbert, 5 years ago

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 by Carl Eugen Hoyos, 5 years ago

Resolution: wontfix
Status: newclosed

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

Note: See TracTickets for help on using tickets.