[FFmpeg-user] missing metadata in HSL streams when converting to DASH and HLS simultaneously

Davy Durham ddurham at davyandbeth.com
Fri Mar 17 08:49:07 EET 2023

I am trying to use ffmpeg to convert input to DASH and HLS at the same 
time.  In general, this accomplished using:

    ffmpeg -i <input file>
         -map 0:a:0 -b:a:4 128k \
         -use_timeline 1 -use_template 1 \
         -adaptation_sets "id=0,streams=0" \
    *-hls_playlist 1* -f dash out.mpd

So far, so good.  But I would also like the metadata to be propagated 
from the input, or I'm willing to specify the necessary -metadata flags 

While the out.mpd file for DASH will contain a few of the input's 
metadata attributes, nothing goes into the init and segment files 

And since the m3u8 files for HLS don't carry any metadata information, 
the HLS stream is left without any metadata.

I've tried all sorts of combinations of

  * -metadata key=value
  * -c copy
  * -map_metadata 0
  * -movflags use_metadata_tags
  * -dash_segment_type mp4 -format_options movflags=use_metadata_tags
  * etc

... but nothing seems to meta within the stream.

Using exiftool, I can see a that the encoder="Lavf..." metadata is being 
embedded, but nothing from the input or args is ever included.

Should this be possible with standard ffmpeg command line args? Or I'd 
be willing to develop a patch if someone can point me in the right 

Note, when using the /-f hls/ option (where DASH is not involved), 
metadata is propagated, but I'd like for /-f dash/ option's HLS add-on 
functionality to work more like the standalone HLS behavior.


More information about the ffmpeg-user mailing list