github EgalitarianMonkey/hometube v2.12.3

5 hours ago

Fixed

Multi-audio videos could be downloaded with the wrong language track. A video whose original audio is French could come out with its English auto-dub — with the right format id in the logs.

YouTube's multi-audio format ids carry a positional suffix (251-0, 251-1). HomeTube analysed the video with a bare yt-dlp -J call, picked the id of the track it wanted, then ran the download with --format-sort res,fps,+size,br — and that sort renumbers the suffixes. The id chosen during the analysis then named a different track. The part file kept the expected name and the language tag still read eng (YouTube labels every webm audio track eng), so nothing in the logs looked wrong; only playback gave it away.

Audio tracks are now requested by their language, with the positional ids kept as a fallback:

399+ba[format_id^=251-][language=fr-FR]/399+251-1

Verified end-to-end on a reported video: even when the numbering flips between the two calls, the audio in the final file is byte-identical to the intended track.

Thanks to @Sthaagg for the report and the logs that located it, and to @jaystern for identifying --format-sort as the mechanism behind the renumbering.

Refs #140, #69

What's Changed

🐛 Fixes

🧹 Maintenance

Full Changelog: v2.12.2...v2.12.3

Don't miss a new hometube release

NewReleases is sending notifications on new releases.