0
<?php
    $youtubeUrl =  $_GET['url'];
    $content = shell_exec("youtube-dl -j $youtubeUrl "); 
    $meta=json_decode($content);  
    $file= $meta->{'_filename'};
    $fileWithoutExtension = explode(".",$file)[0];
    $extension = ".m4a";
    $file = $fileWithoutExtension . $extension;   

    header("Content-Disposition: attachment; filename=\"$file\"" );
    header("Content-Type: application/octet-stream");
// $fize = shell_exec("youtube-dl -f 141 --get-size $URL");
// header("Content-Length: " . $fsize);
    passthru("youtube-dl -f 140 -o - $youtubeUrl");

?>

请参阅注释行。我需要那两条线。其余代码工作正常。此文件从 YouTube下载音频。但是我在下载时看不到任何文件大小

4

1 回答 1

2

因为 youtube-dl 没有显示大小的选项,所以您可能想要查看ytdl它,它可以为您提供所有元数据,例如文件大小。

安装:

$ pip install pafy
...
$ ytdl [url]
Stream Type    Format Quality         Size            
------ ----    ------ -------         ----            
1      normal  webm   [640x360]       21 MB           
2      normal  mp4    [640x360]       24 MB           
3      normal  flv    [320x240]       19 MB           
4      normal  3gp    [320x240]       15 MB           
5      normal  3gp    [176x144]        5 MB 
...

https://pypi.python.org/pypi/pafy

于 2015-03-18T15:22:12.490 回答