You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用libvideo .NET库下载指定分辨率含音频的YouTube视频

使用libvideo .NET库下载指定分辨率带音频YouTube视频的实现方案

核心保存逻辑

你已经完成了筛选指定分辨率资源的步骤,获取到对应Video实例后,直接调用实例的下载方法即可保存到本地,完整示例代码如下:

var youTube = new YouTube();
var videoInfos = youTube.GetAllVideos(link);

// 优先匹配1080p资源,匹配失败自动降级到720p
var targetVideo = videoInfos.FirstOrDefault(v => v.Resolution == 1080) ?? 
                  videoInfos.FirstOrDefault(v => v.Resolution == 720);

if (targetVideo != null)
{
    // 自定义本地保存路径,注意拼接正确的格式后缀
    string savePath = Path.Combine("D:\\你的下载目录", $"{targetVideo.Title}.{targetVideo.Format}");
    // 同步下载保存
    targetVideo.Download(savePath);
    
    // 如需异步下载,替换为以下方法即可
    // await targetVideo.DownloadAsync(savePath);
}

高分辨率带音频下载注意事项

YouTube平台的720p以上分辨率资源,多数是音视频分离的独立流,直接筛选到的高分辨率视频流可能不含音频,需要做特殊处理:

  1. 优先筛选同时封装了音轨的视频资源,筛选逻辑如下:
// 筛选1080p且包含音频轨道的资源
var targetVideoWithAudio = videoInfos
    .Where(v => v.Resolution == 1080 && v.AudioFormat != AudioFormat.Unknown)
    .FirstOrDefault();
  1. 如果找不到同时封装音视频的高分辨率资源,需要分别下载对应分辨率的视频流、最高质量的音频流,后续通过FFmpeg等工具合并为完整的带音频视频文件。

附加说明

示意图

  • 建议添加分辨率降级逻辑,避免对应分辨率资源不存在时报空引用错误
  • 保存文件时需匹配视频本身的格式后缀,避免下载后的文件无法正常打开

内容的提问来源于stack exchange,提问作者Praful Ravindra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 20:54:01