php - 如何在 youtube-dl 中获取和设置视频格式?

标签 php unix youtube-dl

我想通过 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/

相关文章:

php - laravel 5.1 Auth::check() 500 内部服务器错误 afterJWTAuth::attempt($credentials) login

php - 用于检查表单数据的 JavaScript 不起作用

MacOS : find out if a process (given a PID) is running in 32bit or in 64bit Intel mode

python - 在将 youtube-dl 用作 python 模块时,如何列出 youtube-dl 中的视频分辨率?

Python 脚本和等效命令的运行方式不同

bash - 从播放列表下载 youtube 文件的 Shell 脚本

php - 使用可点击文本为变量赋值

php - 如何在 Woocommerce 中获取我所有订阅的列表?

mysql - 在mysql中创建一个可搜索的卷

java - 非交互式 bash shell 的环境变量