Yt-dlp Nightly: SABR Audio Translation Bug Report
Hey everyone, I've encountered a bug in the latest yt-dlp nightly build that I wanted to bring to your attention. It seems like the required audio translation in SABR (Server-Side Ad Replacement) isn't downloading correctly. Let's dive into the details!
The Problem
Specifically, the required audio translation in SABR (yt-dlp-nightly) couldn't be downloaded. When trying to download a video with a specific audio language, the process fails to fetch the correct translation. This is quite frustrating, especially when you're trying to watch content in your preferred language.
Expected Behavior
Ideally, when you specify the audio language (in this case, Russian) and initiate a quick download using the command --extractor-args "youtube:lang=ru", the video should download with the Russian audio track. This worked fine in previous versions, but something seems to have broken in the latest nightly build. The expected behavior is straightforward: you select a language, and the downloader fetches the content in that language. It’s a core feature, and when it fails, it disrupts the entire user experience.
Steps to Reproduce
- Set the audio option to Russian.
 - Use the command 
--extractor-args "youtube:lang=ru"for a quick download. - Observe the downloaded format ID.
 
What happens instead is that the downloaded format ID is displayed incorrectly. For example, it shows "Downloading 1 format(s): 95-21," but the resulting audio is in Arabic instead of Russian. Here’s a snippet from the command-line output to illustrate:
Downloading:
Title: 
URL: https://youtu.be/QvLdVWS_DsM?si=YGXKeuHIiyxJQJ5v
Type: video
Command:
--extractor-args "youtube:lang=ru" --newline -N "3" --cookies "/data/user/0/com.deniscerri.ytdl/cache/cookies.txt" -U --trim-filenames "181" --no-mtime -f "bv+ba[language^=ru]/bv+ba/b" -P "/storage/emulated/0/Android/data/com.deniscerri.ytdl/files/downloads/2140" -o "%(uploader).30B - %(title).170B.%(ext)s" --parse-metadata "%(artists,artist,uploader,channel,creator|null)l:^(?P<uploader>.*?)(?:(?= - Topic)|$)" --compat-options "no-youtube-unavailable-videos" "https://youtu.be/QvLdVWS_DsM?si=YGXKeuHIiyxJQJ5v" 
Latest version: master@2025.11.01.222804 from yt-dlp/yt-dlp-master-builds
yt-dlp is up to date (master@2025.11.01.222804 from yt-dlp/yt-dlp-master-builds)
WARNING: [youtube] Preferring "ru" translated fields. Note that some metadata extraction may fail or be incorrect.
[youtube] Extracting URL: https://youtu.be/QvLdVWS_DsM?si=YGXKeuHIiyxJQJ5v
[youtube] QvLdVWS_DsM: Downloading webpage
[youtube] QvLdVWS_DsM: Downloading tv client config
[youtube] QvLdVWS_DsM: Downloading player c6d7bdc9-main
[youtube] QvLdVWS_DsM: Downloading tv player API JSON
[youtube] QvLdVWS_DsM: Downloading web safari player API JSON
WARNING: [youtube] QvLdVWS_DsM: Some tv client https formats have been skipped as they are missing a url. YouTube may have enabled the SABR-only or Server-Side Ad Placement experiment for your account. See  https://github.com/yt-dlp/yt-dlp/issues/12482  for more details
WARNING: [youtube] QvLdVWS_DsM: n challenge solving failed: Some formats may be missing. Ensure you have a supported JavaScript runtime and challenge solver script distribution installed. Review any warnings presented before this message. For more details, refer to  https://github.com/yt-dlp/yt-dlp/wiki/EJS
WARNING: [youtube] QvLdVWS_DsM: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See  https://github.com/yt-dlp/yt-dlp/issues/12482  for more details
[youtube] QvLdVWS_DsM: Downloading m3u8 information
WARNING: [youtube] QvLdVWS_DsM: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See  https://github.com/yt-dlp/yt-dlp/issues/12482  for more details
[MetadataParser] Parsed uploader from '%(artists,artist,uploader,channel,creator|null)l': 'Jared Owen'
[info] QvLdVWS_DsM: Downloading 1 format(s): 95-21
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 55
[download] Destination: /storage/emulated/0/Android/data/com.deniscerri.ytdl/files/downloads/2140/Jared Owen - How do Window Blinds work?.mp4
[download] 100% of   15.09MiB in 00:00:47 at 325.83KiB/s
[FixupM3u8] Fixing MPEG-TS in MP4 container of "/storage/emulated/0/Android/data/com.deniscerri.ytdl/files/downloads/2140/Jared Owen - How do Window Blinds work?.mp4"
Additional Details
I am running Android 10, and I've confirmed that I'm using the latest nightly version of yt-dlp. I've also made sure that this issue isn't a duplicate of any other open or closed issues. This problem seems to have surfaced recently, as previous versions worked without any hiccups.
Possible Cause
This issue might be related to how yt-dlp handles SABR or how it interprets the --extractor-args option in the latest nightly build. In older versions, the command --extractor-args "youtube:lang=ru" was sufficient to fetch the Russian audio. However, in the current nightly version, it appears that a more specific format option is needed: -f "bv+ba[language=ru]/b[language=ru]".
Why This Matters
For those who rely on specific audio translations, this bug can be a major inconvenience. Imagine trying to learn a new language or simply enjoying content in your native language, only to find that the audio is incorrect. This bug affects not only individual users but also content creators who want to provide localized versions of their videos.
Workarounds and Temporary Solutions
While the bug is being addressed, here are a couple of workarounds you can try:
- Use the 
-foption directly: Instead of relying on--extractor-args, try using-f "bv+ba[language=ru]/b[language=ru]"to explicitly specify the audio format. - Revert to a previous version: If the nightly build is too problematic, consider using a stable release or an older nightly build where this issue wasn't present.
 
Community Input
I'm curious to know if anyone else has encountered this issue. If you have, please share your experiences and any additional insights you might have. Your input can help the developers pinpoint the cause and develop a fix more quickly.
- Have you tried different languages and encountered similar problems?
 - Are there any specific video URLs that consistently trigger this bug?
 - What other command-line options have you tried, and what were the results?
 
Final Thoughts
While the yt-dlp nightly build is generally reliable, bugs like this can occasionally slip through. By reporting the issue and providing detailed information, we can help the developers make yt-dlp even better. Thanks for reading, and I hope this gets resolved soon! Keep an eye on the yt-dlp GitHub repository for updates and fixes.
I hope the yt-dlp team addresses this SABR audio translation issue promptly. In the meantime, let's keep sharing our experiences and workarounds to help each other out. Happy downloading, and may your audio always be in the right language!
Additional Information
- Tried latest version: Yes
 - Issue not duplicated: Confirmed
 
Device Information
- Android 10
 
Previous Behavior
- In previous versions, 
--extractor-args "youtube:lang=ru"was sufficient. 
Current Behavior
- In the current nightly version, this is the only option: 
-f "bv+ba[language=ru]/b[language=ru]"