使用php将youtubevideos下载到服务器


Downloading youtubevideos to server with php

所以我想把youtubevideos作为mp3下载到我的服务器上,这样我就可以很容易地把它们作为mp3收听。

我在PHP方面有一些经验,在youtube API方面首屈一指,但如果我理解正确的话,youtube视频是分块加载的,其中1个是视频的mp3原声。

如果这是不正确的,你能建议其他方式进行下载吗?

到目前为止,我已经设法做了一个小的php脚本来获得必要的信息来保存音频。

$id =  $_POST["A"];
$xmlData = simplexml_load_string(file_get_contents("http://gdata.youtube.com/feeds/api/videos/{$id}?fields=title"));
$title = (string)$xmlData->title;
$bad = array_merge(
        array_map('chr', range(0,31)),
        array("<", ">", ":", '"', "/", "''", "|", "?", "*"));
$result = str_replace($bad, "-", $title);

$file = "$result.mp3";
fopen("$file", 'w+') or die('Cannot open file:  '."$file");
//echo "http://youtubeinmp3.com/fetch/?video=http://www.youtube.com/watch?v=$id";
$current = file_get_contents("$file");
//$current .= "http://youtubeinmp3.com/fetch/?video=http://www.youtube.com/watch?v=$id";
file_put_contents("$file", $current);

(帖子A来自我的html部分代码,它包括youtube视频ID)

所以,在那个代码中,我并不完全使用youtube来下载mp3曲目。。。所以,如果你们中的任何人都知道如何直接从youtube下载它,以及如何保存它,那就太好了,因为根据我的逻辑,代码应该可以完美地工作,而且它确实可以,直到保存音频,它可以保存大约50位,然后停止,我不会收到任何错误或任何东西,所以很难调试。

此外,如果你注意到任何错误,或者在我的代码中做事情的更好方法,请通知我。

也很抱歉我的英语不好,我来自芬兰,是的,很抱歉糟糕的代码,这实际上是我要使用的第一个实用程序:)

Youtube API不提供音频或视频内容的直接链接,仅提供缩略图。唯一的方法是使用正则表达式解析正则页面以提取到媒体的链接。这就是所有"从youtube获取"网站的做法。

获得内容后,您可以使用ffmpeg或其他工具进行处理。我不认为有单独的mp3音轨。通常,音轨嵌入到mp4容器中。

然而这是违法的,你不应该这样做。e.t.c.e.t.c。我警告过你;)