使用php将youtube视频下载到服务器

时间:2013-12-17 09:34:11

标签: php youtube mp3 downloading

所以我想将youtubevideos作为mp3下载到我的服务器上,所以我可以轻松地将它们视为mp3。

我有一些PHP的经验,在youtube API中是首屈一指的,但是如果我已经正确理解了youtubevideos是以块的形式加载的,其中一个是视频的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下载它,以及如何保存它会很棒,因为通过我的logick代码应该完美地工作,并且确实如此,直到保存音频,它节省了大约50位然后停止,我没有得到任何错误或任何其他所以它真的很难调试。

另外,如果您发现任何错误,可以通过我的代码更好地处理事情。请通知我。

也很抱歉我来自芬兰的英语不好,而且对于糟糕的代码感到抱歉,这是我将要使用的第一个实用程序:)

1 个答案:

答案 0 :(得分:1)

Youtube API不提供指向音频或视频内容的直接链接,仅提供缩略图。唯一的方法是使用正则表达式解析常规页面以提取到媒体的链接。这就是所有“getfromyoutube”网站的运作方式。

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

然而这是非法的,你不应该这样做。等等。等等。 我警告过你;)

相关问题