# @distube/ytdl-core 中文文档

规范地址：https://npmcn.com/package/%40distube/ytdl-core/

版本：5\.2\.1
npm 元数据更新时间：2026-11-04T08:35:48.112Z
中文译文更新时间：2026-11-12T11:34:35.397Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40distube/ytdl-core
原文对照：https://npmcn.com/package/%40distube/ytdl-core/?lang=original
项目主页：https://distube.js.org/ytdl-core/
源码仓库：https://github.com/distubejs/ytdl-core

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：225 kB，53 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：^22\.22\.2 \|\| ^24\.15\.0 \|\| \>=26\.0\.0
- 运行依赖：4 个
- 首次发布：2021-08-09T17:59:50.247Z
- 最新版本发布：2026-11-04T08:35:47.599Z
- 近 30 天下载量：261021（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：69（近 12 个月 9 个）

## 中文简介

YouTube视频资讯和为Node.js的下载,由本地玩家解析并可回收的溪流.

## 安装

```sh
npm install @distube/ytdl-core
```

也可以使用：`pnpm add @distube/ytdl-core`、`yarn add @distube/ytdl-core`、`bun add @distube/ytdl-core`

## README

# @distube/ytdl-核心

YouTube视频资讯和为Node.js下载. 磁盘Tube分叉 [芬特/节点-ytdl-核心](https://github.com/fent/node-ytdl-core)。 。 。 .

**[文档](https://distube.js.org/ytdl-core/)** • 妇女 [开始](https://distube.js.org/ytdl-core/guides/getting-started/) • 妇女 [API 参考](https://distube.js.org/ytdl-core/api/readme/)

[![Buy Me a Coffee at ko-fi.com](https://storage.ko-fi.com/cdn/kofi3.png)](https://ko-fi.com/skick)

## 特征

-   视频细节、章节、故事板、相关视频和各种格式
-   作为 WebVTT 、 JSON 或 XML 文本的说明音轨
-   视频和播放列表搜索、播放列表和频道上传,每页、相关视频和搜索建议
-   节点 `Readable` 带有字节范围或开始时间的下载,一个格式多次读取 `open`
-   当YouTube切断了一个 URL 时, 自动恢复的下载
-   HLS 或 DASH 上的活流
-   SABR 唯一的格式,在某些客户端上,这意味着360p以上的一切
-   签名已解决, 没有远程服务
-   年龄限制带饼干的视频
-   PO 代币在没有设置的工人线上刻出, 供需要的客户使用
-   间接通过任意 `fetch`

## 安装

```bash
npm install @distube/ytdl-core
```

```bash
bun add @distube/ytdl-core
```

要求节点22.22.2+于22.x上,24.1.5.0+于24.x上,或26+上,或Bun.

## 使用量

```ts
import { createWriteStream } from "node:fs";
import { Quality, Ytdl } from "@distube/ytdl-core";

const yt = new Ytdl();

const info = await yt.getInfo("https://www.youtube.com/watch?v=aqz-KE-bpKQ");
console.log(info.videoDetails.title);

yt.download(info, { quality: Quality.HighestAudio, filter: { hasAudio: true, hasVideo: false } }).pipe(
  createWriteStream("audio.webm"),
);

const [first] = await yt.search("blender open movie", { limit: 5 });
const playlist = await yt.getPlaylist("https://www.youtube.com/playlist?list=PL2aBZuCeDwlRF14ds9UR1uVpLRjDQy7d5");
console.log(first?.title, playlist.videos.length);
```

搜索、格式、活流、客户端、饼干、PO标志、代理和出错都包含在 [文档](https://distube.js.org/ytdl-core/)从4.x来的? 读取 [从 v4 移动](https://distube.js.org/ytdl-core/guides/migrating-from-v4/)。 。 。 .

## 发展

运行 `bun install`,则 `bun run verify` 为离线的大门.

## 许可证

麻省理工学院.

## 常见问题

### @distube/ytdl-core 是什么？

YouTube视频资讯和为Node\.js的下载,由本地玩家解析并可回收的溪流\.

### 如何安装 @distube/ytdl-core？

在项目目录运行 npm install @distube/ytdl-core，或使用 pnpm add / yarn add / bun add。

### @distube/ytdl-core 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @distube/ytdl-core 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @distube/ytdl-core 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js ^22\.22\.2 \|\| ^24\.15\.0 \|\| \>=26\.0\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @distube/ytdl-core 可以商用吗？

@distube/ytdl-core 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @distube/ytdl-core 的下载量有多少？

根据 npm 官方下载统计，@distube/ytdl-core 在 2026/10/13 – 2026/11/11 这 30 天内被下载 261,021 次，日均约 8,701 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @distube/ytdl-core 还在维护吗？

最新版本 5\.2\.1 发布于 2026/11/04（8 天前）；至今共发布 69 个版本，其中过去 12 个月发布了 9 个；首次发布于 2021/08/10。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

