pira/ytdl

一个简单的PHP库,用于从YouTube、Instagram、X等平台下载视频。

1.7.0 2024-08-01 08:47 UTC

This package is not auto-updated.

Last update: 2024-09-29 09:17:21 UTC


README

一个简单的PHP库,用于从YouTube、Instagram、X等平台下载视频。由Cobalt提供支持

Powered by Cobalt

Cobalt提供支持

此库依赖于Cobalt的免费API。

目录

安装

要安装pira/ytdl库,您需要使用Composer。运行以下命令

composer require pira/ytdl

用法

安装库后,您可以在PHP项目中开始使用它。以下是一个基本示例

<?php

use pira\YTDL;

require_once 'vendor/autoload.php';

try {
    $ytdl = new YTDL('https://www.youtube.com/watch?v=OAr6AIvH9VY');
    $ytdl->setQuality('480');
    $response = $ytdl->sendRequest();
    print_r($response);
} catch (Exception $e) {
    echo $e->getMessage();
}

方法

__construct(string $url)

使用URL初始化YTDL类。

  • 参数
    • $url (string):用于请求的URL。

setQuality(string $quality): void

设置下载的视频质量。

  • 参数
    • $quality (string):所需的视频质量(例如,144720max)。
  • 抛出
    • Exception 如果提供的质量无效。

setFilenamePattern(string $pattern): void

设置下载文件的文件名模式。

  • 参数
    • $pattern (string):所需的文件名模式。可用的模式
      • classic
        • 视频: youtube_dQw4w9WgXcQ_640x360_h264.mp4
        • 音频: youtube_dQw4w9WgXcQ_audio.mp3
      • basic
        • 视频: Video Title (360p, h264).mp4
        • 音频: Audio Title - Audio Author.mp3
      • pretty
        • 视频: Video Title (360p, h264, youtube).mp4
        • 音频: Audio Title - Audio Author (soundcloud).mp3
      • nerdy
        • 视频: Video Title (360p, h264, youtube, dQw4w9WgXcQ).mp4
        • 音频: Audio Title - Audio Author (soundcloud, 1242868615).mp3
  • 抛出
    • Exception 如果提供的模式无效。

setVCodec(string $codec): void

设置下载的视频编解码器。

  • 参数
    • $codec (string):所需的视频编解码器(例如,h264av1vp9)。
  • 抛出
    • Exception 如果提供的编解码器无效。

setAFormat(string $format): void

设置下载的音频格式。

  • 参数
    • $format (string):所需的音频格式(例如,mp3oggwav)。
  • 抛出
    • Exception 如果提供的格式无效。

enableAudioOnly(): void

仅启用音频下载。

enableTTFullAudio(): void

启用下载TikTok视频的原声。

enableAudioMuted(): void

启用在视频下载中静音音频轨道。

enableDubLang(): void

启用使用Accept-Language头为YouTube视频音频轨道。

enableDisableMetadata(): void

启用禁用文件元数据。

enableTwitterGif(): void

启用将Twitter gif转换为.gif格式。

enableTiktokH265(): void

启用为TikTok优先选择1080p h265视频。

setAcceptLanguage(string $language): void

为请求设置自定义Accept-Language头部值。

  • 参数
    • $language (字符串): 自定义Accept-Language头部值。

sendRequest(): 数组

发送配置好的请求到API并返回响应。

  • 返回

    • 包含响应状态和数据的关联数组。
  • 抛出

    • 如果发送请求时出现错误,则返回Exception

响应体变量

来源: Cobalt API 文档 - 响应体变量

选择器项变量

项目类型: 对象

来源: Cobalt API 文档 - 选择器项目变量

支持的服务

此列表不是最终版本,会随着时间的推移不断扩展。

来源: Cobalt - 支持的服务

附加说明或功能

来源: Cobalt - 每个服务的附加说明或功能

如果您想要的服务支持缺失,请在Cobalt的GitHub仓库上创建问题(或拉取请求👀)。

许可

此库采用MIT许可证。有关更多详细信息,请参阅LICENSE文件。

联系

如有任何疑问或问题,请联系

参考资料