Automated release: version and notes generated from pull requests merged since 2.22.3.
Fixed
export.pykeeps subtitle and data streams. It mapped nothing, so ffmpeg's default selection wrote one video and one audio stream: on 2.22.1, an .mp4 with amov_texttrack exported with--preset youtubeor--preset copycame outh264+aac, and the result said nothing. Found by an agent that muxes soft subtitles before a platform export and had to refuse the pair. Every preset butgifnow keeps the track: copied when the container holds it, or converted to the container's text track (mov_textin .mp4/.mov, SubRip in .mkv). A platform trim (-t) cuts it with the picture. A data stream the container refuses (a camera's timecode in .mp4) is retried away on its own, so it does not take the subtitles with it, and the retry is anon_av_streams_droppedfallback naming what itdropped. The result gainsnon_av_streams: {kept, dropped}(each source stream, itsoutput_codecor thereasonit is missing, read back from the written file) anddropped_non_av_streams, with anotesline when something was dropped. When the source has such a stream, the picture and the sound are mapped as the first non-cover video and the first audio stream (whatprobedescribes); a source without one gets the same command as before.- fix(export): keep subtitle and data streams, and report them (#380)
What's Changed
Full Changelog: v2.22.3...v2.22.4