Please add helper functions to easily combine streams of a static images with audio and video streams.
Please add an helper function to add streams of a static image or a cover art image to audio and video files. Mixing static images streams, cover arts, audio streams and metadata is very difficult with ffmpeg.
For example this is the command I found that works for embedding a jpeg cover image in mp4, m4a, m4b and mov audio files. Change something, and it does not display the cover on windows. Change some other thing, and it does not show the thumb on iOS. Miss a little thing, and it does not show any image on OSX during playback. Miss another, and it only works for mov but not for m4a. It took me 3 days to get it right:
$> ffmpeg -y -i "{audiofilename}" -i "{imagefilename}" -map 0:a -map 1:v -c:a copy -c:v:1 mjpeg -id3v2_version 3 -write_id3v1 1 -metadata:s:v "title=Album cover" -metadata:s:v "comment=Cover (front)" -disposition:v:1 attached_pic "{audiofilename_noextension}_withcover.{extension}"
And this is the version of the same command for embedding covers in mp3 files:
$> ffmpeg -y -i "{imagefilename}" -i "{audiofilename}" -c:a copy -c:v copy -map 0:v -map 1:a -id3v2_version 3 -write_id3v1 1 -map_metadata 0:g -map_metadata 1:g -metadata:s:v 'title="Album cover"' -metadata:s:v 'comment="Cover (front)"' -disposition:v:0 attached_pic "{audiofilename_noextension}_cover.{extension}"
they look similar, but they are not! See all the small differences? Those are all essential, including quotation marks, metadata, order of the arguments and apostrophes nesting!
And even after going crazy to find those, there are still issues!
Luckily you can use ffmpeg to quickly convert other image formats to jpg:
$> ffmpeg -i "{thumbnail_webp}" -qmin 1 -q:v 1 -bsf:v mjpeg2jpeg "{thumbnail_jpg}"
Please add some helper functions to make those functionalities easy to do with your library wrapper.
Thank you for this amazing lib!