getaudio.php
<?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");
passthru("youtube-dl -o - $youtubeUrl");
?>
我想通过 youtube-dl 下载 mp3 或任何其他音频文件。 此文件会下载视频文件。在下载之前我需要确认所有可用的音频格式。怎么做
答案 0 :(得分:8)
要选择视频质量,请先使用-F选项列出可用格式,此处为示例
youtube-dl -F http://www.youtube.com/watch?v=P9pzm5b6FFY
这是输出
[youtube] Setting language
[youtube] P9pzm5b6FFY: Downloading webpage
[youtube] P9pzm5b6FFY: Downloading video info webpage
[youtube] P9pzm5b6FFY: Extracting video information
[info] Available formats for P9pzm5b6FFY:
format code extension resolution note
140 m4a audio only DASH audio , audio@128k (worst)
160 mp4 144p DASH video , video only
133 mp4 240p DASH video , video only
134 mp4 360p DASH video , video only
135 mp4 480p DASH video , video only
136 mp4 720p DASH video , video only
17 3gp 176x144
36 3gp 320x240
5 flv 400x240
43 webm 640x360
18 mp4 640x360
22 mp4 1280x720 (best)
最好的质量是22所以使用-f 22代替-F来下载分辨率为1280x720的mp4视频,
youtube-dl -f 22 http://www.youtube.com/watch?v=P9pzm5b6FFY
答案 1 :(得分:-1)
默认情况下,youtube-dl
以mp4
格式下载YouTube视频。
可以选择youtube-dl
将视频转换为音频文件。在"Post Processing Options"的文档中,您可以传入-x
选项将视频文件转换为音频(这需要安装ffmpeg
)和{{1} }将下载可用的“最佳”格式。如果需要指定的格式,则可以使用youtube-dl
选项。
我怀疑--audio-format
可以确认所有可用的音频格式,然后再下载,因为它仍以youtube-dl
格式下载视频,但使用mp4
将其转换为指定的音频格式,最后删除ffmpeg
文件。