This idea could be extended to other fields not presently considered to be metadata, that would be handy to treat as such. I use the key "id" because ffprobe outputs id= for streamid. Another option could be to collect these types of metadata that go into AVStream fields under a namespace like FFMPEG: or AVSTREAM: or something, then delete all of them using AV_DICT_IGNORE_SUFFIX near the end of of_open() since they're for internal ffmpeg use. The FATE change is just because av_dict() changes the order of things when elements are deleted. /Tomas