public async Task I_can_download_a_video_by_merging_best_streams_into_a_single_ogg_file() { // Arrange var outputFilePath = Path.ChangeExtension(_tempOutputFixture.GetTempFilePath(), "ogg"); var converter = new YoutubeClient().Videos.Streams.GetConverter(_ffmpegFixture.FilePath); // Act await converter.ConvertStreamsAsync("AI7ULzgf8RU", outputFilePath); var fileInfo = new FileInfo(outputFilePath); // Assert fileInfo.Exists.Should().BeTrue(); fileInfo.Length.Should().BeGreaterThan(0); }
public async Task I_can_download_a_video_and_it_reports_progress_correctly() { // Arrange var progressReports = new List <double>(); var progress = new Progress <double>(p => { _testOutput.WriteLine($"Progress: {p:P2}"); progressReports.Add(p); }); var outputFilePath = _tempOutputFixture.GetTempFilePath(); var converter = new YoutubeClient().Videos.Streams.GetConverter(_ffmpegFixture.FilePath); // Act await converter.ConvertStreamsAsync("AI7ULzgf8RU", outputFilePath, progress); // Assert progressReports.Should().NotBeEmpty(); progressReports.Should().Contain(1.0); }
public async Task I_can_download_a_video_with_a_custom_target_framerate() { // Arrange var outputFilePath = _tempOutputFixture.GetTempFilePath(); var converter = new YoutubeClient().Videos.Streams.GetConverter(_ffmpegFixture.FilePath); var options = new ConversionOptionsBuilder(outputFilePath) .SetFormat("mp4") .SetTargetFramerate(new Framerate(15)) .SetPreset(EncoderPreset.UltraFast) .Build(); // Act await converter.ConvertStreamsAsync("AI7ULzgf8RU", options); var fileInfo = new FileInfo(outputFilePath); // Assert fileInfo.Exists.Should().BeTrue(); fileInfo.Length.Should().BeGreaterThan(0); // No real way to assert framerate... }