Add tEXt blocks to PNG frames exported from ffmpeg

I currently use ffmpeg and make a video as input and a complex filter:

  • Split into multiple streams
  • Apply a set of filters for each stream (each filter performs a different transformation).

Then I assign each of the streams to output a sequence of PNG images.

Currently I am writing everything Pipe: 1 (stdout) so that the program that starts ffmpeg can process the output.

Each of the streams must be processed separately in the calling program.

So I want to tag the PNGs to identify how they should be processed. The text Chunk type in PNGs would be perfect for that.

The question is, how can I have ffmpeg encode this piece (or another piece of metadata) into the PNG?

Right now I'm trying the following:

ffmpeg 
-I  
-filter_complex 
Split = 2[in1][in2];[in1][out1];[in2][out2]    
-Map [out1] -metadata title = -codec png -f image2pipe pipe: 1 
-Map [out2] -metadata title = -codec png -f image2pipe pipe: 1

However, there are no extra chunks in the PNGs being streamed to the pipe.

I tried that too metadata filter like this:

ffmpeg 
-I  
-filter_complex 
Split = 2[in1][in2];[in1], metadata = add: key = mykey: value = mytag1[out1];[in2], metadata = add: key = mykey: value = mytag2[out2] 
-Map [out1] -metadata title = -codec png -f image2pipe pipe: 1 
-Map [out2] -metadata title = -codec png -f image2pipe pipe: 1

However, this does not generate additional metadata in the PNG stream.

Is this possible or do I have to find another way to somehow separate and process the streams?