通过php下载mp4 [仅音频]文件作为mp3文件的正确方法

时间:2018-02-03 12:04:00

标签: php ffmpeg mp3 youtube-dl sample-rate

我在问这个问题,因为我发现,就我的知识而言,这是不可能的。但是我相信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报告。我想弄清楚这就是我在这里问这个问题的原因。我希望你能理解我的好奇心。

谢谢,

0 个答案:

没有答案