当前位置: 首页 > 软件库 > 应用工具 > 多媒体工具 >

YouTubeExtractor

YouTube 视频音轨提取
授权协议 MIT/GPLv2
开发语言 C#
所属分类 应用工具、 多媒体工具
软件类型 开源软件
地区 不详
投 递 者 昌招
操作系统 Windows
开源组织
适用人群 未知
 软件概览

YoutubeExtractor 是一个针对 .NET 的,使用 C# 编写的库,其可以让你从 YouTube 下载视频和/或从这些视频中提取它们的音轨(音轨提取目前只可用于 flash 视频)

目标平台

  • .NET Framework 3.5 或更高版本

  • Windows Phone 8

  • WinRT

  • Xamarin.Android

  • Xamarin.iOS

注意:Windows Phone 8,WinRT,Xamarin.Anroid 以及 Xamarin.iOS 仅仅支持下载 URLs 的提取。

事例代码

获取下载 URLs

// Our test youtube link
string link = "insert youtube link";

/*
 * 获取可用的视频格式
 * 我们将会在视频和音频下载事例中使用这些格式
 */
IEnumerable<VideoInfo> videoInfos = DownloadUrlResolver.GetDownloadUrls(link);

下载视频

/*
 * 选择具有 360p 分辨率的第一个发现的 .mp4 视频
 */
VideoInfo video = videoInfos
    .First(info => info.VideoType == VideoType.Mp4 && info.Resolution == 360);

/*
 * If the video has a decrypted signature, decipher it
 */
if (video.RequiresDecryption)
{
    DownloadUrlResolver.DecryptDownloadUrl(video);
}

/*
 * 创建视频下载器
 * 第一个参数为要下载的视频
 * 第二个参数为要将视频文件保存到的路径
 */
var videoDownloader = new VideoDownloader(video, Path.Combine("D:/Downloads", video.Title + video.VideoExtension));

// Register the ProgressChanged event and print the current progress
videoDownloader.DownloadProgressChanged += (sender, args) => Console.WriteLine(args.ProgressPercentage);

/*
 * Execute the video downloader.
 * For GUI applications note, that this method runs synchronously.
 */
videoDownloader.Execute();

下载音轨

/*
 * 我们想要具有最高音频质量的第一个可进行提取的视频
 */
VideoInfo video = videoInfos
    .Where(info => info.CanExtractAudio)
    .OrderByDescending(info => info.AudioBitrate)
    .First();

/*
 * 如果视频有一个解密签名,解码它
 */
if (video.RequiresDecryption)
{
    DownloadUrlResolver.DecryptDownloadUrl(video);
}

/*
 * 创建音频下载器
 * 第一个参数为要从中提取音频的视频
 * 第二个参数为要将音频文件保存到的路径
 */
var audioDownloader = new AudioDownloader(video, Path.Combine("D:/Downloads", video.Title + video.AudioExtension));

// Register the progress events. We treat the download progress as 85% of the progress and the extraction progress only as 15% of the progress,
// because the download will take much longer than the audio extraction.
audioDownloader.DownloadProgressChanged += (sender, args) => Console.WriteLine(args.ProgressPercentage * 0.85);
audioDownloader.AudioExtractionProgressChanged += (sender, args) => Console.WriteLine(85 + args.ProgressPercentage * 0.15);

/*
 * 执行音频下载器
 * 对于 GUI 应用程序来说,该方法会异步运行
 */
audioDownloader.Execute();
 相关资料
  • 视频怎么实现切换音轨,实现这种效果,用了videojs一直报错

  • 我有两个视频文件,具有以下流: 文件1: 文件2: 两个文件都有完全相同的视频内容,但第一个视频有德语音轨,第二个视频有英语音轨。 如何从德语视频文件中提取音轨并将其添加到英语视频文件中,而不丢失英语字幕,并能够在媒体播放器中在这些音轨之间进行选择? 我对此进行了搜索,我找到了类似问题的多个答案,但都不起作用:有些只包含一个音轨,有些同时播放两个音轨。 我不确定这个问题是否应该在Super Use

  • 问题内容: 是否可以使用PHP从音频流中提取轨道信息?我已经进行了一些挖掘,可以找到的最接近的函数是stream_get_transports,但是我的主机不支持通过fsockopen()进行http传输,因此,我将不得不做更多的工作来看看该函数还会返回什么。 目前,我正在尝试从AOL流中提取艺术家并跟踪元数据。 问题答案: 这是一个SHOUTcast流,是的,它是可能的。它与ID3标签完全无关。

  • 主要内容:HTML 音频/视频 DOM 参考手册,HTML 音频/视频 方法,HTML 音频/视频属性,HTML 音频/视频事件HTML 音频/视频 DOM 参考手册 HTML5 DOM 为 <audio> 和 <video> 元素提供了方法、属性和事件。 这些方法、属性和事件允许您使用 JavaScript 来操作 <audio> 和 <video> 元素。 HTML 音频/视频 方法 方法 描述 addTextTrack() 向音频/视频添加新的文本轨道。 canPlayType() 检测浏

  • 我正在尝试从视频文件中提取音频。我试过python中的moviepy、ffmpeg等库。提取的音频文件太大。对于大小为75 MB的音频文件,音频文件与moviepy的距离约为1.1 GB。即使比特率为16 kbps,采样率为16000 Hz,提取的文件大小也将达到200 MB。任何其他库或提取的音频文件大小至少相同或小于完整视频文件的方式。 我正在ffmpeg中使用上述命令。

  • 在页面上添加视频、声音、动画等,可以增强用户体验。在HTML5之前,为网页添加多媒体的唯一办法,就是使用第三方的插件(如,Adobe Flash等)。 HTML5中,提供了对多媒体的原生支持,只需通过 video元素,就可以向网页嵌入视频、电影或音频资源,通过 audio元素向网页嵌入音频资源,省时省力。 视频 早就听说HTML提供了对视频的原生支持,你可能已经迫不及待想体验一下了。 在HTML5

  • 我想从视频中提取对齐的音频流。目标是获得与视频精确对齐的音频序列。 问题:视频和音频序列不对齐。输出音频持续时间比视频输入短。 要复制的脚本: 我的尝试(没有成功): 按照此答案中的建议添加 添加,同时导出视频(链接) 在Audacity中打开。那里的持续时间是 在VLC中打开。持续时间: 显式设置帧率 其他视频文件 如果能给我一些建议,我将不胜感激。非常感谢。

  • 我想通过复用麦克风的音频(覆盖didGetAudioData)和摄像机的视频(覆盖onpreviewframe)来生成mp4文件。但是,我遇到了声音和视频同步的问题,视频会比音频出现得更快。我想知道这个问题是否与不兼容的配置或演示时间有关,有人能指导我如何解决这个问题吗?下面是我的软件。 视频配置 音频配置 得到如下音频演示文稿, 我的问题是由应用抖动功能只音频引起的吗?如果是,我如何为视频应用抖