One Movie, Multiple Sounds. #27134

Open
opened 2026-02-21 14:39:38 -05:00 by deekerman · 7 comments
Owner

Originally created by @Einauge1965 on GitHub (Jul 17, 2025).

Dear Ladies and Gentlemen,

I wanted to download a movie from YouTube, using the German language. Unfortunately, the movie
https://youtu.be/ptrCBlS6cw4?si=2qDNWzdpXeTtgM1E has got 4 different audio-tracks. How can I be sure, that the right track is downloaded? Especially with documentaries, it is a massive problem, because my wife has no YouTube prime and some documentaries have not less than 15 different audio-tracks.
Is there any helpful Solution? 20 years ago, I would have written a script by my own, but now I'm old and about to die soon.

Kind regards
Martin v. Ketteler

Checklist

  • I'm asking a question
  • I've looked through the README and FAQ for similar questions
  • I've searched the bugtracker for similar questions including closed ones

Question

WRITE QUESTION HERE
Dear Ladies and Gentlemen,

I wanted to download a movie from YouTube, using the German language. Unfortunately, the movie
https://youtu.be/ptrCBlS6cw4?si=2qDNWzdpXeTtgM1E has got 4 different audio-tracks. How can I be sure, that the right track is downloaded? Especially with documentaries, it is a massive problem, because my wife has no YouTube prime and some documentaries have not less than 15 different audio-tracks.
Is there any helpful Solution? 20 years ago, I would have written a script by my own, but now I'm old and about to die soon.

Kind regards
Martin v. Ketteler

Originally created by @Einauge1965 on GitHub (Jul 17, 2025). Dear Ladies and Gentlemen, I wanted to download a movie from YouTube, using the German language. Unfortunately, the movie https://youtu.be/ptrCBlS6cw4?si=2qDNWzdpXeTtgM1E has got 4 different audio-tracks. How can I be sure, that the right track is downloaded? Especially with documentaries, it is a massive problem, because my wife has no YouTube prime and some documentaries have not less than 15 different audio-tracks. Is there any helpful Solution? 20 years ago, I would have written a script by my own, but now I'm old and about to die soon. Kind regards Martin v. Ketteler <!-- ###################################################################### WARNING! IGNORING THE FOLLOWING TEMPLATE WILL RESULT IN ISSUE CLOSED AS INCOMPLETE ###################################################################### --> ## Checklist <!-- Carefully read and work through this check list in order to prevent the most common mistakes and misuse of youtube-dl: - Look through the README (http://yt-dl.org/readme) and FAQ (http://yt-dl.org/faq) for similar questions - Search the bugtracker for similar questions: http://yt-dl.org/search-issues - Finally, put x into all relevant boxes (like this [x]) --> - [ ] I'm asking a question - [ ] I've looked through the README and FAQ for similar questions - [ ] I've searched the bugtracker for similar questions including closed ones ## Question <!-- Ask your question in an arbitrary form. Please make sure it's worded well enough to be understood, see https://github.com/ytdl-org/youtube-dl#is-the-description-of-the-issue-itself-sufficient. --> WRITE QUESTION HERE Dear Ladies and Gentlemen, I wanted to download a movie from YouTube, using the German language. Unfortunately, the movie https://youtu.be/ptrCBlS6cw4?si=2qDNWzdpXeTtgM1E has got 4 different audio-tracks. How can I be sure, that the right track is downloaded? Especially with documentaries, it is a massive problem, because my wife has no YouTube prime and some documentaries have not less than 15 different audio-tracks. Is there any helpful Solution? 20 years ago, I would have written a script by my own, but now I'm old and about to die soon. Kind regards Martin v. Ketteler
Author
Owner

@dirkf commented on GitHub (Jul 17, 2025):

-f "bestvideo+bestaudio[language^=?de]"

Omit the ? if you only ever want videos with German audio, rejecting videos with no German audio.

Depending on your command-line program, you may need to escape characters like ^ and ? separately rather than just enclosing the whole format selection in some style of quotes. With a verbose log more explicit guidance would be possible.

PS: you might find it useful to review #33157.

@dirkf commented on GitHub (Jul 17, 2025): `-f "bestvideo+bestaudio[language^=?de]"` Omit the `?` if you only ever want videos with German audio, rejecting videos with no German audio. Depending on your command-line program, you may need to escape characters like `^` and `?` separately rather than just enclosing the whole format selection in some style of quotes. With a verbose log more explicit guidance would be possible. PS: you might find it useful to review #33157.
Author
Owner

@dirkf commented on GitHub (Jul 21, 2025):

Martin (@Einauge1965)?

@dirkf commented on GitHub (Jul 21, 2025): Martin (@Einauge1965)?
Author
Owner

@Einauge1965 commented on GitHub (Jul 21, 2025):

I only download movies in German, because my wife does not speak a very good English. And her hard- and software is not advanced enough to view am movie in another language.

@Einauge1965 commented on GitHub (Jul 21, 2025): I only download movies in German, because my wife does not speak a very good English. And her hard- and software is not advanced enough to view am movie in another language.
Author
Owner

@dirkf commented on GitHub (Jul 21, 2025):

Understood. My point was: did the answer solve your problem?

@dirkf commented on GitHub (Jul 21, 2025): Understood. My point was: did the answer solve your problem?
Author
Owner

@Einauge1965 commented on GitHub (Jul 21, 2025):

-f "bestvideo+bestaudio[language^=?de]"
Sorry, but that is no solution for me. Maybe it works, maybe not. But I really don’t know where and how to add this command line.
I’ve got cancer. And as a result of this cancer, my blood can only transport a reduced amount of oxygen. This, in turn, makes it extremely difficult for me to think and understand things. Furthermore, I don't have a development environment at home. And it's precisely for these reasons that I need help.

@Einauge1965 commented on GitHub (Jul 21, 2025): -f "bestvideo+bestaudio[language^=?de]" Sorry, but that is no solution for me. Maybe it works, maybe not. But I really don’t know where and how to add this command line. I’ve got cancer. And as a result of this cancer, my blood can only transport a reduced amount of oxygen. This, in turn, makes it extremely difficult for me to think and understand things. Furthermore, I don't have a development environment at home. And it's precisely for these reasons that I need help.
Author
Owner

@dirkf commented on GitHub (Jul 21, 2025):

You include the format selection option that I proposed in your youtube-dl command, like this:

youtube-dl -f "bestvideo+bestaudio[language^=de]" "https://youtu.be/ptrCBlS6cw4?si=2qDNWzdpXeTtgM1E"

If your platform is POSIX-like (Linux, macOS, BSD, ...), use 'single quotes' instead of "double".

If you want to get the combined audio-video format 18 too:

youtube-dl -f "bestvideo+bestaudio[language^=de]/best[language^=de]" "https://youtu.be/ptrCBlS6cw4?si=2qDNWzdpXeTtgM1E"

However, format 18 may not have, or not be marked as having, DE audio, especially when, as with the problem video, the original language is EN. So I'll assume not.

The problem video also contains on-screen English text (eg, just after the opening credits), which is probably not translated in the audio nor in subtitles. Fr Einauge1965 may have to pause the video to read that.

Add any other options that you would normally use (from your original post I understand that you do normally use the program), and also:

  • with the current nightly version of the program, --user-agent 'Mozilla/5.0'
  • as the problem video will be 10GB (2160p vp9+opus/webm) at the best quality, if the player has limited resources or older codecs, restrict the format selection further by specifying AAC audio and AVC video in MP4 and limiting the video height (eg, 900px):
-f "bestvideo[vcodec^=avc][height<?900]+m4a[language^=de]"

Here is example output (POSIX-like) using the --get-format option to show how the format selection is applied (removing that option gives the download command):

$ youtube-dl --user-agent 'Mozilla/5.0' -f 'bestvideo[vcodec^=avc][height<?900]+m4a[language^=de]' --get-format 'https://youtu.be/ptrCBlS6cw4?si=2qDNWzdpXeTtgM1E'
136 - 1280x720 (720p)+140-1 - audio only (audio_quality_medium)
$ 

The selected formats are:

136          mp4        1280x720   720p  702k , mp4_dash container, avc1.4d401f, 24fps, video only, 556.72MiB
140-1        m4a        audio only [de] audio_quality_medium  129k , m4a_dash container, mp4a.40.2 (44100Hz), 102.56MiB

These formats will be merged by running ffmpeg (which you must have installed) into a media file named The Substitute _ THRILLER _ Full Movie-ptrCBlS6cw4.mp4, assuming the default output template.

The issue linked above has more example. Good luck.

@dirkf commented on GitHub (Jul 21, 2025): You include the format selection option that I proposed in your _youtube-dl_ command, like this: ``` youtube-dl -f "bestvideo+bestaudio[language^=de]" "https://youtu.be/ptrCBlS6cw4?si=2qDNWzdpXeTtgM1E" ``` If your platform is POSIX-like (Linux, macOS, BSD, ...), use 'single quotes' instead of "double". If you want to get the combined audio-video format 18 too: ``` youtube-dl -f "bestvideo+bestaudio[language^=de]/best[language^=de]" "https://youtu.be/ptrCBlS6cw4?si=2qDNWzdpXeTtgM1E" ``` However, format 18 may not have, or not be marked as having, DE audio, especially when, as with the problem video, the original language is EN. So I'll assume not. The problem video also contains on-screen English text (eg, just after the opening credits), which is probably not translated in the audio nor in subtitles. Fr Einauge1965 may have to pause the video to read that. Add any other options that you would normally use (from your original post I understand that you **do** normally use the program), and also: * [with the current nightly version of the program](https://github.com/ytdl-org/youtube-dl/issues/33142), `--user-agent 'Mozilla/5.0'` * as the problem video will be 10GB (2160p vp9+opus/webm) at the best quality, if the player has limited resources or older codecs, restrict the format selection further by specifying AAC audio and AVC video in MP4 and limiting the video height (eg, 900px): ``` -f "bestvideo[vcodec^=avc][height<?900]+m4a[language^=de]" ``` Here is example output (POSIX-like) using the `--get-format` option to show how the format selection is applied (removing that option gives the download command): ``` $ youtube-dl --user-agent 'Mozilla/5.0' -f 'bestvideo[vcodec^=avc][height<?900]+m4a[language^=de]' --get-format 'https://youtu.be/ptrCBlS6cw4?si=2qDNWzdpXeTtgM1E' 136 - 1280x720 (720p)+140-1 - audio only (audio_quality_medium) $ ``` The selected formats are: ``` 136 mp4 1280x720 720p 702k , mp4_dash container, avc1.4d401f, 24fps, video only, 556.72MiB 140-1 m4a audio only [de] audio_quality_medium 129k , m4a_dash container, mp4a.40.2 (44100Hz), 102.56MiB ``` These formats will be merged by running _ffmpeg_ (which you must have installed) into a media file named `The Substitute _ THRILLER _ Full Movie-ptrCBlS6cw4.mp4`, assuming the default output template. The issue linked above has more example. Good luck.
Author
Owner

@Einauge1965 commented on GitHub (Jul 21, 2025):

Thanks. I will try everything as soon as I got fresh blood to think again.

@Einauge1965 commented on GitHub (Jul 21, 2025): Thanks. I will try everything as soon as I got fresh blood to think again.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/youtube-dl-ytdl-org#27134
No description provided.