Error reported when using '-f best' with acodec filter #9964

Closed
opened 2026-02-21 04:05:44 -05:00 by deekerman · 0 comments
Owner

Originally created by @thomco on GitHub (Feb 11, 2017).

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2017.02.11.

  • I've verified and I assure that I'm running youtube-dl 2017.02.11

Before submitting an issue make sure you have:

  • [x ] At least skimmed through README and most notably FAQ and BUGS sections
  • [x ] Searched the bugtracker for similar issues including closed ones

What is the purpose of your issue?

  • [x ] Bug report (encountered problems with youtube-dl)

Command Line and Output

$ youtube-dl -v --ignore-config -f "bestvideo[vcodec^=vp8][height=360]+bestaudio[acodec=vorbis]/best[vcodec^=vp8][acodec=vorbis][height=360]" https://www.youtube.com/watch?v=3Aya1dKKqxs
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-v', '--ignore-config', '-f', 'best[vcodec^=vp8][acodec=vorbis][height=360]', 'https://www.youtube.com/watch?v=3Aya1dKKqxs']
[debug] Encodings: locale cp1252, fs utf-8, out utf-8, pref cp1252
[debug] youtube-dl version 2017.02.11
[debug] Python version 3.6.0 - Windows-10-10.0.15031-SP0
[debug] exe versions: ffmpeg 3.2.2, ffprobe 3.2.2
[debug] Proxy map: {}
[youtube] 3Aya1dKKqxs: Downloading webpage
[youtube] 3Aya1dKKqxs: Downloading video info webpage
[youtube] 3Aya1dKKqxs: Extracting video information
[youtube] 3Aya1dKKqxs: Downloading MPD manifest
ERROR: requested format not available
Traceback (most recent call last):
  File "c:\users\thomas\miniconda3\envs\youtube-dl\lib\site-packages\youtube_dl\YoutubeDL.py", line 707, in extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "c:\users\thomas\miniconda3\envs\youtube-dl\lib\site-packages\youtube_dl\YoutubeDL.py", line 753, in process_ie_result
    return self.process_video_result(ie_result, download=download)
  File "c:\users\thomas\miniconda3\envs\youtube-dl\lib\site-packages\youtube_dl\YoutubeDL.py", line 1432, in process_video_result
    expected=True)
youtube_dl.utils.ExtractorError: requested format not available
...
<end of log>

Description

I am trying to download the best available webm video matching specific video codec, audio codec, and resolution. DASH or single file download is acceptable. The format selector expression I am using is:

-f "bestvideo[vcodec^=vp8][height=360]+bestaudio[acodec=vorbis]/best[vcodec^=vp8][acodec=vorbis][height=360]"

This particular does not have any DASH video streams matching the specified vcodec. But there is one single-file stream that matches:

> youtube-dl -F https://www.youtube.com/watch?v=3Aya1dKKqxs
format code  extension  resolution note
249          webm       audio only DASH audio   52k , opus @ 50k (48000Hz), 4.66MiB
250          webm       audio only DASH audio   69k , opus @ 70k (48000Hz), 5.78MiB
171          webm       audio only DASH audio  112k , vorbis@128k (44100Hz), 9.56MiB
140          m4a        audio only DASH audio  128k , m4a_dash container, mp4a.40.2@128k (44100Hz), 11.95MiB
251          webm       audio only DASH audio  133k , opus @160k (48000Hz), 10.81MiB
278          webm       256x144    DASH video  108k , webm container, vp9, 30fps, video only, 9.14MiB
160          mp4        256x144    DASH video  115k , avc1.4d400c, 30fps, video only, 10.31MiB
133          mp4        426x240    DASH video  250k , avc1.4d4015, 30fps, video only, 22.77MiB
242          webm       426x240    DASH video  256k , vp9, 30fps, video only, 20.95MiB
243          webm       640x360    DASH video  467k , vp9, 30fps, video only, 38.81MiB
134          mp4        640x360    DASH video  637k , avc1.4d401e, 30fps, video only, 36.05MiB
244          webm       854x480    DASH video  854k , vp9, 30fps, video only, 70.06MiB
135          mp4        854x480    DASH video 1168k , avc1.4d401f, 30fps, video only, 72.72MiB
247          webm       1280x720   DASH video 1718k , vp9, 30fps, video only, 139.26MiB
136          mp4        1280x720   DASH video 2326k , avc1.4d401f, 30fps, video only, 136.04MiB
248          webm       1920x1080  DASH video 3022k , vp9, 30fps, video only, 249.27MiB
137          mp4        1920x1080  DASH video 4325k , avc1.640028, 30fps, video only, 265.19MiB
271          webm       2560x1440  DASH video 9676k , vp9, 30fps, video only, 727.14MiB
264          mp4        2560x1440  DASH video 10237k , avc1.640032, 30fps, video only, 584.05MiB
313          webm       3840x2160  DASH video 20168k , vp9, 30fps, video only, 1.67GiB
266          mp4        3840x2160  DASH video 23261k , avc1.640033, 30fps, video only, 1.88GiB
17           3gp        176x144    small , mp4v.20.3,  mp4a.40.2@ 24k
36           3gp        320x180    small , mp4v.20.3,  mp4a.40.2
43           webm       640x360    medium , vp8.0,  vorbis@128k
18           mp4        640x360    medium , avc1.42001E,  mp4a.40.2@ 96k
22           mp4        1280x720   hd720 , avc1.64001F,  mp4a.40.2@192k (best)

I am expecting ytdl to download #43.

If I change the format selector expression to include vp9 and Vorbis, youtube-dl successfully downloads and muxes DASH streams 243+171.

If I remove the bestvideo+bestaudio and just use -f "best[vcodec^=vp8][acodec=vorbis][height=360]" I still get the error.

Troubleshooting further, I've found that ytdl will succeed with if I leave the acodec out of the expression. And if fails if it is in the expression (even alone)

expression result
best[vcodec^=vp8][acodec=vorbis][height=360] fails
best[vcodec^=vp8] succeeds
best[vcodec^=vp8][height=360] succeeds
best[acodec=vorbis] fails
Originally created by @thomco on GitHub (Feb 11, 2017). ### Make sure you are using the *latest* version: run `youtube-dl --version` and ensure your version is *2017.02.11*. - [x] I've **verified** and **I assure** that I'm running youtube-dl **2017.02.11** ### Before submitting an *issue* make sure you have: - [x ] At least skimmed through [README](https://github.com/rg3/youtube-dl/blob/master/README.md) and **most notably** [FAQ](https://github.com/rg3/youtube-dl#faq) and [BUGS](https://github.com/rg3/youtube-dl#bugs) sections - [x ] [Searched](https://github.com/rg3/youtube-dl/search?type=Issues) the bugtracker for similar issues including closed ones ### What is the purpose of your *issue*? - [x ] Bug report (encountered problems with youtube-dl) --- ### Command Line and Output ``` $ youtube-dl -v --ignore-config -f "bestvideo[vcodec^=vp8][height=360]+bestaudio[acodec=vorbis]/best[vcodec^=vp8][acodec=vorbis][height=360]" https://www.youtube.com/watch?v=3Aya1dKKqxs [debug] System config: [] [debug] User config: [] [debug] Custom config: [] [debug] Command-line args: ['-v', '--ignore-config', '-f', 'best[vcodec^=vp8][acodec=vorbis][height=360]', 'https://www.youtube.com/watch?v=3Aya1dKKqxs'] [debug] Encodings: locale cp1252, fs utf-8, out utf-8, pref cp1252 [debug] youtube-dl version 2017.02.11 [debug] Python version 3.6.0 - Windows-10-10.0.15031-SP0 [debug] exe versions: ffmpeg 3.2.2, ffprobe 3.2.2 [debug] Proxy map: {} [youtube] 3Aya1dKKqxs: Downloading webpage [youtube] 3Aya1dKKqxs: Downloading video info webpage [youtube] 3Aya1dKKqxs: Extracting video information [youtube] 3Aya1dKKqxs: Downloading MPD manifest ERROR: requested format not available Traceback (most recent call last): File "c:\users\thomas\miniconda3\envs\youtube-dl\lib\site-packages\youtube_dl\YoutubeDL.py", line 707, in extract_info return self.process_ie_result(ie_result, download, extra_info) File "c:\users\thomas\miniconda3\envs\youtube-dl\lib\site-packages\youtube_dl\YoutubeDL.py", line 753, in process_ie_result return self.process_video_result(ie_result, download=download) File "c:\users\thomas\miniconda3\envs\youtube-dl\lib\site-packages\youtube_dl\YoutubeDL.py", line 1432, in process_video_result expected=True) youtube_dl.utils.ExtractorError: requested format not available ... <end of log> ``` --- ### Description I am trying to download the best available webm video matching specific video codec, audio codec, and resolution. DASH or single file download is acceptable. The format selector expression I am using is: ``` -f "bestvideo[vcodec^=vp8][height=360]+bestaudio[acodec=vorbis]/best[vcodec^=vp8][acodec=vorbis][height=360]" ``` This particular does not have any DASH video streams matching the specified vcodec. But there is one single-file stream that matches: ``` > youtube-dl -F https://www.youtube.com/watch?v=3Aya1dKKqxs format code extension resolution note 249 webm audio only DASH audio 52k , opus @ 50k (48000Hz), 4.66MiB 250 webm audio only DASH audio 69k , opus @ 70k (48000Hz), 5.78MiB 171 webm audio only DASH audio 112k , vorbis@128k (44100Hz), 9.56MiB 140 m4a audio only DASH audio 128k , m4a_dash container, mp4a.40.2@128k (44100Hz), 11.95MiB 251 webm audio only DASH audio 133k , opus @160k (48000Hz), 10.81MiB 278 webm 256x144 DASH video 108k , webm container, vp9, 30fps, video only, 9.14MiB 160 mp4 256x144 DASH video 115k , avc1.4d400c, 30fps, video only, 10.31MiB 133 mp4 426x240 DASH video 250k , avc1.4d4015, 30fps, video only, 22.77MiB 242 webm 426x240 DASH video 256k , vp9, 30fps, video only, 20.95MiB 243 webm 640x360 DASH video 467k , vp9, 30fps, video only, 38.81MiB 134 mp4 640x360 DASH video 637k , avc1.4d401e, 30fps, video only, 36.05MiB 244 webm 854x480 DASH video 854k , vp9, 30fps, video only, 70.06MiB 135 mp4 854x480 DASH video 1168k , avc1.4d401f, 30fps, video only, 72.72MiB 247 webm 1280x720 DASH video 1718k , vp9, 30fps, video only, 139.26MiB 136 mp4 1280x720 DASH video 2326k , avc1.4d401f, 30fps, video only, 136.04MiB 248 webm 1920x1080 DASH video 3022k , vp9, 30fps, video only, 249.27MiB 137 mp4 1920x1080 DASH video 4325k , avc1.640028, 30fps, video only, 265.19MiB 271 webm 2560x1440 DASH video 9676k , vp9, 30fps, video only, 727.14MiB 264 mp4 2560x1440 DASH video 10237k , avc1.640032, 30fps, video only, 584.05MiB 313 webm 3840x2160 DASH video 20168k , vp9, 30fps, video only, 1.67GiB 266 mp4 3840x2160 DASH video 23261k , avc1.640033, 30fps, video only, 1.88GiB 17 3gp 176x144 small , mp4v.20.3, mp4a.40.2@ 24k 36 3gp 320x180 small , mp4v.20.3, mp4a.40.2 43 webm 640x360 medium , vp8.0, vorbis@128k 18 mp4 640x360 medium , avc1.42001E, mp4a.40.2@ 96k 22 mp4 1280x720 hd720 , avc1.64001F, mp4a.40.2@192k (best) ``` I am expecting ytdl to download #43. If I change the format selector expression to include vp9 and Vorbis, youtube-dl successfully downloads and muxes DASH streams 243+171. If I remove the bestvideo+bestaudio and just use `-f "best[vcodec^=vp8][acodec=vorbis][height=360]"` I still get the error. Troubleshooting further, I've found that ytdl will succeed with if I leave the acodec out of the expression. And if fails if it is in the expression (even alone) expression | result ------------ | ------------- `best[vcodec^=vp8][acodec=vorbis][height=360]` | fails `best[vcodec^=vp8]` | succeeds `best[vcodec^=vp8][height=360]` | succeeds `best[acodec=vorbis]` | fails
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#9964
No description provided.