Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 有没有办法使用youtube dl获取特定格式的音频/视频文件大小_Php_Youtube_Youtube Dl - Fatal编程技术网

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

Php 有没有办法使用youtube dl获取特定格式的音频/视频文件大小,php,youtube,youtube-dl,Php,Youtube,Youtube Dl,请参见注释行。我需要那两行。代码的其余部分工作正常。此文件从YouTube下载音频。但是我在下载时看不到任何文件大小,因为youtube dl没有显示大小的选项,您可能需要查看ytdl,相反,它可以提供所有元数据,如文件大小 要安装: <?php $youtubeUrl = $_GET['url']; $content = shell_exec("youtube-dl -j $youtubeUrl "); $meta=json_decode($content);

请参见注释行。我需要那两行。代码的其余部分工作正常。此文件从YouTube下载音频。但是我在下载时看不到任何文件大小,因为youtube dl没有显示大小的选项,您可能需要查看
ytdl
,相反,它可以提供所有元数据,如文件大小

要安装:

<?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");

?>

()

没有,因为您正在流式传输下载。您必须先下载到临时文件,然后执行
filesize()
,或者对url执行单独的
HEAD
请求,并希望youtube自己输出适当的内容长度头。
--get size
不是youtube的选项-dl@MarcB不因为应用程序本身也会在下载过程中显示总文件大小。@MarcB我对url做了单独的HEAD请求,但现在它开始流式处理,下载开始了有没有办法获得八位字节的确切文件大小?在Win10上不起作用<代码>属性错误:“YtdlPafy”对象没有属性“encode”。
$ 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 
...