Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Why are the high-resolution formats are video-only? #29783

Closed
3 tasks done
egeakman opened this issue Aug 13, 2021 · 4 comments
Closed
3 tasks done

Why are the high-resolution formats are video-only? #29783

egeakman opened this issue Aug 13, 2021 · 4 comments
Labels

Comments

@egeakman
Copy link

egeakman commented Aug 13, 2021

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

Why are the high-resolution formats are video-only? Isn't there an option to download a 1080p video with audio? I've tried a few videos but none of them had a "high-res with audio" option.

The video I used for the output below: https://www.youtube.com/watch?v=Vo7MlKzAWxA

Here are the formats listed available:

format code  extension  resolution note
249          webm       audio only tiny   58k , webm_dash container, opus @ 58k (48000Hz), 214.76KiB
250          webm       audio only tiny   77k , webm_dash container, opus @ 77k (48000Hz), 284.81KiB
140          m4a        audio only tiny  129k , m4a_dash container, mp4a.40.2@129k (44100Hz), 478.67KiB
251          webm       audio only tiny  150k , webm_dash container, opus @150k (48000Hz), 554.47KiB
278          webm       256x144    144p  111k , webm_dash container, vp9@ 111k, 30fps, video only, 410.99KiB
160          mp4        256x144    144p  120k , mp4_dash container, avc1.4d400c@ 120k, 30fps, video only, 441.71KiB
242          webm       426x240    240p  240k , webm_dash container, vp9@ 240k, 30fps, video only, 884.67KiB
133          mp4        426x240    240p  279k , mp4_dash container, avc1.4d4015@ 279k, 30fps, video only, 1.00MiB
243          webm       640x360    360p  436k , webm_dash container, vp9@ 436k, 30fps, video only, 1.57MiB
134          mp4        640x360    360p  632k , mp4_dash container, avc1.4d401e@ 632k, 30fps, video only, 2.27MiB
244          webm       854x480    480p  816k , webm_dash container, vp9@ 816k, 30fps, video only, 2.93MiB
135          mp4        854x480    480p 1185k , mp4_dash container, avc1.4d401f@1185k, 30fps, video only, 4.26MiB
247          webm       1280x720   720p 1589k , webm_dash container, vp9@1589k, 30fps, video only, 5.71MiB
136          mp4        1280x720   720p 2393k , mp4_dash container, avc1.4d401f@2393k, 30fps, video only, 8.60MiB
248          webm       1920x1080  1080p 2530k , webm_dash container, vp9@2530k, 30fps, video only, 9.09MiB
137          mp4        1920x1080  1080p 4554k , mp4_dash container, avc1.640028@4554k, 30fps, video only, 16.36MiB
271          webm       2560x1440  1440p 7236k , webm_dash container, vp9@7236k, 30fps, video only, 25.99MiB
313          webm       3840x2160  2160p 12579k , webm_dash container, vp9@12579k, 30fps, video only, 45.19MiB
18           mp4        640x360    360p  736k , avc1.42001E, 30fps, mp4a.40.2 (44100Hz), 2.66MiB
22           mp4        1280x720   720p 2522k , avc1.64001F, 30fps, mp4a.40.2 (44100Hz) (best)

Thanks for the answers in advance.

@MrTransparentBox
Copy link

MrTransparentBox commented Aug 13, 2021

What command are you using to download the video?
Also, have you set any configurations in the %APPDATA%\youtube-dl\config.txt

Usually, you have to specify a format (see FORMAT SELECTION) and then youtube-dl will download both audio and video separately then automatically merge them.
You can specify a format in the command itself or a configuration file (see CONFIGURATION)

@dirkf
Copy link
Contributor

dirkf commented Aug 13, 2021

What Transparent said.

By default yt-dl will give you what it "thinks" is the best resolution of those available, as below:

$ youtube-dl -v --ignore-config --get-format 'https://www.youtube.com/watch?v=Vo7MlKzAWxA'
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-v', '--ignore-config', '--get-format', 'https://www.youtube.com/watch?v=Vo7MlKzAWxA']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2021.06.06
[debug] Python version 3.5.2 (CPython) - Linux-4.4.0-210-generic-i686-with-Ubuntu-16.04-xenial
[debug] exe versions: avconv 4.3, avprobe 4.3, ffmpeg 4.3, ffprobe 4.3
[debug] Proxy map: {}
[debug] Default format spec: bestvideo+bestaudio/best
313 - 3840x2160 (2160p)+251 - audio only (tiny)
$

yt-dl doesn't transcode video; it just selects and possibly repackages what the site offers.

In case you wanted an old-style AVC+AAC in MP4 rather than the VP9+Opus in WEBM that the above promises, say "-f [ext!^=web]" to exclude containers whose type starts with "web". Then you'll get format 22, which has a lower resolution, but still adequate unless you're an eagle.

Should you want a higher video resolution AVC you'd have to re-encode, say from format 313 using ffmpeg.

@egeakman
Copy link
Author

What command are you using to download the video?
Also, have you set any configurations in the %APPDATA%\youtube-dl\config.txt

Usually, you have to specify a format (see FORMAT SELECTION) and then youtube-dl will download both audio and video separately then automatically merge them.
You can specify a format in the command itself or a configuration file (see CONFIGURATION)

Thanks for the answer. I didn't download the video, I only listed the formats. When I didn't see any "high-resolution with audio" option, I decided to write here. Thanks to you I found out the merging thing. I missed that section in the readme file somehow.

What Transparent said.

By default yt-dl will give you what it "thinks" is the best resolution of those available, as below:

$ youtube-dl -v --ignore-config --get-format 'https://www.youtube.com/watch?v=Vo7MlKzAWxA'
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-v', '--ignore-config', '--get-format', 'https://www.youtube.com/watch?v=Vo7MlKzAWxA']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2021.06.06
[debug] Python version 3.5.2 (CPython) - Linux-4.4.0-210-generic-i686-with-Ubuntu-16.04-xenial
[debug] exe versions: avconv 4.3, avprobe 4.3, ffmpeg 4.3, ffprobe 4.3
[debug] Proxy map: {}
[debug] Default format spec: bestvideo+bestaudio/best
313 - 3840x2160 (2160p)+251 - audio only (tiny)
$

yt-dl doesn't transcode video; it just selects and possibly repackages what the site offers.

In case you wanted an old-style AVC+AAC in MP4 rather than the VP9+Opus in WEBM that the above promises, say "-f [ext!^=web]" to exclude containers whose type starts with "web". Then you'll get format 22, which has a lower resolution, but still adequate unless you're an eagle.

Should you want a higher video resolution AVC you'd have to re-encode, say from format 313 using ffmpeg.

Thank you all for your answers, I now understand. I am now closing the issue.

@rautamiekka
Copy link
Contributor

I remember reading the reasoning to have separate vid and audio files is primarily space savings, and also to be able to play diff qualities of vid and audio.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants