{"id":356814,"date":"2024-05-20T23:37:33","date_gmt":"2024-05-20T23:37:33","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=356814"},"modified":"-0001-11-30T00:00:00","modified_gmt":"2024-05-20T23:37:33","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=356814","title":{"rendered":"<span>\u0412\u0437\u043b\u043e\u043c YouTube \u0434\u043b\u044f \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u044f \u0432\u0438\u0434\u0435\u043e<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-1\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\"><a href=\"https:\/\/habr.com\/ru\/companies\/ruvds\/articles\/765798\/\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/ie\/cp\/pt\/iecpptwg7vxlue9k68lgasf3ilu.png\" align=\"left\" width=\"275\" data-src=\"https:\/\/habrastorage.org\/webt\/ie\/cp\/pt\/iecpptwg7vxlue9k68lgasf3ilu.png\"\/><\/a>\u041c\u044b \u043d\u0435\u043e\u0434\u043d\u043e\u043a\u0440\u0430\u0442\u043d\u043e \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u043b\u0438 \u043e <a href=\"https:\/\/habr.com\/ru\/companies\/ruvds\/articles\/716058\/\">\u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u043c \u0441\u043e\u0444\u0442\u0435<\/a>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 <a href=\"https:\/\/habr.com\/ru\/companies\/ruvds\/articles\/760716\/\">\u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0442\u044c \u0432\u0438\u0434\u0435\u043e \u0441 YouTube<\/a>. \u042d\u0442\u043e \u0432 \u043f\u0435\u0440\u0432\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c <a href=\"https:\/\/github.com\/ytdl-org\/youtube-dl\/\">youtube-dl<\/a> (yt-dl) \u0438 \u0435\u0433\u043e \u043a\u043b\u043e\u043d\u044b, \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a <a href=\"https:\/\/github.com\/yt-dlp\/yt-dlp\">yt-dlp<\/a> \u0438 <a href=\"https:\/\/github.com\/blackjack4494\/yt-dlc\">yt-dlc<\/a>. \u0421 \u043d\u0438\u043c\u0438 \u0432\u043e\u044e\u044e\u0442 \u043c\u043e\u0433\u0443\u0447\u0438\u0435 \u043a\u043e\u043f\u0438\u0440\u0430\u0441\u0442\u044b, \u043f\u044b\u0442\u0430\u044e\u0442\u0441\u044f \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0438\u0445 \u0438\u0437 \u043f\u043e\u0438\u0441\u043a\u043e\u0432\u043e\u0439 \u0432\u044b\u0434\u0430\u0447\u0438, \u0441 \u0445\u043e\u0441\u0442\u0438\u043d\u0433\u043e\u0432, \u0441 Github \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435, \u043f\u043e \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e\u0439 \u0441\u0445\u0435\u043c\u0435 \u00ab\u0442\u043e\u0442\u0430\u043b\u044c\u043d\u0430\u044f \u0432\u043e\u0439\u043d\u0430\u00bb. <\/p>\n<p>  \u041d\u043e \u0433\u043b\u0430\u0432\u043d\u044b\u043c \u0432\u0440\u0430\u0433\u043e\u043c \u0434\u043b\u044f \u044d\u0442\u0438\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u043e\u0441\u0442\u0430\u044e\u0442\u0441\u044f \u0434\u0430\u0436\u0435 \u043d\u0435 \u043f\u0440\u0430\u0432\u043e\u043e\u0431\u043b\u0430\u0434\u0430\u0442\u0435\u043b\u0438, \u0430 \u0437\u043b\u043e\u0431\u043d\u0430\u044f \u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0446\u0438\u044f Google, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0432\u043d\u043e\u0441\u0438\u0442 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 YouTube API, \u0447\u0442\u043e\u0431\u044b <s>\u043f\u0440\u0435\u043a\u0440\u0430\u0442\u0438\u0442\u044c \u0437\u043b\u043e\u0443\u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u044f \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u043c<\/s> \u043f\u043e\u043c\u0435\u0448\u0430\u0442\u044c \u043b\u044e\u0434\u044f\u043c \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0442\u044c \u0444\u0430\u0439\u043b\u044b, \u0432\u0435\u0434\u044c \u043e\u0442 \u044d\u0442\u043e\u0433\u043e Google \u043d\u0438\u043a\u0430\u043a\u043e\u0439 \u043f\u0440\u0438\u0431\u044b\u043b\u0438.<\/p>\n<p>  \u0421\u0430\u043c\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043a\u0438\u00a0\u2014 \u043f\u0440\u043e\u0441\u0442\u043e \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0434\u043b\u044f \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u044f <i>\u043e\u0431\u0449\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0433\u043e<\/i> \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430, \u043e\u043d\u0438 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0432\u043e\u0440\u0443\u044e\u0442 \u0438 \u043d\u0435 \u043f\u0438\u0440\u0430\u0442\u044f\u0442. \u041f\u0440\u043e\u0441\u0442\u043e \u0434\u043e\u0441\u0442\u0443\u043f \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043d\u0435\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0435 \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043d \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e. \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u044d\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f.<br \/>  <a name=\"habracut\"><\/a><br \/>  \u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 <a href=\"https:\/\/github.com\/ytdl-org\/youtube-dl\/\">yt-dl<\/a> \u0438 \u0441\u0430\u043c\u043e\u0433\u043e \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0433\u043e \u043a\u043b\u043e\u043d\u0430 <a href=\"https:\/\/github.com\/yt-dlp\/yt-dlp\">yt-dlp<\/a> \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u044b \u043d\u0430 Python \u0438 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u044b \u043d\u0430 Github. \u0412\u0441\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 YouTube API, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0431\u043e\u0440\u044c\u0431\u044b \u043a\u0430\u043a \u0440\u0430\u0437 \u0441 \u044d\u0442\u0438\u043c\u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u0430\u043c\u0438.<\/p>\n<p>  \u041d\u0438\u0436\u0435 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u044b \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u043a YouTube API \u0438\u0437 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438. \u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a\u0438\u0435 \u0436\u0435 \u00ab\u0445\u0430\u043a\u0435\u0440\u0441\u043a\u0438\u0435\u00bb \u0441\u043f\u043e\u0441\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0432 <code>yt-dl<\/code> \u0438 <code>yt-dlp<\/code>.<\/p>\n<h2><font color=\"#3AC1EF\">\u258d \u041a\u0430\u043a \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c URL \u0444\u0430\u0439\u043b\u0430 \u0434\u043b\u044f \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u044f<\/font><\/h2>\n<p>  \u0423 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0432\u0438\u0434\u0435\u043e YouTube \u0435\u0441\u0442\u044c \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u0437\u044f\u0442\u044c \u043b\u0435\u043a\u0446\u0438\u044e \u043f\u043e \u0432\u0432\u0435\u0434\u0435\u043d\u0438\u044e \u0432 \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u0438 \u0441 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0433\u043e \u0441\u0442\u044d\u043d\u0444\u043e\u0440\u0434\u0441\u043a\u043e\u0433\u043e \u043a\u0443\u0440\u0441\u0430 CS229 (\u00ab\u041c\u0430\u0448\u0438\u043d\u043d\u043e\u0435 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435\u00bb):<\/p>\n<pre><code class=\"plaintext\">https:\/\/www.youtube.com\/watch?v=MfIjxPh6Pys<\/code><\/pre>\n<p>  \u0417\u0434\u0435\u0441\u044c \u044d\u0442\u043e <code>MfIjxPh6Pys<\/code>.<\/p>\n<p>  \u0427\u0442\u043e\u0431\u044b \u0438\u0437 \u043a\u043e\u043d\u0441\u043e\u043b\u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 \u0432\u0438\u0434\u0435\u043e\u0444\u0430\u0439\u043b \u0434\u043b\u044f \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0433\u043e \u043f\u043b\u0435\u0435\u0440\u0430, \u043e\u0431\u0440\u0430\u0449\u0430\u0435\u043c\u0441\u044f \u043a YouTube API \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u043e\u0439 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f API. \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u0435\u043b\u044c <code>\/youtubei\/v1\/player<\/code>. \u041f\u043e\u0434 Linux \u0441 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u043e\u0439 \u0443\u0442\u0438\u043b\u0438\u0442\u043e\u0439 <code>http<\/code> \u0437\u0430\u0434\u0430\u043d\u0438\u0435 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430, \u0437\u0430\u043f\u0440\u043e\u0441 URL \u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<pre><code class=\"bash\">$ echo -n '{\"videoId\":\"MfIjxPh6Pys\",\"context\":{\"client\":{\"clientName\":\"WEB\",\"clientVersion\":\"2.20230810.05.00\"}}}' |    http post 'https:\/\/www.youtube.com\/youtubei\/v1\/player' |   jq -r '.streamingData.adaptiveFormats[0].url'<\/code><\/pre>\n<p>  \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:<\/p>\n<pre><code class=\"bash\">https:\/\/rr1---sn-cxauxaxjvh-hn9ee.googlevideo.com\/videoplayback?expire=1696595317&amp;ei=FakfZfXlEtGlv_IPxNaV2AU&amp;ip=37.214.30.90&amp;id=o-AMiXDDvzOJHVfbTdoHu7xOdk9fvOq9m84I3Wzk753Yu5&amp;itag=137&amp;aitags=133%2C134%2C135%2C136%2C137%2C160%2C242%2C243%2C244%2C247%2C248%2C278&amp;source=youtube&amp;requiressl=yes&amp;mh=Rz&amp;mm=31%2C26&amp;mn=sn-cxauxaxjvh-hn9ee%2Csn-4g5edndd&amp;ms=au%2Conr&amp;mv=m&amp;mvi=1&amp;pl=23&amp;initcwndbps=1002500&amp;spc=UWF9fzcbe7KrcWzhYWx5WsJlt_lA6NVDpNGO3Cm8sw&amp;vprv=1&amp;svpuc=1&amp;mime=video%2Fmp4&amp;ns=P1X5iZALtEvoq7t3wbLWUZ4P&amp;gir=yes&amp;clen=948670888&amp;dur=4813.466&amp;lmt=1587563951213289&amp;mt=1696573267&amp;fvip=4&amp;keepalive=yes&amp;fexp=24007246&amp;beids=24350018&amp;c=WEB&amp;txp=5316222&amp;n=eCX-4hI1kOARp7xm&amp;sparams=expire%2Cei%2Cip%2Cid%2Caitags%2Csource%2Crequiressl%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cns%2Cgir%2Cclen%2Cdur%2Clmt&amp;sig=AGM4YrMwRAIgT-QJYv9PrBilbApceUYThL_ioh_3bimU0gGWaMXw2HACIAZMSJ8EB_eiu_TJDm77Z0PQUFRuKSJlqX-RDXsQzxoK&amp;lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&amp;lsig=AK1ks_kwRAIgSFJb5d1DNHo8RRoocYbq_YW_QDeKOp_BVnEfD3sHNoMCIB5lV1AM1hiZ75rOHfnY5DRk71AVcE-K3Bo2kMxi6_6x<\/code><\/pre>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/j2\/x7\/l2\/j2x7l2qrab9liuzs4pqwzysdogm.png\" data-src=\"https:\/\/habrastorage.org\/webt\/j2\/x7\/l2\/j2x7l2qrab9liuzs4pqwzysdogm.png\"\/><\/p>\n<p>  \u0410\u0434\u0440\u0435\u0441 \u043c\u043e\u0436\u043d\u043e \u0442\u0430\u043a\u0436\u0435 \u0432\u0437\u044f\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Developer Tools \u043d\u0430 \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0439 \u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435.<\/p>\n<p>  \u042d\u0442\u043e \u0438 \u0435\u0441\u0442\u044c \u0438\u0441\u043a\u043e\u043c\u044b\u0439 URL. \u0424\u043e\u0440\u043c\u0430\u0442 \u0435\u0433\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439:<\/p>\n<pre><code class=\"json\">Protocol: https Hostname: rr1---sn-cxauxaxjvh-hn9ee.googlevideo.com Path name: \/videoplayback Query Parameters:   expire: 1696595317   ei: FakfZfXlEtGlv_IPxNaV2AU   ip: 37.214.30.90   id: o-AMiXDDvzOJHVfbTdoHu7xOdk9fvOq9m84I3Wzk753Yu5   itag: 137   aitags: 133,134,135,136,137,160,242,243,244,247,248,278   source: youtube   requiressl: yes   mh: Rz   mm: 31,26   mn: sn-cxauxaxjvh-hn9ee\/Csn-4g5edndd   ms: au   mv: m   mvi: 1   pl: 23   initcwndbps: 1002500   spc: UWF9fzcbe7KrcWzhYWx5WsJlt_lA6NVDpNGO3Cm8sw   vprv: 1   svpuc: 1   mime: video\/mp4   ns: P1X5iZALtEvoq7t3wbLWUZ4P   gir: yes   clen: 948670888   dur: 4813.466   lmt: 1587563951213289   mt: 1696573267   fvip: 4   keepalive: yes   fexp: 24007246   beids: 24350018   c: WEB   txp: 5316222   n: eCX-4hI1kOARp7xm   sparams: expire,ei,ip,id,aitags,source,requiressl,spc,vprv,svpuc,mime,ns,gir,clen,dur,lmt   sig: AGM4YrMwRAIgT-QJYv9PrBilbApceUYThL_ioh_3bimU0gGWaMXw2HACIAZMSJ8EB_eiu_TJDm77Z0PQUFRuKSJlqX-RDXsQzxoK   lsparams: mh,mm,mn,ms,mv,mvi,pl,initcwndbps   lsig: AK1ks_kwRAIgSFJb5d1DNHo8RRoocYbq_YW_QDeKOp_BVnEfD3sHNoMCIB5lV1AM1hiZ75rOHfnY5DRk71AVcE-K3Bo2kMxi6_6x<\/code><\/pre>\n<p>  \u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0437 \u044d\u0442\u0438\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 YouTube API \u043e\u043f\u0438\u0441\u0430\u043d\u044b \u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 <s>YouTube<\/s> <code>yt-dlp<\/code>, \u043d\u043e \u043d\u0430\u043c \u043e\u043d\u0438 \u0432\u0440\u043e\u0434\u0435 \u0431\u044b \u043d\u0435 \u043d\u0443\u0436\u043d\u044b. \u041a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u0431\u044b, \u0431\u0435\u0440\u0451\u043c URL \u0438 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u043c, \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0432\u0430\u043b\u0438\u0434\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441. \u041d\u043e \u043d\u0435 \u0432\u0441\u0451 \u0442\u0430\u043a \u043f\u0440\u043e\u0441\u0442\u043e.<\/p>\n<h2><font color=\"#3AC1EF\">\u258d \u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438<\/font><\/h2>\n<p>  \u0414\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e YouTube (Google) \u0432\u0441\u044f\u0447\u0435\u0441\u043a\u0438 \u043c\u0435\u0448\u0430\u0435\u0442 \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u044b\u043c \u043a\u043b\u0438\u0435\u043d\u0442\u0430\u043c \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0442\u044c \u0432\u0438\u0434\u0435\u043e\u0444\u0430\u0439\u043b\u044b \u043d\u0430 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438, \u0440\u0430\u0441\u0446\u0435\u043d\u0438\u0432\u0430\u044f \u044d\u0442\u043e \u043a\u0430\u043a \u043d\u0435\u043b\u0435\u0433\u0430\u043b\u044c\u043d\u043e\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0432\u043e\u0438\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043e \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438. <\/p>\n<p>  \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u0432\u044b\u0448\u0435\u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0439 URL \u0431\u0435\u0437 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f. \u0418\u0437 \u043a\u043e\u043d\u0441\u043e\u043b\u0438:<\/p>\n<p>  <code>$ http --print=b --download 'https:\/\/rr1---sn-cxauxaxjvh-hn9ee.googlevideo.com\/videoplayback?expire=1696595317&amp;ei=FakfZ[\u0438 \u0442.\u00a0\u0434.]'<\/code><\/p>\n<p>  \u0418 \u043c\u044b \u0443\u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u044f \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u043f\u0440\u0435\u0432\u044b\u0448\u0430\u0435\u0442 30\u221250\u00a0\u041a\u0411\/\u0441:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/rh\/wh\/za\/rhwhza2gwyezwg4unh5ilk-qffg.png\" data-src=\"https:\/\/habrastorage.org\/webt\/rh\/wh\/za\/rhwhza2gwyezwg4unh5ilk-qffg.png\"\/><\/p>\n<p>  \u041d\u043e \u043d\u0430 \u0442\u0430\u043a\u043e\u0439 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u043d\u0430\u0448\u0430 \u043b\u0435\u043a\u0446\u0438\u044f \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e 1\u00a0\u0447\u00a020\u00a0\u043c\u0438\u043d \u0431\u0443\u0434\u0435\u0442 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u043f\u044f\u0442\u044c \u0441 \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u043e\u0439 \u0447\u0430\u0441\u043e\u0432. \u041d\u0430\u043b\u0438\u0446\u043e \u044f\u0432\u043d\u043e\u0435 \u043d\u0435\u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0435. <\/p>\n<p>  \u041f\u043e\u0445\u043e\u0436\u0435, \u0432 YouTube \u0437\u0430\u043b\u043e\u0436\u0435\u043d \u043b\u0438\u043c\u0438\u0442 \u043d\u0430 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u044f \u0432\u0438\u0434\u0435\u043e \u043f\u0440\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0435 \u0447\u0435\u0440\u0435\u0437 API, \u0430 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u043e\u0431\u0445\u043e\u0434\u0438\u0442 \u044d\u0442\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435. \u0418 \u043d\u0430\u0448\u0438 \u043b\u044e\u0431\u0438\u043c\u044b\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043a\u0438 \u0432\u0440\u043e\u0434\u0435 <code>yt-dlp<\/code> \u0442\u043e\u0436\u0435 \u0435\u0433\u043e \u043e\u0431\u0445\u043e\u0434\u044f\u0442. \u041a\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c? \u0412\u0441\u0451 \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0442\u043e: \u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f, \u043d\u0430\u0448 URL \u00ab\u043d\u0435\u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0439\u00bb, \u043e\u0431\u043c\u0430\u043d\u043a\u0430, \u0430 \u0434\u043b\u044f \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u044f \u043d\u0430 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0435\u0433\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043d\u0435\u043c\u043d\u043e\u0436\u043a\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c.<\/p>\n<h2><font color=\"#3AC1EF\">\u258d \u0412\u0437\u043b\u043e\u043c \u0437\u0430\u0449\u0438\u0442\u044b<\/font><\/h2>\n<p>  \u041a\u0430\u043a <a href=\"https:\/\/blog.0x7d0.dev\/history\/how-they-bypass-youtube-video-download-throttling\/\">\u043e\u0431\u044a\u044f\u0441\u043d\u044f\u0435\u0442<\/a> \u0445\u0430\u043a\u0435\u0440 <i>0x7D0<\/i> (\u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e, \u043e\u043d \u0432\u0445\u043e\u0434\u0438\u0442 \u0432 \u0447\u0438\u0441\u043b\u043e \u043a\u043e\u043d\u0442\u0440\u0438\u0431\u044c\u044e\u0442\u043e\u0440\u043e\u0432 <code>yt-dlp<\/code> \u0438\/\u0438\u043b\u0438 <a href=\"https:\/\/newpipe.net\/\">NewPipe<\/a>), \u0432 2021 \u0433\u043e\u0434\u0443 \u0432 YouTube API \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 <code>n<\/code> \u0432 \u0432\u044b\u0448\u0435\u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u043c URL (<code>n: eCX-4hI1kOARp7xm<\/code>). \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e JS-\u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430, \u043f\u0440\u0438\u0432\u0435\u0434\u0451\u043d\u043d\u043e\u0433\u043e \u0432 \u0444\u0430\u0439\u043b\u0435 <code>base.js<\/code> \u043d\u0430 \u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u0441\u043e \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u043c \u043f\u043b\u0435\u0435\u0440\u043e\u043c (\u043c\u044b \u0436\u0435 \u0443\u043a\u0430\u0437\u0430\u043b\u0438 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442, \u0447\u0442\u043e \u0432\u044b\u0434\u0430\u0451\u043c \u0441\u0435\u0431\u044f \u0437\u0430 YouTube-\u043f\u043b\u0435\u0435\u0440).<\/p>\n<p>  \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u0441\u0432\u043e\u0435\u0433\u043e \u0440\u043e\u0434\u0430 DRM, \u0442\u043e \u0435\u0441\u0442\u044c \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u0432\u0430\u043b\u0438\u0434\u043d\u043e\u0441\u0442\u0438 \u0441\u0430\u0439\u0442\u0430, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u043f\u043b\u0435\u0435\u0440. \u0415\u0441\u043b\u0438 URL \u043d\u0435 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443, \u0442\u043e YouTube \u043e\u0431\u0440\u0435\u0437\u0430\u0435\u0442 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u044f, \u043a\u0430\u043a \u0432 \u043d\u0430\u0448\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435.<\/p>\n<p>  \u0422\u0430\u043a \u0447\u0442\u043e \u0434\u043b\u044f \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u043e\u0432 \u0441 YouTube \u043d\u0430 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0431\u0435\u0437 \u0444\u0430\u0439\u043b\u0430 <code>base.js<\/code> \u043d\u0435 \u043e\u0431\u043e\u0439\u0442\u0438\u0441\u044c. \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0432\u044b\u0448\u0435\u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\u044b\u0439 JS-\u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c (DRM) \u043e\u0431\u0444\u0443\u0441\u0446\u0438\u0440\u043e\u0432\u0430\u043d \u0438 \u0447\u0430\u0441\u0442\u043e \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f, \u0444\u0430\u0439\u043b \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0442\u044c \u0441 \u0441\u0430\u0439\u0442\u0430 YouTube \u0438\u043b\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0442\u044c \u0435\u0433\u043e \u0432 \u0441\u0432\u043e\u0435\u0439 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438, \u043a\u043e\u0433\u0434\u0430 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430. \u041a\u0430\u043a \u0432\u0430\u0440\u0438\u0430\u043d\u0442, <i>0x7D0<\/i> \u043f\u0443\u0431\u043b\u0438\u043a\u0443\u0435\u0442 JS-\u043a\u043e\u0434 \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u0430 <code>base.js<\/code>, \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u044f \u043a\u043e\u0434\u0430 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430, \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0435\u043c\u0443 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 <code>n<\/code> \u0438 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430. \u0422\u0430\u043a\u043e\u0439 \u0441\u043a\u0440\u0438\u043f\u0442 \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043d\u043e\u0432\u044b\u0439 URL \u0438 \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u0444\u0430\u0439\u043b \u043d\u0430 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438.<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u0421\u043a\u0440\u0438\u043f\u0442 \u0434\u043b\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f n<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"javascript\">import axios from 'axios'; import vm from 'vm'  const videoId = 'aqz-KE-bpKQ';  \/**  * From the Youtube API, retrieve metadata about the video (title, video format and audio format)  *\/ async function retrieveMetadata(videoId) {     const response = await axios.post('https:\/\/www.youtube.com\/youtubei\/v1\/player', {         \"videoId\": videoId,         \"context\": {             \"client\": { \"clientName\": \"WEB\", \"clientVersion\": \"2.20230810.05.00\" }         }     });      const formats = response.data.streamingData.adaptiveFormats;      return [         response.data.videoDetails.title,         formats.filter(w => w.mimeType.startsWith(\"video\/webm\"))[0],          formats.filter(w => w.mimeType.startsWith(\"audio\/webm\"))[0],     ]; }  \/**  * From the Youtube Web Page, retrieve the challenge algorithm for the n query parameter  *\/ async function retrieveChallenge(video_id){      \/**      * Find the URL of the javascript file for the current player version      *\/     async function retrieve_player_url(video_id) {         let response = await axios.get('https:\/\/www.youtube.com\/embed\/' + video_id);         let player_hash = \/\\\/s\\\/player\\\/(\\w+)\\\/player_ias.vflset\\\/\\w+\\\/base.js\/.exec(response.data)[1]         return `https:\/\/www.youtube.com\/s\/player\/${player_hash}\/player_ias.vflset\/en_US\/base.js`     }      const player_url = await retrieve_player_url(video_id);      const response = await axios.get(player_url);     let challenge_name = \/\\.get\\(\"n\"\\)\\)&amp;&amp;\\(b=([a-zA-Z0-9$]+)(?:\\[(\\d+)\\])?\\([a-zA-Z0-9]\\)\/.exec(response.data)[1];     challenge_name = new RegExp(`var ${challenge_name}\\\\s*=\\\\s*\\\\[(.+?)\\\\]\\\\s*[,;]`).exec(response.data)[1];      const challenge = new RegExp(`${challenge_name}\\\\s*=\\\\s*function\\\\s*\\\\(([\\\\w$]+)\\\\)\\\\s*{(.+?}\\\\s*return\\\\ [\\\\w$]+.join\\\\(\"\"\\\\))};`, \"s\").exec(response.data)[2];      return challenge; }  \/**  * Solve the challenge and replace the n query parameter from the url  *\/ function solveChallenge(challenge, formatUrl) {     const url = new URL(formatUrl);      const n = url.searchParams.get(\"n\");     const n_transformed = vm.runInNewContext(`((a) => {${challenge}})('${n}')`);      url.searchParams.set(\"n\", n_transformed);     return url.toString(); }   const [title, video, audio] = await retrieveMetadata(videoId); const challenge = await retrieveChallenge(videoId);  video.url = solveChallenge(challenge, video.url); audio.url = solveChallenge(challenge, audio.url);  console.log(video.url);<\/code><\/pre>\n<\/div><\/div>\n<p>  \u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a \u0436\u0435 \u0434\u0435\u043b\u0430\u0435\u0442 <code>yt-dlp<\/code>. \u0414\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u044d\u0442\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438 \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u0432\u0441\u0442\u0440\u043e\u0435\u043d <a href=\"https:\/\/github.com\/ytdl-org\/youtube-dl\/blob\/master\/youtube_dl\/jsinterp.py\">\u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0439 \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440 JavaScript<\/a>.<\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043d\u043e\u0432\u044b\u0439 \u00ab\u0431\u044b\u0441\u0442\u0440\u044b\u0439\u00bb URL. \u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e, \u0447\u0442\u043e \u0434\u0430\u0436\u0435 \u0434\u043b\u044f \u043d\u0435\u0433\u043e \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u044e\u0442 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 YouTube, \u0447\u0442\u043e\u0431\u044b \u043e\u043d\u0430 \u043d\u0435 \u043f\u0440\u0435\u0432\u044b\u0448\u0430\u043b\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0439 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0434\u043b\u044f \u0444\u0430\u0439\u043b\u0430 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0438 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430, \u043d\u043e <code>yt-dlp<\/code> \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0432\u0437\u043b\u0430\u043c\u044b\u0432\u0430\u0435\u0442 \u0438 \u044d\u0442\u043e \u0432\u0442\u043e\u0440\u043e\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435. \u042d\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0441\u0442\u044b\u043c \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u043a \u0437\u0430\u043f\u0440\u043e\u0441\u0443 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 <code>&amp;range=start-end<\/code>. \u0424\u0430\u0439\u043b \u0440\u0430\u0437\u0431\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0447\u0430\u0441\u0442\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e. \u041f\u0440\u043e\u0441\u0442\u043e\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u0441\u0440\u0430\u0437\u0443 \u043a\u0430\u0440\u0434\u0438\u043d\u0430\u043b\u044c\u043d\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u0442 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c, \u043e\u0431\u044b\u0447\u043d\u043e \u0434\u043e \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0439 \u0434\u043b\u044f \u0432\u0430\u0448\u0435\u0433\u043e \u043a\u0430\u043d\u0430\u043b\u0430.<\/p>\n<p>  \u0411\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u044d\u0442\u0430 \u0442\u0435\u043c\u0430 \u043e\u0431\u0441\u0443\u0436\u0434\u0430\u0435\u0442\u0441\u044f \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 <code>yt-dlp<\/code> (<a href=\"https:\/\/github.com\/yt-dlp\/yt-dlp\/issues\/6400\">issue 6400<\/a>). \u0422\u0430\u043c \u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u0435 \u0432\u0435\u0434\u0451\u0442\u0441\u044f \u043f\u043e-\u043f\u0430\u0440\u0442\u0438\u0437\u0430\u043d\u0441\u043a\u0438: \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0438 <a href=\"https:\/\/github.com\/yt-dlp\/yt-dlp\/issues\/6400#issuecomment-1452718070\">\u043f\u043e\u044f\u0441\u043d\u044f\u044e\u0442<\/a>, \u0447\u0442\u043e Google \u0441\u043b\u0435\u0434\u0438\u0442 \u0438 \u0437\u0430 \u0441\u0430\u043c\u0438\u043c \u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u0435\u043c, \u0438 \u0437\u0430 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f\u043c\u0438 <code>yt-dlp<\/code>, \u0438 \u0441\u0432\u043e\u0435\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0432\u043d\u043e\u0441\u0438\u0442 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 \u0440\u0430\u0431\u043e\u0442\u0443 YouTube API, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0442\u0438\u0432\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u043c\u0435\u0442\u043e\u0434\u0430\u043c \u043e\u0431\u0445\u043e\u0434\u0430 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439.<\/p>\n<p>  \u041f\u043e\u0442\u043e\u043c \u0441\u043a\u0430\u0447\u0430\u043d\u043d\u044b\u0435 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u044b \u0441\u043a\u043b\u0435\u0438\u0432\u0430\u0435\u043c \u0432 \u0435\u0434\u0438\u043d\u043e\u0435 \u0446\u0435\u043b\u043e\u0435, \u043f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u044f \u0432\u0438\u0434\u0435\u043e \u0438 \u0437\u0432\u0443\u043a. \u0412\u043e\u0442 \u043f\u043e\u0447\u0435\u043c\u0443 <code>yt-dlp<\/code> \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0431\u0435\u0437 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u043e\u0433\u043e <code>ffmpeg<\/code> (\u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u0430\u044f \u043a\u043e\u043d\u0441\u043e\u043b\u044c\u043d\u0430\u044f \u0443\u0442\u0438\u043b\u0438\u0442\u0430 \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043c\u0435\u0434\u0438\u0430\u0444\u0430\u0439\u043b\u043e\u0432, \u0441\u043c. <a href=\"https:\/\/habr.com\/ru\/companies\/ruvds\/articles\/718384\/\">\u00ab\u0411\u0435\u0437\u0433\u0440\u0430\u043d\u0438\u0447\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 FFmpeg \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u0445\u00bb<\/a>). \u0412 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 FFmpeg \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e, \u043a\u0430\u043a \u0441\u043a\u043b\u0435\u0438\u0442\u044c \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u044b \u043e\u0434\u043d\u043e\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439. <\/p>\n<p>  \u041f\u0440\u043e\u0434\u0435\u043b\u0430\u0432 \u0432\u0441\u0435 \u044d\u0442\u0438 \u0448\u0430\u0433\u0438, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0442\u044c \u0432\u0438\u0434\u0435\u043e \u0441 YouTube \u043d\u0430 \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0434\u0430\u0436\u0435 \u0431\u0435\u0437 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f <code>yt-dlp<\/code> \u0438 \u0434\u0440. <\/p>\n<h2><font color=\"#3AC1EF\">\u258d \u0422\u0440\u0438 \u0433\u043e\u0434\u0430 \u0433\u043e\u043d\u0435\u043d\u0438\u0439<\/font><\/h2>\n<p>  \u041a\u0430\u043a \u0443\u0436\u0435 \u0431\u044b\u043b\u043e \u0441\u043a\u0430\u0437\u0430\u043d\u043e, \u044e\u0440\u0438\u0441\u0442\u044b \u043f\u0440\u0430\u0432\u043e\u043e\u0431\u043b\u0430\u0434\u0430\u0442\u0435\u043b\u0435\u0439 \u043f\u044b\u0442\u0430\u044e\u0442\u0441\u044f \u0432\u0441\u044f\u0447\u0435\u0441\u043a\u0438 \u043f\u043e\u043c\u0435\u0448\u0430\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0435 \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0445 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f YouTube. \u0425\u0443\u0436\u0435 \u0432\u0441\u0435\u0433\u043e, \u043a\u043e\u0433\u0434\u0430 \u0438\u0437\u044b\u043c\u0430\u044e\u0442\u0441\u044f \u0434\u043e\u043c\u0435\u043d\u044b, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0442\u043e\u0433\u0434\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c\u0441\u044f \u0438\u043b\u0438 \u043b\u043e\u043c\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u043a\u0430\u044f-\u043d\u0438\u0431\u0443\u0434\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0442\u0438\u043f\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u043e \u0431\u0430\u0433\u0430\u0445. \u041e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u043d\u0430 Github, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0438\u0442 Microsoft, \u0442\u0430\u043a \u0447\u0442\u043e \u0445\u0430\u043a\u0435\u0440\u0441\u043a\u0438\u0439 \u0441\u043e\u0444\u0442 \u0442\u0430\u043c \u043d\u0430 \u043f\u0442\u0438\u0447\u044c\u0438\u0445 \u043f\u0440\u0430\u0432\u0430\u0445.<\/p>\n<p>  \u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043c, \u0447\u0442\u043e YouTube \u043f\u043e\u043c\u0435\u043d\u044f\u043b API, \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 <code>yt-dl<\/code> \u0441\u043a\u0430\u0442\u0438\u043b\u0441\u044f \u0434\u043e \u0437\u0430\u0440\u0435\u0437\u0430\u043d\u043d\u043e\u0439 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438. \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0438\u0434\u0451\u0442 \u043d\u0430 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0430\u0439\u0442 \u0437\u0430 \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0435\u0439\u00a0\u2014 \u0438 \u0432\u0438\u0434\u0438\u0442 \u0442\u0430\u043c \u0442\u0430\u043a\u0443\u044e \u043a\u0430\u0440\u0442\u0438\u043d\u0443:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/rx\/jh\/zx\/rxjhzx7u5a8rku9q3k3dkjchqtk.png\" data-src=\"https:\/\/habrastorage.org\/webt\/rx\/jh\/zx\/rxjhzx7u5a8rku9q3k3dkjchqtk.png\"\/><br \/>  <i><font color=\"gray\">\u041a\u043e\u043d\u0444\u0438\u0441\u043a\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0434\u043e\u043c\u0435\u043d yt-dl.org. \u041e\u043d \u0443\u0436\u0435 \u0434\u0430\u0432\u043d\u043e \u0432 \u0442\u0430\u043a\u043e\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438<\/font><\/i><\/p>\n<p>  \u042e\u0440\u0438\u0434\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0430\u0442\u0430\u043a\u0430 \u043d\u0430 <code>youtube-dl<\/code> \u043d\u0430\u0447\u0430\u043b\u0430\u0441\u044c \u0440\u043e\u0432\u043d\u043e \u0442\u0440\u0438 \u0433\u043e\u0434\u0430 \u043d\u0430\u0437\u0430\u0434, \u043a\u043e\u0433\u0434\u0430 RIAA \u043f\u0440\u0438\u0441\u043b\u0430\u043b\u0430 <a href=\"https:\/\/github.com\/github\/dmca\/blob\/master\/2020\/10\/2020-10-23-RIAA.md\">DMCA-\u0437\u0430\u043f\u0440\u043e\u0441 \u043d\u0430 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f \u043d\u0430 Github<\/a> (\u0435\u0433\u043e \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0443\u0434\u0430\u043b\u0438\u043b\u0438, \u0430 \u043f\u043e\u0442\u043e\u043c \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0438). \u0418 \u0441 \u0442\u0435\u0445 \u043f\u043e\u0440 <code>youtube-dl<\/code> \u043f\u0440\u0435\u0441\u0441\u0443\u044e\u0442 \u043d\u0430 \u0432\u0441\u0435\u0445 \u0444\u0440\u043e\u043d\u0442\u0430\u0445.<\/p>\n<p>  \u0412 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0431\u0438\u0442\u0432\u0443 \u043f\u0440\u043e\u0442\u0438\u0432 <code>youtube-dl<\/code> \u043f\u0440\u0430\u0432\u043e\u043e\u0431\u043b\u0430\u0434\u0430\u0442\u0435\u043b\u0438 \u043c\u043e\u0433\u0443\u0442 \u043f\u0440\u0438 \u0436\u0435\u043b\u0430\u043d\u0438\u0438 \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0432\u044b\u0438\u0433\u0440\u0430\u043d\u043d\u043e\u0439, \u043e\u043d\u0438 \u043c\u043e\u0433\u0443\u0442 \u0441\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043f\u043e\u0431\u0435\u0434\u043d\u044b\u0435 \u043e\u0442\u0447\u0451\u0442\u044b \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0437\u0430\u0441\u043b\u0443\u0436\u0435\u043d\u043d\u044b\u0435 \u0431\u043e\u043d\u0443\u0441\u044b: \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0438 \u0438\u043d\u0442\u0435\u043d\u0441\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0443\u043f\u0430\u043b\u0438. \u041d\u043e \u043e\u043d\u0438 \u043d\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u044e\u0442, \u0447\u0442\u043e \u0432\u0441\u0451 \u044d\u0442\u043e \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u043e, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0432\u044b\u0448\u0435\u043b \u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u044b\u0439 \u0444\u043e\u0440\u043a <a href=\"https:\/\/github.com\/yt-dlp\/yt-dlp\">yt-dlp<\/a>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u0442\u0441\u044f \u043d\u0430 Github \u0441 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e\u043c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u0444\u043e\u0440\u043a\u043e\u0432. \u0421 1200-\u043c\u0438 \u043a\u043e\u043d\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0440\u0430\u043c\u0438 \u043e\u043d \u043d\u0430\u0441\u0442\u043e\u043b\u044c\u043a\u043e \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u0434\u0430\u0436\u0435 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 <code>yt-dl<\/code> \u0431\u044d\u043a\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u0442 \u0443 \u043d\u0435\u0433\u043e <a href=\"https:\/\/github.com\/ytdl-org\/youtube-dl\/commits\/master\/\">\u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0441\u0432\u043e\u0438\u0445 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0439<\/a>. \u0414\u0440\u0443\u0433\u0438\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438, \u044d\u0442\u043e\u0442 \u0444\u043e\u0440\u043a \u0443\u0436\u0435 \u043e\u0431\u043e\u0433\u043d\u0430\u043b \u043f\u043e \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u0438 \u0441\u0432\u043e\u0435\u0433\u043e \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044f (\u0442\u0430\u043c 790 \u043a\u043e\u043d\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0440\u043e\u0432). \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0442\u0430\u043a\u043e\u0435 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0441\u0432\u044f\u0437\u0430\u043d\u043e \u0441 \u0433\u043e\u043d\u0435\u043d\u0438\u044f\u043c\u0438 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/f9\/jk\/4s\/f9jk4s4prk_ght6gtpg4xtumd44.png\" data-src=\"https:\/\/habrastorage.org\/webt\/f9\/jk\/4s\/f9jk4s4prk_ght6gtpg4xtumd44.png\"\/><br \/>  <i><font color=\"gray\">\u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432 \u0432 \u043c\u0430\u0441\u0442\u0435\u0440 yt-dl (\u0432\u0432\u0435\u0440\u0445\u0443) \u0438 yt-dlp (\u0432\u043d\u0438\u0437\u0443)<\/font><\/i><\/p>\n<p>  \u041a\u0430\u043a \u0443\u0436\u0435 \u0431\u044b\u043b\u043e \u0441\u043a\u0430\u0437\u0430\u043d\u043e, \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 <code>youtube-dl<\/code> \u0438 <code>yt-dlp<\/code> \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 Python. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0432 \u043f\u0438\u0442\u043e\u043d\u043e\u0432\u0441\u043a\u043e\u0439 \u0441\u0440\u0435\u0434\u0435 \u0434\u0430\u0436\u0435 \u0431\u0435\u0437 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438. \u041e\u043d\u0438 \u0442\u0430\u043a\u0436\u0435 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u044e\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 \u0440\u043e\u0434\u043d\u043e\u0439 \u043f\u0438\u0442\u043e\u043d\u043e\u0432\u0441\u043a\u0438\u0439 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 <code>pip<\/code>. \u0425\u043e\u0442\u044f \u043f\u0440\u043e\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u0432\u0437\u044f\u0442\u044c \u0431\u0438\u043d\u0430\u0440\u043d\u0438\u043a\u0438 \u0438\u0437 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f \u043d\u0430 \u0442\u043e\u043c \u0436\u0435 GitHub \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u0445 \u0431\u0435\u0437 \u0432\u0441\u044f\u043a\u0438\u0445 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439.<\/p>\n<h2><font color=\"#3AC1EF\">\u258d \u0414\u0435\u0436\u0430 \u0432\u044e<\/font><\/h2>\n<p>  \u042d\u0442\u0430 \u0432\u043e\u0439\u043d\u0430 \u043a\u043e\u043f\u0438\u0440\u0430\u0441\u0442\u043e\u0432 \u0438\u0437 YouTube (Google) \u0441 \u044f\u043a\u043e\u0431\u044b \u00ab\u043f\u0438\u0440\u0430\u0442\u0441\u043a\u0438\u043c\u00bb \u0441\u043e\u0444\u0442\u043e\u043c \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0437\u0430\u0431\u0430\u0432\u043d\u043e, \u0432\u0435\u0434\u044c \u043d\u0430 \u0437\u0430\u0440\u0435 \u0441\u0432\u043e\u0435\u0433\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u044f <b><font color=\"#3AC1EF\">\u0441\u0430\u043c YouTube<\/font><\/b> \u0441\u0447\u0438\u0442\u0430\u043b\u0441\u044f \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u043f\u0438\u0440\u0430\u0442\u0441\u043a\u0438\u043c. <a href=\"https:\/\/habr.com\/ru\/articles\/162677\/\">\u041a\u0430\u043a \u0438 \u0440\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0438\u0439 \u0441\u0442\u0430\u0440\u0442\u0430\u043f \u0412\u041a\u043e\u043d\u0442\u0430\u043a\u0442\u0435<\/a>, \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043e\u043d \u0431\u044b\u0441\u0442\u0440\u043e \u043d\u0430\u0431\u0440\u0430\u043b \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u044c \u0437\u0430 \u0441\u0447\u0451\u0442 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043c\u043e\u0433\u043b\u0438 \u0431\u0435\u0437\u043d\u0430\u043a\u0430\u0437\u0430\u043d\u043d\u043e \u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u0442\u044c \u0442\u0430\u043c \u043d\u0435\u043b\u0438\u0446\u0435\u043d\u0437\u0438\u043e\u043d\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0435\u043d\u0442: \u0444\u0438\u043b\u044c\u043c\u044b, \u0441\u0435\u0440\u0438\u0430\u043b\u044b, \u043c\u0443\u043b\u044c\u0442\u0438\u043a\u0438 \u0438 \u043f\u0440. \u0418 \u043e\u043d\u0438 \u0442\u0430\u043c \u0434\u043e\u043b\u0433\u043e \u0432\u0438\u0441\u0435\u043b\u0438.<\/p>\n<p>  \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 2006\u00a0\u0433\u043e\u0434\u0443 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u044b \u0412\u0438\u043a\u0438\u043f\u0435\u0434\u0438\u0438 \u043e\u0431\u0441\u0443\u0436\u0434\u0430\u043b\u0438 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435 <a href=\"https:\/\/habr.com\/ru\/articles\/4773\/\">\u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0438\u0437 \u044d\u043d\u0446\u0438\u043a\u043b\u043e\u043f\u0435\u0434\u0438\u0438 \u0432\u0441\u0435 \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 YouTube<\/a>, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u00ab\u043b\u044c\u0432\u0438\u043d\u0430\u044f \u0434\u043e\u043b\u044f \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430 \u0442\u0430\u043c \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0438\u0440\u0430\u0442\u0441\u043a\u0438\u043c\u00bb. \u0422\u043e\u0433\u0434\u0430 YouTube \u043e\u0441\u043e\u0431\u043e \u043d\u0435 \u0441\u043f\u0435\u0448\u0438\u043b \u0431\u043e\u0440\u043e\u0442\u044c\u0441\u044f \u0441 \u044d\u0442\u0438\u043c \u044f\u0432\u043b\u0435\u043d\u0438\u0435\u043c. \u041d\u043e \u0441\u043f\u0443\u0441\u0442\u044f \u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044c \u043b\u0435\u0442 \u0443\u0436\u0435 \u0441\u0430\u043c \u0432\u043e\u0448\u0451\u043b \u0432 \u0447\u0438\u0441\u043b\u043e \u0440\u044c\u044f\u043d\u044b\u0445 \u043a\u043e\u043f\u0438\u0440\u0430\u0441\u0442\u043e\u0432. \u041d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043f\u043e\u0434\u0435\u043b\u0430\u0435\u0448\u044c, \u044d\u0442\u043e \u043a\u0430\u043f\u0438\u0442\u0430\u043b\u0438\u0437\u043c. \u041d\u0443 \u0430 \u0441 \u0412\u041a \u0432\u043e\u043e\u0431\u0449\u0435 \u0432\u0441\u0451 \u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u0441\u0435\u0439\u0447\u0430\u0441 \u043d\u0435\u043b\u0438\u0446\u0435\u043d\u0437\u0438\u043e\u043d\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0435\u043d\u0442 \u0432 \u0420\u0424 \u043f\u043e\u0447\u0442\u0438 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0440\u0430\u0437\u0440\u0435\u0448\u0451\u043d. <a href=\"https:\/\/www.ixbt.com\/news\/2022\/08\/25\/spiratili-u-piratov-kinoteatry-v-rossii-nachali-pokazyvat-filmy-s-neoficialnoj-ozvuchkoj.html\">\u0413\u043e\u0432\u043e\u0440\u044f\u0442<\/a>, \u0432 \u043f\u0440\u043e\u0448\u043b\u043e\u043c \u0433\u043e\u0434\u0443 \u0434\u0430\u0436\u0435 \u0432 \u043a\u0438\u043d\u043e\u0442\u0435\u0430\u0442\u0440\u0430\u0445 \u043a\u0440\u0443\u0442\u0438\u043b\u0438 \u043f\u0438\u0440\u0430\u0442\u043a\u0438 (\u0442\u043e\u043b\u044c\u043a\u043e \u0431\u0435\u0437 \u0440\u0435\u043a\u043b\u0430\u043c\u044b 1xbet), \u043c\u043e\u0436\u0435\u0442 \u0438 \u0441\u0435\u0439\u0447\u0430\u0441 \u0433\u0434\u0435-\u0442\u043e \u043a\u0440\u0443\u0442\u044f\u0442, \u043d\u0438\u043a\u0442\u043e \u0437\u0430 \u044d\u0442\u043e \u0443\u0436\u0435 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u043e\u0441\u043e\u0431\u043e \u043a\u0430\u0440\u0430\u0442\u044c.<\/p>\n<h2><font color=\"#3AC1EF\">\u258d \u0412\u044b\u0432\u043e\u0434\u044b<\/font><\/h2>\n<p>  \u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u0441 \u043d\u044b\u043d\u0435\u0448\u043d\u0435\u0439 \u0438\u0441\u0442\u043e\u0440\u0438\u0435\u0439 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0432\u044b\u0432\u043e\u0434 \u0442\u0430\u043a\u043e\u0432: \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0434\u043b\u044f \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u044f \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0442 \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 YouTube API, \u043f\u0440\u043e\u0441\u0442\u043e \u0432 \u0442\u0430\u043a\u043e\u043c \u0432\u0438\u0434\u0435, \u043a\u0430\u043a\u043e\u0439 \u043d\u0435 \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f \u043f\u0440\u0430\u0432\u043e\u043e\u0431\u043b\u0430\u0434\u0430\u0442\u0435\u043b\u044f\u043c. \u041d\u043e \u0442\u0435 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043c\u043e\u0433\u0443\u0442 \u043f\u043e\u0434\u0435\u043b\u0430\u0442\u044c, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043a\u043e\u0434 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u043e\u0442\u043a\u0440\u044b\u0442 \u0438 \u0441\u043f\u043e\u0441\u043e\u0431 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u043e\u043d\u044f\u0442\u0435\u043d, \u0442\u0430\u043a \u0447\u0442\u043e \u0442\u0430\u043a\u0438\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u043c\u043e\u0436\u0435\u0442 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043a\u0430\u0436\u0434\u044b\u0439 \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u0445 \u043d\u0438\u043a\u0442\u043e \u043d\u0435 \u0437\u0430\u043f\u0440\u0435\u0442\u0438\u0442. <\/p>\n<p>  \u041d\u0430\u043b\u0438\u0447\u0438\u0435 \u043a\u0443\u0447\u0438 \u00ab\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u043f\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 \u0432\u0438\u0434\u0435\u043e\u00bb \u0434\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u0430\u043a\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043b\u0435\u0433\u043a\u043e. \u041f\u0440\u0430\u0432\u0434\u0430, \u0435\u0441\u0442\u044c \u043d\u044e\u0430\u043d\u0441\u044b, \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445\u00a0\u2014 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u043d\u0430 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u044f. \u041d\u043e \u0432\u0441\u0451 \u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0448\u0438\u0442\u044c. \u0418 \u0432 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435 \u043c\u043e\u0436\u043d\u043e \u0441\u043f\u043e\u043a\u043e\u0439\u043d\u043e \u043e\u0431\u043e\u0439\u0442\u0438\u0441\u044c \u0434\u0430\u0436\u0435 \u0431\u0435\u0437 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0432\u0440\u043e\u0434\u0435 <code>yt-dlp<\/code> (\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435\u043c \u043f\u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438). \u0412\u043e\u0442 \u0447\u0442\u043e\u0431\u044b <i>\u0431\u044b\u0441\u0442\u0440\u043e<\/i> \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0442\u044c \u0431\u0435\u0437 \u043f\u043e\u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432, \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u043d\u0435\u043c\u043d\u043e\u0436\u043a\u043e \u0437\u0430\u043c\u043e\u0440\u043e\u0447\u0438\u0442\u044c\u0441\u044f. \u0412 \u0446\u0435\u043b\u043e\u043c \u0436\u0435, \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0442\u044c \u0444\u0430\u0439\u043b\u044b \u0441 YouTube \u043c\u043e\u0436\u043d\u043e \u0438 \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e.<\/p>\n<blockquote><p><b><font color=\"#3AC1EF\"><a href=\"https:\/\/t.me\/ruvds_community\">\u0423\u0437\u043d\u0430\u0432\u0430\u0439\u0442\u0435 \u043e \u043d\u043e\u0432\u044b\u0445 \u0430\u043a\u0446\u0438\u044f\u0445 \u0438 \u043f\u0440\u043e\u043c\u043e\u043a\u043e\u0434\u0430\u0445 \u043f\u0435\u0440\u0432\u044b\u043c\u0438 \u0438\u0437 \u043d\u0430\u0448\u0435\u0433\u043e Telegram-\u043a\u0430\u043d\u0430\u043b\u0430 ?<\/a><\/font><\/b><\/p><\/blockquote>\n<p><a href=\"http:\/\/ruvds.com\/ru-rub?utm_source=habr&amp;utm_medium=article&amp;utm_campaign=alizar&amp;utm_content=vzlom_youtube_dlya_bystrogo_skachivaniya_video\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/os\/g2\/ms\/osg2msglmcba81cfkh0vl0nlnu4.jpeg\" data-src=\"https:\/\/habrastorage.org\/webt\/os\/g2\/ms\/osg2msglmcba81cfkh0vl0nlnu4.jpeg\" data-blurred=\"true\"\/><\/a><\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/765798\/\"> https:\/\/habr.com\/ru\/articles\/765798\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-1\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\"><a href=\"https:\/\/habr.com\/ru\/companies\/ruvds\/articles\/765798\/\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/ie\/cp\/pt\/iecpptwg7vxlue9k68lgasf3ilu.png\" align=\"left\" width=\"275\" data-src=\"https:\/\/habrastorage.org\/webt\/ie\/cp\/pt\/iecpptwg7vxlue9k68lgasf3ilu.png\"\/><\/a>\u041c\u044b \u043d\u0435\u043e\u0434\u043d\u043e\u043a\u0440\u0430\u0442\u043d\u043e \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u043b\u0438 \u043e <a href=\"https:\/\/habr.com\/ru\/companies\/ruvds\/articles\/716058\/\">\u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u043c \u0441\u043e\u0444\u0442\u0435<\/a>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 <a href=\"https:\/\/habr.com\/ru\/companies\/ruvds\/articles\/760716\/\">\u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0442\u044c \u0432\u0438\u0434\u0435\u043e \u0441 YouTube<\/a>. \u042d\u0442\u043e \u0432 \u043f\u0435\u0440\u0432\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c <a href=\"https:\/\/github.com\/ytdl-org\/youtube-dl\/\">youtube-dl<\/a> (yt-dl) \u0438 \u0435\u0433\u043e \u043a\u043b\u043e\u043d\u044b, \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a <a href=\"https:\/\/github.com\/yt-dlp\/yt-dlp\">yt-dlp<\/a> \u0438 <a href=\"https:\/\/github.com\/blackjack4494\/yt-dlc\">yt-dlc<\/a>. \u0421 \u043d\u0438\u043c\u0438 \u0432\u043e\u044e\u044e\u0442 \u043c\u043e\u0433\u0443\u0447\u0438\u0435 \u043a\u043e\u043f\u0438\u0440\u0430\u0441\u0442\u044b, \u043f\u044b\u0442\u0430\u044e\u0442\u0441\u044f \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0438\u0445 \u0438\u0437 \u043f\u043e\u0438\u0441\u043a\u043e\u0432\u043e\u0439 \u0432\u044b\u0434\u0430\u0447\u0438, \u0441 \u0445\u043e\u0441\u0442\u0438\u043d\u0433\u043e\u0432, \u0441 Github \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435, \u043f\u043e \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e\u0439 \u0441\u0445\u0435\u043c\u0435 \u00ab\u0442\u043e\u0442\u0430\u043b\u044c\u043d\u0430\u044f \u0432\u043e\u0439\u043d\u0430\u00bb. <\/p>\n<p>  \u041d\u043e \u0433\u043b\u0430\u0432\u043d\u044b\u043c \u0432\u0440\u0430\u0433\u043e\u043c \u0434\u043b\u044f \u044d\u0442\u0438\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u043e\u0441\u0442\u0430\u044e\u0442\u0441\u044f \u0434\u0430\u0436\u0435 \u043d\u0435 \u043f\u0440\u0430\u0432\u043e\u043e\u0431\u043b\u0430\u0434\u0430\u0442\u0435\u043b\u0438, \u0430 \u0437\u043b\u043e\u0431\u043d\u0430\u044f \u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0446\u0438\u044f Google, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0432\u043d\u043e\u0441\u0438\u0442 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 YouTube API, \u0447\u0442\u043e\u0431\u044b <s>\u043f\u0440\u0435\u043a\u0440\u0430\u0442\u0438\u0442\u044c \u0437\u043b\u043e\u0443\u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u044f \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u043c<\/s> \u043f\u043e\u043c\u0435\u0448\u0430\u0442\u044c \u043b\u044e\u0434\u044f\u043c \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0442\u044c \u0444\u0430\u0439\u043b\u044b, \u0432\u0435\u0434\u044c \u043e\u0442 \u044d\u0442\u043e\u0433\u043e Google \u043d\u0438\u043a\u0430\u043a\u043e\u0439 \u043f\u0440\u0438\u0431\u044b\u043b\u0438.<\/p>\n<p>  \u0421\u0430\u043c\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043a\u0438\u00a0\u2014 \u043f\u0440\u043e\u0441\u0442\u043e \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0434\u043b\u044f \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u044f <i>\u043e\u0431\u0449\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0433\u043e<\/i> \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430, \u043e\u043d\u0438 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0432\u043e\u0440\u0443\u044e\u0442 \u0438 \u043d\u0435 \u043f\u0438\u0440\u0430\u0442\u044f\u0442. \u041f\u0440\u043e\u0441\u0442\u043e \u0434\u043e\u0441\u0442\u0443\u043f \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043d\u0435\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0435 \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043d \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e. \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u044d\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f.  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-356814","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/356814","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=356814"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/356814\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=356814"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=356814"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=356814"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}