Пример #1
0
 public MediaProcessor(IVideoDownloader videoDownloader, IAudioDownloader audioDownloader, IMediaMuxer mediaMuxer, IVideoRotator videoRotator, IVideoUploader videoUploader)
 {
     _videoDownloader = videoDownloader;
     _audioDownloader = audioDownloader;
     _mediaMuxer      = mediaMuxer;
     _videoRotator    = videoRotator;
     _videoUploader   = videoUploader;
 }
Пример #2
0
 public MediaProcessorTests()
 {
     _fakeVideoDownloader     = A.Fake <IVideoDownloader>();
     _fakeAudioDownloader     = A.Fake <IAudioDownloader>();
     _fakeMediaMuxer          = A.Fake <IMediaMuxer>();
     _fakeVideoRotator        = A.Fake <IVideoRotator>();
     _fakeGfyCatVideoUploader = A.Fake <IVideoUploader>();
     _mediaProcessor          = new MediaProcessor(_fakeVideoDownloader, _fakeAudioDownloader, _fakeMediaMuxer, _fakeVideoRotator, _fakeGfyCatVideoUploader);
 }
Пример #3
0
        public YouTubeServiceTests()
        {
            var vidProfile    = new VideoProfile();
            var configuration = new MapperConfiguration(cfg =>
            {
                cfg.AddProfile(vidProfile);
            });

            _mapper     = new Mapper(configuration);
            _youtube    = new YoutubeClient();
            _downloader = new VideoDownloader(_youtube);
            _converter  = new VideoConverter(_mapper);
            _sut        = new YouTubeService(_downloader, _converter);
        }
 public HomeController()
 {
     videoDownloader = new VideoDownloader();
     noteParser      = new NoteParser();
     musicXMLParser  = new MusicXMLParser();
 }
Пример #5
0
        public Stream DownloadAndConvert(string source, string target, VideoLibrary.Video video, IVideoDownloader downloader)
        {
            source = $@"Downloads\{source}";
            target = $@"Downloads\{target}";

            VideoConversionJob job = null;

            lock (_lock)
            {
                if (!_downloads.TryGetValue(source, out job))
                {
                    job = new VideoConversionJob(new Task(() =>
                    {
                        downloader.Download(video.Uri, source);

                        var args = string.Format("-y -i {0} -r 20 -s 352x288 -b 400k -acodec aac -strict experimental -ac 1 -ar 8000 -ab 24k {1}", source, target);
                        try
                        {
                            var proc = new Process()
                            {
                                StartInfo = new ProcessStartInfo(YoutubeFeed.VideoConversionPath, args)
                                {
                                    CreateNoWindow         = true,
                                    RedirectStandardOutput = false,
                                    RedirectStandardError  = false,
                                    UseShellExecute        = false,
                                },
                            };

                            proc.Start();
                            proc.WaitForExit();
                        }
                        catch (InvalidOperationException)
                        {
                        }
                        catch (Win32Exception)
                        {
                        }
                    }));
                    _downloads.Add(source, job);
                }
            }

            job.Join();

            return(new StreamReader(target).BaseStream);
        }
Пример #6
0
 public YouTubeService(IVideoDownloader downloader, IVideoConverter converter)
 {
     _downloader = downloader;
     _converter  = converter;
 }
Пример #7
0
 public VideoDownloaderTests()
 {
     _yt  = new YoutubeClient();
     _sut = new VideoDownloader(_yt);
 }