diff --git a/voussoir.net/writing/youtubedl_formats/youtubedl_formats.md b/voussoir.net/writing/youtubedl_formats/youtubedl_formats.md index df9e517..b4ec359 100644 --- a/voussoir.net/writing/youtubedl_formats/youtubedl_formats.md +++ b/voussoir.net/writing/youtubedl_formats/youtubedl_formats.md @@ -11,118 +11,133 @@ Don't forget the magic words like "bestvideo", "bestaudio" to round out your sel See https://github.com/ytdl-org/youtube-dl/blob/master/README.md#format-selection +There are more formats listed in [youtube-dl's source code](https://github.com/ytdl-org/youtube-dl/blob/eb6181759f3a784d7b77ec9d2ec1a65dfd695d92/youtube_dl/extractor/youtube.py#L430), +but some of them seem to be obsolete and are no longer returned by `-F` +even when using the example video IDs listed there. I will only include +codes for which I have an example. + ## Video formats -id|quality|codec --:|-:|-: -571|4320p60|AV1 -272|4320p30|VP9 -337|2160p60 HDR|VP9 -401|2160p60|AV1 -315|2160p60|VP9 -313|2160p30|VP9 -336|1440p60 HDR|VP9 -400|1440p60|AV1 -308|1440p60|VP9 -271|1440p30|VP9 -335|1080p60 HDR|VP9 -399|1080p60|AV1 -299|1080p60|AVC -303|1080p60|VP9 -137|1080p30|AVC -248|1080p30|VP9 -334|720p60 HDR|VP9 -398|720p60|AV1 -298|720p60|AVC -302|720p60|VP9 -136|720p30|AVC -247|720p30|VP9 -333|480p60 HDR|VP9 -397|480p30|AV1 -135|480p30|AVC -244|480p30|VP9 -332|360p60 HDR|VP9 -396|360p30|AV1 -134|360p30|AVC -243|360p30|VP9 -331|240p60 HDR|VP9 -395|240p30|AV1 -133|240p30|AVC -242|240p30|VP9 -330|144p60 HDR|VP9 -394|144p30|AV1 -160|144p30|AVC -278|144p30|VP9 +id | quality | codec | examples +-: | -: | -: | :- +571|4320p60|AV1|`youtube-dl -F kFz9afj8lu0 1La4QzGeaaQ` +272|4320p30|VP9|`youtube-dl -F i6fWG4FxDZw` +337|2160p60 HDR|VP9|`youtube-dl -F 1La4QzGeaaQ` +401|2160p60|AV1|`youtube-dl -F kFz9afj8lu0 1La4QzGeaaQ` +305|2160p60|AVC|`youtube-dl -F -xNN-bJQ4vI` +315|2160p60|VP9|`youtube-dl -F 1La4QzGeaaQ -xNN-bJQ4vI` +266|2160p30|AVC|`youtube-dl -F -xNN-bJQ4vI i6fWG4FxDZw` +313|2160p30|VP9|`youtube-dl -F kFz9afj8lu0 1La4QzGeaaQ -xNN-bJQ4vI i6fWG4FxDZw` +336|1440p60 HDR|VP9|`youtube-dl -F 1La4QzGeaaQ` +400|1440p60|AV1|`youtube-dl -F kFz9afj8lu0 1La4QzGeaaQ` +304|1440p60|AVC|`youtube-dl -F -xNN-bJQ4vI` +308|1440p60|VP9|`youtube-dl -F 1La4QzGeaaQ -xNN-bJQ4vI` +264|1440p30|AVC|`youtube-dl -F -xNN-bJQ4vI i6fWG4FxDZw` +271|1440p30|VP9|`youtube-dl -F kFz9afj8lu0 1La4QzGeaaQ -xNN-bJQ4vI i6fWG4FxDZw` +335|1080p60 HDR|VP9|`youtube-dl -F 1La4QzGeaaQ` +399|1080p60|AV1|`youtube-dl -F 1La4QzGeaaQ` +299|1080p60|AVC|`youtube-dl -F 1La4QzGeaaQ -xNN-bJQ4vI` +303|1080p60|VP9|`youtube-dl -F 1La4QzGeaaQ -xNN-bJQ4vI` +137|1080p30|AVC|`youtube-dl -F S8Zt6cB_NPU 1La4QzGeaaQ -xNN-bJQ4vI i6fWG4FxDZw` +248|1080p30|VP9|`youtube-dl -F S8Zt6cB_NPU 1La4QzGeaaQ -xNN-bJQ4vI i6fWG4FxDZw` +334|720p60 HDR|VP9|`youtube-dl -F 1La4QzGeaaQ` +398|720p60|AV1|`youtube-dl -F 1La4QzGeaaQ` +298|720p60|AVC|`youtube-dl -F 1La4QzGeaaQ -xNN-bJQ4vI` +302|720p60|VP9|`youtube-dl -F 1La4QzGeaaQ -xNN-bJQ4vI` +136|720p30|AVC|`youtube-dl -F S8Zt6cB_NPU 1La4QzGeaaQ -xNN-bJQ4vI i6fWG4FxDZw` +247|720p30|VP9|`youtube-dl -F S8Zt6cB_NPU 1La4QzGeaaQ -xNN-bJQ4vI i6fWG4FxDZw` +333|480p60 HDR|VP9|`youtube-dl -F 1La4QzGeaaQ` +397|480p30|AV1|`youtube-dl -F S8Zt6cB_NPU 1La4QzGeaaQ` +135|480p30|AVC|`youtube-dl -F S8Zt6cB_NPU 1La4QzGeaaQ -xNN-bJQ4vI i6fWG4FxDZw` +244|480p30|VP9|`youtube-dl -F S8Zt6cB_NPU 1La4QzGeaaQ -xNN-bJQ4vI i6fWG4FxDZw` +332|360p60 HDR|VP9|`youtube-dl -F 1La4QzGeaaQ` +396|360p30|AV1|`youtube-dl -F S8Zt6cB_NPU 1La4QzGeaaQ` +134|360p30|AVC|`youtube-dl -F S8Zt6cB_NPU 1La4QzGeaaQ -xNN-bJQ4vI i6fWG4FxDZw` +243|360p30|VP9|`youtube-dl -F S8Zt6cB_NPU 1La4QzGeaaQ -xNN-bJQ4vI i6fWG4FxDZw` +331|240p60 HDR|VP9|`youtube-dl -F 1La4QzGeaaQ` +395|240p30|AV1|`youtube-dl -F S8Zt6cB_NPU 1La4QzGeaaQ` +133|240p30|AVC|`youtube-dl -F S8Zt6cB_NPU 1La4QzGeaaQ -xNN-bJQ4vI i6fWG4FxDZw` +242|240p30|VP9|`youtube-dl -F S8Zt6cB_NPU 1La4QzGeaaQ -xNN-bJQ4vI i6fWG4FxDZw` +330|144p60 HDR|VP9|`youtube-dl -F 1La4QzGeaaQ` +394|144p30|AV1|`youtube-dl -F S8Zt6cB_NPU 1La4QzGeaaQ` +160|144p30|AVC|`youtube-dl -F S8Zt6cB_NPU 1La4QzGeaaQ -xNN-bJQ4vI i6fWG4FxDZw` +278|144p30|VP9|`youtube-dl -F S8Zt6cB_NPU 1La4QzGeaaQ -xNN-bJQ4vI i6fWG4FxDZw` ### AVC only -id|quality|codec --:|-:|-: -299|1080p60|AVC -137|1080p30|AVC -298|720p60|AVC -136|720p30|AVC -135|480p30|AVC -134|360p30|AVC -133|240p30|AVC -160|144p30|AVC +id | quality | codec | examples +-: | -: | -: | :- +305|2160p60|AVC|`youtube-dl -F -xNN-bJQ4vI` +266|2160p30|AVC|`youtube-dl -F -xNN-bJQ4vI i6fWG4FxDZw` +304|1440p60|AVC|`youtube-dl -F -xNN-bJQ4vI` +264|1440p30|AVC|`youtube-dl -F -xNN-bJQ4vI i6fWG4FxDZw` +299|1080p60|AVC|`youtube-dl -F 1La4QzGeaaQ -xNN-bJQ4vI` +137|1080p30|AVC|`youtube-dl -F S8Zt6cB_NPU 1La4QzGeaaQ -xNN-bJQ4vI i6fWG4FxDZw` +298|720p60|AVC|`youtube-dl -F 1La4QzGeaaQ -xNN-bJQ4vI` +136|720p30|AVC|`youtube-dl -F S8Zt6cB_NPU 1La4QzGeaaQ -xNN-bJQ4vI i6fWG4FxDZw` +135|480p30|AVC|`youtube-dl -F S8Zt6cB_NPU 1La4QzGeaaQ -xNN-bJQ4vI i6fWG4FxDZw` +134|360p30|AVC|`youtube-dl -F S8Zt6cB_NPU 1La4QzGeaaQ -xNN-bJQ4vI i6fWG4FxDZw` +133|240p30|AVC|`youtube-dl -F S8Zt6cB_NPU 1La4QzGeaaQ -xNN-bJQ4vI i6fWG4FxDZw` +160|144p30|AVC|`youtube-dl -F S8Zt6cB_NPU 1La4QzGeaaQ -xNN-bJQ4vI i6fWG4FxDZw` ### VP9 only -id|quality|codec --:|-:|-: -272|4320p30|VP9 -337|2160p60 HDR|VP9 -315|2160p60|VP9 -313|2160p30|VP9 -336|1440p60 HDR|VP9 -308|1440p60|VP9 -271|1440p30|VP9 -335|1080p60 HDR|VP9 -303|1080p60|VP9 -248|1080p30|VP9 -334|720p60 HDR|VP9 -302|720p60|VP9 -247|720p30|VP9 -333|480p60 HDR|VP9 -244|480p30|VP9 -332|360p60 HDR|VP9 -243|360p30|VP9 -331|240p60 HDR|VP9 -242|240p30|VP9 -330|144p60 HDR|VP9 -278|144p30|VP9 +id | quality | codec | examples +-: | -: | -: | :- +272|4320p30|VP9|`youtube-dl -F i6fWG4FxDZw` +337|2160p60 HDR|VP9|`youtube-dl -F 1La4QzGeaaQ` +315|2160p60|VP9|`youtube-dl -F 1La4QzGeaaQ -xNN-bJQ4vI` +313|2160p30|VP9|`youtube-dl -F kFz9afj8lu0 1La4QzGeaaQ -xNN-bJQ4vI i6fWG4FxDZw` +336|1440p60 HDR|VP9|`youtube-dl -F 1La4QzGeaaQ` +308|1440p60|VP9|`youtube-dl -F 1La4QzGeaaQ -xNN-bJQ4vI` +271|1440p30|VP9|`youtube-dl -F kFz9afj8lu0 1La4QzGeaaQ -xNN-bJQ4vI i6fWG4FxDZw` +335|1080p60 HDR|VP9|`youtube-dl -F 1La4QzGeaaQ` +303|1080p60|VP9|`youtube-dl -F 1La4QzGeaaQ -xNN-bJQ4vI` +248|1080p30|VP9|`youtube-dl -F S8Zt6cB_NPU 1La4QzGeaaQ -xNN-bJQ4vI i6fWG4FxDZw` +334|720p60 HDR|VP9|`youtube-dl -F 1La4QzGeaaQ` +302|720p60|VP9|`youtube-dl -F 1La4QzGeaaQ -xNN-bJQ4vI` +247|720p30|VP9|`youtube-dl -F S8Zt6cB_NPU 1La4QzGeaaQ -xNN-bJQ4vI i6fWG4FxDZw` +333|480p60 HDR|VP9|`youtube-dl -F 1La4QzGeaaQ` +244|480p30|VP9|`youtube-dl -F S8Zt6cB_NPU 1La4QzGeaaQ -xNN-bJQ4vI i6fWG4FxDZw` +332|360p60 HDR|VP9|`youtube-dl -F 1La4QzGeaaQ` +243|360p30|VP9|`youtube-dl -F S8Zt6cB_NPU 1La4QzGeaaQ -xNN-bJQ4vI i6fWG4FxDZw` +331|240p60 HDR|VP9|`youtube-dl -F 1La4QzGeaaQ` +242|240p30|VP9|`youtube-dl -F S8Zt6cB_NPU 1La4QzGeaaQ -xNN-bJQ4vI i6fWG4FxDZw` +330|144p60 HDR|VP9|`youtube-dl -F 1La4QzGeaaQ` +278|144p30|VP9|`youtube-dl -F S8Zt6cB_NPU 1La4QzGeaaQ -xNN-bJQ4vI i6fWG4FxDZw` ### AV1 only -id|quality|codec --:|-:|-: -571|4320p60|AV1 -401|2160p60|AV1 -400|1440p60|AV1 -399|1080p60|AV1 -398|720p60|AV1 -397|480p30|AV1 -396|360p30|AV1 -395|240p30|AV1 -394|144p30|AV1 +id | quality | codec | examples +-: | -: | -: | :- +571|4320p60|AV1|`youtube-dl -F kFz9afj8lu0 1La4QzGeaaQ` +401|2160p60|AV1|`youtube-dl -F kFz9afj8lu0 1La4QzGeaaQ` +400|1440p60|AV1|`youtube-dl -F kFz9afj8lu0 1La4QzGeaaQ` +399|1080p60|AV1|`youtube-dl -F 1La4QzGeaaQ` +398|720p60|AV1|`youtube-dl -F 1La4QzGeaaQ` +397|480p30|AV1|`youtube-dl -F S8Zt6cB_NPU 1La4QzGeaaQ` +396|360p30|AV1|`youtube-dl -F S8Zt6cB_NPU 1La4QzGeaaQ` +395|240p30|AV1|`youtube-dl -F S8Zt6cB_NPU 1La4QzGeaaQ` +394|144p30|AV1|`youtube-dl -F S8Zt6cB_NPU 1La4QzGeaaQ` ## Audio formats -id|quality|codec --:|-:|-: -251|160k|Opus -140|130k|m4a -250|70k|Opus -249|50k|Opus +id | quality | codec | examples +-: | -: | -: | :- +258|386k|m4a|`youtube-dl -F NMANRHz4UAY` +256|195k|m4a|`youtube-dl -F NMANRHz4UAY` +251|160k|Opus|`youtube-dl -F S8Zt6cB_NPU` +140|128k|m4a|`youtube-dl -F S8Zt6cB_NPU` +250|70k|Opus|`youtube-dl -F S8Zt6cB_NPU` +249|50k|Opus|`youtube-dl -F S8Zt6cB_NPU` ## Combined formats -id|quality|codec --:|-:|-: -22|720p30|AVC+m4a -18|360p30|AVC+m4a +id | quality | codec | examples +-: | -: | -: | :- +22|720p30|AVC+m4a|`youtube-dl -F S8Zt6cB_NPU` +18|360p30|AVC+m4a|`youtube-dl -F S8Zt6cB_NPU` -This document is generated [programmatically](youtubedl_formats.sql) (with the manual addition of :- for md tables). +This document is generated [programmatically](youtubedl_formats.sql). sqlite3 :memory: ".read youtubedl_formats.sql" > youtubedl_formats.md diff --git a/voussoir.net/writing/youtubedl_formats/youtubedl_formats.sql b/voussoir.net/writing/youtubedl_formats/youtubedl_formats.sql index 336bee4..67c74f5 100644 --- a/voussoir.net/writing/youtubedl_formats/youtubedl_formats.sql +++ b/voussoir.net/writing/youtubedl_formats/youtubedl_formats.sql @@ -1,51 +1,57 @@ -CREATE TABLE formats(id TEXT, kind TEXT, quality TEXT, codec TEXT); +CREATE TABLE formats(id TEXT, kind TEXT, quality TEXT, codec TEXT, examples TEXT); INSERT INTO formats VALUES -('18', 'Combined', '360p30', 'AVC+m4a'), -('22', 'Combined', '720p30', 'AVC+m4a'), -('133', 'Video', '240p30', 'AVC'), -('134', 'Video', '360p30', 'AVC'), -('135', 'Video', '480p30', 'AVC'), -('136', 'Video', '720p30', 'AVC'), -('137', 'Video', '1080p30', 'AVC'), -('140', 'Audio', '130k', 'm4a'), -('160', 'Video', '144p30', 'AVC'), -('242', 'Video', '240p30', 'VP9'), -('243', 'Video', '360p30', 'VP9'), -('244', 'Video', '480p30', 'VP9'), -('247', 'Video', '720p30', 'VP9'), -('248', 'Video', '1080p30', 'VP9'), -('249', 'Audio', '50k', 'Opus'), -('250', 'Audio', '70k', 'Opus'), -('251', 'Audio', '160k', 'Opus'), -('271', 'Video', '1440p30', 'VP9'), -('272', 'Video', '4320p30', 'VP9'), -('278', 'Video', '144p30', 'VP9'), -('298', 'Video', '720p60', 'AVC'), -('299', 'Video', '1080p60', 'AVC'), -('302', 'Video', '720p60', 'VP9'), -('303', 'Video', '1080p60', 'VP9'), -('308', 'Video', '1440p60', 'VP9'), -('313', 'Video', '2160p30', 'VP9'), -('315', 'Video', '2160p60', 'VP9'), -('330', 'Video', '144p60 HDR', 'VP9'), -('331', 'Video', '240p60 HDR', 'VP9'), -('332', 'Video', '360p60 HDR', 'VP9'), -('333', 'Video', '480p60 HDR', 'VP9'), -('334', 'Video', '720p60 HDR', 'VP9'), -('335', 'Video', '1080p60 HDR', 'VP9'), -('336', 'Video', '1440p60 HDR', 'VP9'), -('337', 'Video', '2160p60 HDR', 'VP9'), -('394', 'Video', '144p30', 'AV1'), -('395', 'Video', '240p30', 'AV1'), -('396', 'Video', '360p30', 'AV1'), -('397', 'Video', '480p30', 'AV1'), -('398', 'Video', '720p60', 'AV1'), -('399', 'Video', '1080p60', 'AV1'), -('400', 'Video', '1440p60', 'AV1'), -('401', 'Video', '2160p60', 'AV1'), -('571', 'Video', '4320p60', 'AV1'); +('18', 'Combined', '360p30', 'AVC+m4a', 'S8Zt6cB_NPU'), +('22', 'Combined', '720p30', 'AVC+m4a', 'S8Zt6cB_NPU'), +('133', 'Video', '240p30', 'AVC', 'S8Zt6cB_NPU 1La4QzGeaaQ -xNN-bJQ4vI i6fWG4FxDZw'), +('134', 'Video', '360p30', 'AVC', 'S8Zt6cB_NPU 1La4QzGeaaQ -xNN-bJQ4vI i6fWG4FxDZw'), +('135', 'Video', '480p30', 'AVC', 'S8Zt6cB_NPU 1La4QzGeaaQ -xNN-bJQ4vI i6fWG4FxDZw'), +('136', 'Video', '720p30', 'AVC', 'S8Zt6cB_NPU 1La4QzGeaaQ -xNN-bJQ4vI i6fWG4FxDZw'), +('137', 'Video', '1080p30', 'AVC', 'S8Zt6cB_NPU 1La4QzGeaaQ -xNN-bJQ4vI i6fWG4FxDZw'), +('140', 'Audio', '128k', 'm4a', 'S8Zt6cB_NPU'), +('160', 'Video', '144p30', 'AVC', 'S8Zt6cB_NPU 1La4QzGeaaQ -xNN-bJQ4vI i6fWG4FxDZw'), +('242', 'Video', '240p30', 'VP9', 'S8Zt6cB_NPU 1La4QzGeaaQ -xNN-bJQ4vI i6fWG4FxDZw'), +('243', 'Video', '360p30', 'VP9', 'S8Zt6cB_NPU 1La4QzGeaaQ -xNN-bJQ4vI i6fWG4FxDZw'), +('244', 'Video', '480p30', 'VP9', 'S8Zt6cB_NPU 1La4QzGeaaQ -xNN-bJQ4vI i6fWG4FxDZw'), +('247', 'Video', '720p30', 'VP9', 'S8Zt6cB_NPU 1La4QzGeaaQ -xNN-bJQ4vI i6fWG4FxDZw'), +('248', 'Video', '1080p30', 'VP9', 'S8Zt6cB_NPU 1La4QzGeaaQ -xNN-bJQ4vI i6fWG4FxDZw'), +('249', 'Audio', '50k', 'Opus', 'S8Zt6cB_NPU'), +('250', 'Audio', '70k', 'Opus', 'S8Zt6cB_NPU'), +('251', 'Audio', '160k', 'Opus', 'S8Zt6cB_NPU'), +('256', 'Audio', '195k', 'm4a', 'NMANRHz4UAY'), +('258', 'Audio', '386k', 'm4a', 'NMANRHz4UAY'), +('264', 'Video', '1440p30', 'AVC', '-xNN-bJQ4vI i6fWG4FxDZw'), +('266', 'Video', '2160p30', 'AVC', '-xNN-bJQ4vI i6fWG4FxDZw'), +('271', 'Video', '1440p30', 'VP9', 'kFz9afj8lu0 1La4QzGeaaQ -xNN-bJQ4vI i6fWG4FxDZw'), +('272', 'Video', '4320p30', 'VP9', 'i6fWG4FxDZw'), +('278', 'Video', '144p30', 'VP9', 'S8Zt6cB_NPU 1La4QzGeaaQ -xNN-bJQ4vI i6fWG4FxDZw'), +('298', 'Video', '720p60', 'AVC', '1La4QzGeaaQ -xNN-bJQ4vI'), +('299', 'Video', '1080p60', 'AVC', '1La4QzGeaaQ -xNN-bJQ4vI'), +('302', 'Video', '720p60', 'VP9', '1La4QzGeaaQ -xNN-bJQ4vI'), +('303', 'Video', '1080p60', 'VP9', '1La4QzGeaaQ -xNN-bJQ4vI'), +('304', 'Video', '1440p60', 'AVC', '-xNN-bJQ4vI'), +('305', 'Video', '2160p60', 'AVC', '-xNN-bJQ4vI'), +('308', 'Video', '1440p60', 'VP9', '1La4QzGeaaQ -xNN-bJQ4vI'), +('313', 'Video', '2160p30', 'VP9', 'kFz9afj8lu0 1La4QzGeaaQ -xNN-bJQ4vI i6fWG4FxDZw'), +('315', 'Video', '2160p60', 'VP9', '1La4QzGeaaQ -xNN-bJQ4vI'), +('330', 'Video', '144p60 HDR', 'VP9', '1La4QzGeaaQ'), +('331', 'Video', '240p60 HDR', 'VP9', '1La4QzGeaaQ'), +('332', 'Video', '360p60 HDR', 'VP9', '1La4QzGeaaQ'), +('333', 'Video', '480p60 HDR', 'VP9', '1La4QzGeaaQ'), +('334', 'Video', '720p60 HDR', 'VP9', '1La4QzGeaaQ'), +('335', 'Video', '1080p60 HDR', 'VP9', '1La4QzGeaaQ'), +('336', 'Video', '1440p60 HDR', 'VP9', '1La4QzGeaaQ'), +('337', 'Video', '2160p60 HDR', 'VP9', '1La4QzGeaaQ'), +('394', 'Video', '144p30', 'AV1', 'S8Zt6cB_NPU 1La4QzGeaaQ'), +('395', 'Video', '240p30', 'AV1', 'S8Zt6cB_NPU 1La4QzGeaaQ'), +('396', 'Video', '360p30', 'AV1', 'S8Zt6cB_NPU 1La4QzGeaaQ'), +('397', 'Video', '480p30', 'AV1', 'S8Zt6cB_NPU 1La4QzGeaaQ'), +('398', 'Video', '720p60', 'AV1', '1La4QzGeaaQ'), +('399', 'Video', '1080p60', 'AV1', '1La4QzGeaaQ'), +('400', 'Video', '1440p60', 'AV1', 'kFz9afj8lu0 1La4QzGeaaQ'), +('401', 'Video', '2160p60', 'AV1', 'kFz9afj8lu0 1La4QzGeaaQ'), +('571', 'Video', '4320p60', 'AV1', 'kFz9afj8lu0 1La4QzGeaaQ'); -.headers on +.headers off .print Youtube-dl format code cheatsheet .print ================================= @@ -57,41 +63,58 @@ INSERT INTO formats VALUES .print You can pass them to youtube-dl as `--format a+b/c+d/e`, .print where a+b is your preferred video+audio pair, c+d is your second-best .print preference, and e is your last resort. -.print "Don't forget the magic words like \"bestvideo\", \"bestaudio\" to round out your selection." +.print Don't forget the magic words like \"bestvideo\", \"bestaudio\" to round out your selection. .print .print See https://github.com/ytdl-org/youtube-dl/blob/master/README.md#format-selection .print +.print There are more formats listed in [youtube-dl's source code](https://github.com/ytdl-org/youtube-dl/blob/eb6181759f3a784d7b77ec9d2ec1a65dfd695d92/youtube_dl/extractor/youtube.py#L430), +.print but some of them seem to be obsolete and are no longer returned by `-F` +.print even when using the example video IDs listed there. I will only include +.print codes for which I have an example. +.print .print ## Video formats .print -SELECT id, quality, codec FROM formats WHERE kind == "Video" ORDER BY CAST(quality AS DECIMAL) DESC, quality DESC, codec ASC; +.print id | quality | codec | examples +.print -: | -: | -: | :- +SELECT id, quality, codec, "`youtube-dl -F "||examples||"`" FROM formats WHERE kind == "Video" ORDER BY CAST(quality AS DECIMAL) DESC, quality DESC, codec ASC; .print .print ### AVC only .print -SELECT id, quality, codec FROM formats WHERE codec == "AVC" ORDER BY CAST(quality AS DECIMAL) DESC, quality DESC; +.print id | quality | codec | examples +.print -: | -: | -: | :- +SELECT id, quality, codec, "`youtube-dl -F "||examples||"`" FROM formats WHERE codec == "AVC" ORDER BY CAST(quality AS DECIMAL) DESC, quality DESC; .print .print ### VP9 only .print -SELECT id, quality, codec FROM formats WHERE codec == "VP9" ORDER BY CAST(quality AS DECIMAL) DESC, quality DESC; +.print id | quality | codec | examples +.print -: | -: | -: | :- +SELECT id, quality, codec, "`youtube-dl -F "||examples||"`" FROM formats WHERE codec == "VP9" ORDER BY CAST(quality AS DECIMAL) DESC, quality DESC; .print .print ### AV1 only .print -SELECT id, quality, codec FROM formats WHERE codec == "AV1" ORDER BY CAST(quality AS DECIMAL) DESC, quality DESC; +.print id | quality | codec | examples +.print -: | -: | -: | :- +SELECT id, quality, codec, "`youtube-dl -F "||examples||"`" FROM formats WHERE codec == "AV1" ORDER BY CAST(quality AS DECIMAL) DESC, quality DESC; .print .print ## Audio formats .print -SELECT id, quality, codec FROM formats WHERE kind == "Audio" ORDER BY CAST(quality AS DECIMAL) DESC, quality DESC, codec ASC; +.print id | quality | codec | examples +.print -: | -: | -: | :- +SELECT id, quality, codec, "`youtube-dl -F "||examples||"`" FROM formats WHERE kind == "Audio" ORDER BY CAST(quality AS DECIMAL) DESC, quality DESC, codec ASC; .print .print ## Combined formats .print -SELECT id, quality, codec FROM formats WHERE kind == "Combined" ORDER BY CAST(quality AS DECIMAL) DESC, quality DESC, codec ASC; +.print id | quality | codec | examples +.print -: | -: | -: | :- +SELECT id, quality, codec, "`youtube-dl -F "||examples||"`" FROM formats WHERE kind == "Combined" ORDER BY CAST(quality AS DECIMAL) DESC, quality DESC, codec ASC; .print -.print This document is generated [programmatically](youtubedl_formats.sql) (with the manual addition of :- for md tables). +.print This document is generated [programmatically](youtubedl_formats.sql). .print .print " sqlite3 :memory: \".read youtubedl_formats.sql\" > youtubedl_formats.md"