#twitch #download #vod #downloader #hls #conversion #stream

twitch_archiver

一个小型库,用于下载Twitch VOD。

2个版本

0.3.3 2023年11月19日
0.3.2 2023年11月19日
0.3.1 2023年11月19日
0.3.0 2023年11月19日

#246 in 视频

自定义许可

13KB
197 代码行

Rust Stable

twitche归档器

一个用于下载Twitch VOD(包括仅订阅)的快速小巧的下载器。

功能目前极其基础,仅支持hls流下载和转换。目前尚未提供VOD元数据。

有关CLI程序,请参阅twitch_archiver_cli仓库。

用法

    use twitch_archiver::{
        convert::{convert_hls_to_file},
        Twitch,
    };

    let twitch = Twitch::new(**your_client_id**, **auth_token_if_needed**);
    let hls = twitch.get_hls_manifest("url")?;
    convert_hls_to_file(hls, **your_output_path.mp4**, **optional_ffmpeg_input_args**,**optional_ffmpeg_output_args**)?;
    // Done!

获取客户端ID

  1. 打开任何Twitch VOD
  2. 按F12打开开发者工具并转到“网络”标签。现在它应该正在记录到和来自Twitch的所有网络请求
  3. 按CTRL+R重新加载页面并从头开始。
  4. 当页面开始加载时,等待视频开始播放。然后按红色按钮停止录制,并滚动到列表顶部。
  5. 通过列表向下滚动,直到你找到一个名为“gql”的请求。
  6. 打开此请求,然后在“请求头”下找到“Client-Id”标题。复制该值。

下载仅订阅VOD

要下载仅订阅VOD,您需要提供OAuth令牌。

要获取OAuth令牌,请按照上面获取客户端ID的方法进行,但复制“授权”标题的值,而不包括前面的“OAuth”部分。

硬件加速

为了更快地转换,您可以在使用convert_hls_to_file时提供硬件加速参数。对于Nvidia GPU,您可以使用以下参数

input_args = "-hwaccel cuda"
output_args = "-c:v h264_nvenc"

依赖项

~5–21MB
~272K SLoC