【问题标题】:Downloading youtubevideos to server with php使用 php 将 youtube 视频下载到服务器
【发布时间】:2014-01-05 00:00:14
【问题描述】:

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

我在 PHP 方面有一些经验,在 youtube API 方面首屈一指,但如果我理解正确,youtubevideos 会以块的形式加载,其中 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 位然后停止,我没有得到任何错误或任何东西,所以它真的很难调试。

另外,如果您在我的代码中发现任何错误或更好的处理方法,请通知我。

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

【问题讨论】:

    标签: php youtube mp3 download


    【解决方案1】:

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

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

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

    【讨论】:

    • 感谢您的回答,不完全是我的预期,但它回答了我的猜测......是的,我知道它不完全合法,但为什么下载“publick”内容供个人使用是非法的?
    • 好吧。不确定法律部分。但这绝对违反了谷歌的服务条款。最糟糕的情况是,如果他们发现滥用和异常活动,就会被 IP 暂时禁止。
    猜你喜欢
    • 2017-09-03
    • 1970-01-01
    • 1970-01-01
    • 2020-06-21
    • 1970-01-01
    • 1970-01-01
    • 2011-07-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多