我在问这个问题,因为我发现,就我的知识而言,这是不可能的。但是我相信stackoverflow上有很多天才的人访问,所以也许有人可以提供一个很好的建议/技巧。
我的问题是,我正在下载googlevideo.com服务器上托管的youtube的audio / mp4文件。
我的PHP代码用于此目的: $ mp3path是视频的网址
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报告。我想弄清楚这就是我在这里问这个问题的原因。我希望你能理解我的好奇心。
谢谢,