我问这个问题是因为我发现就我的知识而言这是不可能的。但是,我相信在 stackoverflow 上有很多天才的访问,所以也许有人可以提供一个很好的建议/技巧。
我的问题是,我正在下载托管在 googlevideo.com 的服务器上的 youtube 的音频/mp4 文件。
为此目的,我的 PHP 代码:$mp3path 是视频的 url
header('Content-Description: File Transfer');
if(strpos($mp3path, "https://") === false) {
header('Content-length: ' . size($mp3path)); //size is custom function
}
header("Content-Type: audio/MP4A-LATM, audio/MP4A, audio/m4a, audio/mp4, audio/mp4a, audio/mp4-audio, audio/mpeg");
header('Content-Type: application/force-download');
header("Accept-Ranges: bytes");
header('Content-Transfer-Encoding: binary');
header('Content-disposition: attachment; filename="'.$title.'.mp3"');
header('Connection: Keep-Alive');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Last-Modified: ' . gmdate('D, d M Y H:i:s', time()) . ' GMT');
header("Cache-Control: private", false);
header('Pragma: no-cache');
readfile($mp3path);
exit;
我可以下载这个音频文件,但是当我使用 mp3val [mp3val.sourceforge.net] 进行一些研究时,很少有 mp3 播放器无法播放它。我发现这个文件在文件中不包含采样率、比特率或其他一些必需的编解码器。从 mp3val 收到错误:未知文件格式
我知道一种可能的方法是 ffmpeg,但我正在寻找一种耗时较少的选项,因为首先 ffmpeg 下载整个文件,然后将其转换为 mp3 并将其保存在服务器上。这需要很多时间。
我正在寻找一个最简单的解决方案,我不想将整个文件保存在我的服务器上。我想从远程服务器调用这个文件,并想在文件中添加采样率、比特率,然后以某种方式使用 php 我想开始在浏览器上下载。
我的意思是说我需要一个更快的解决方案。我见过 2 yt 到 mp3 转换器,他们在做同样的事情,提供即时下载。我不知道怎么做?
如果您认为这是一个愚蠢的问题或不可能,请不要向 stackoverflow 报告。我试图弄清楚这就是我在这里问这个问题的原因。我希望你能理解我的好奇心。
谢谢,