我想通过 youtube-dl 下载 mp3 或任何其他音频文件。
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
下载 mp4
格式的 YouTube 视频。
有一个选项可以让 youtube-dl
将视频转换为音频文件。在他们的 "Post Processing Options" 文档中, 您可以传入 -x
选项将视频文件转换为音频(这需要安装 ffmpeg
)和 youtube-dl
将下载可用的“最佳”格式。如果您需要指定的格式,则可以使用 --audio-format
选项。
我怀疑 youtube-dl
可以在下载之前确认所有可用的音频格式,因为它仍然以 mp4
格式下载视频,但使用 ffmpeg
来将其转换为指定的音频格式,最后删除 mp4
文件。
关于php - 如何在 youtube-dl 中获取和设置视频格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29107663/