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