有没有办法使用youtube-dl获取特定格式的音频/视频文件大小

时间:2015-03-18 14:41:43

标签: php youtube youtube-dl

<?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下载音频。但是在下载时我无法看到任何文件大小

1 个答案:

答案 0 :(得分: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