Javascript 如何以不同的分辨率获得youtube视频和视频的直接链接?
我的问题是我想得到一个YouTube视频的直接链接和不同质量的不同链接。例如,如果我有这个URL,那么不同质量的视频的直接链接如下 有人能告诉我如何从YouTube上获得YouTube视频的直接链接吗?我一直在寻找,但找不到任何解决方案。PHP和javascript中的任何解决方案都会很有帮助。您可以使用以下代码:Javascript 如何以不同的分辨率获得youtube视频和视频的直接链接?,javascript,php,youtube,Javascript,Php,Youtube,我的问题是我想得到一个YouTube视频的直接链接和不同质量的不同链接。例如,如果我有这个URL,那么不同质量的视频的直接链接如下 有人能告诉我如何从YouTube上获得YouTube视频的直接链接吗?我一直在寻找,但找不到任何解决方案。PHP和javascript中的任何解决方案都会很有帮助。您可以使用以下代码: videoUrls = ytplayer.config.args.adaptive_fmts .split(',') .map(
videoUrls = ytplayer.config.args.adaptive_fmts
.split(',')
.map(item => item
.split('&')
.reduce((prev, curr) => (curr = curr.split('='),
Object.assign(prev, {[curr[0]]: decodeURIComponent(curr[1])})
), {})
)
.reduce((prev, curr) => Object.assign(prev, {
[curr.quality_label || curr.type]: curr
}), {} );
输出是具有不同质量的json:
{720p: {…}, 480p: {…}, 360p: {…}, 240p: {…}, 144p: {…}, …}
144p
:
{bitrate: "105451", lmt: "1501151759670299", quality_label: "144p", type: "video/webm;+codecs="vp9"", projection_type: "1", …}
240p
:
{bitrate: "236138", lmt: "1501151763073149", quality_label: "240p", type: "video/webm;+codecs="vp9"", projection_type: "1", …}
360p
:
{bitrate: "431019", lmt: "1501151763523043", quality_label: "360p", type: "video/webm;+codecs="vp9"", projection_type: "1", …}
480p
:
{bitrate: "751515", lmt: "1501151761884798", quality_label: "480p", type: "video/webm;+codecs="vp9"", projection_type: "1", …}
720p
:
{bitrate: "1530639", lmt: "1501151774338090", quality_label: "720p", type: "video/webm;+codecs="vp9"", projection_type: "1", …}
audio/mp4;+codecs="mp4a.40.2"
:
{url: "https://redirector.googlevideo.com/videoplayback?k…70E2C77F1747DA9B3&source=youtube&mime=audio%2Fmp4", type: "audio/mp4;+codecs="mp4a.40.2"", init: "0-591", projection_type: "1", bitrate: "96956", …}
audio/webm;+codecs="opus"
:
{url: "https://redirector.googlevideo.com/videoplayback?k…AEF92557AE5C5581&source=youtube&mime=audio%2Fwebm", type: "audio/webm;+codecs="opus"", init: "0-271", projection_type: "1", bitrate: "116254", …}
audio/webm;+codecs="vorbis"
:
{url: "https://redirector.googlevideo.com/videoplayback?k…FA29AC0F6C925E21&source=youtube&mime=audio%2Fwebm", type: "audio/webm;+codecs="vorbis"", init: "0-4082", projection_type: "1", bitrate: "77114", …}
__proto__
:
Object
这里讨论过:youtube在巴基斯坦被屏蔽,所以我不能使用这个程序。我想直接链接到视频@adibbehjatt,这太糟糕了。我在谷歌上搜索,发现谷歌内部有一个专门的“下载”视频页面。这里可以找到更多信息:-唯一的问题是如果youtube域在巴基斯坦被阻止,任何请求都不会受到阻碍吗?只是一个警告,链接中的一些信息是私有的,例如我可以看到你的IP地址。你是在找一个类似youtube.2tera.com的东西吗?但此代码在移动设备上不起作用。如果有人知道如何修复,请与我们共享解决方案)