Example #1
0
        public static string BuildArguments(YoutubeDLRequest request)
        {
            var argsList = new List <string>();

            argsList = BuildGenericArguments(request, argsList);

            // add continue on error if not a single video
            if (request.Type != VideoRequestType.SingleVideo)
            {
                argsList.Add($"-i");
            }

            argsList.Add($"{request.ContentID}");

            return(string.Join(' ', argsList));
        }
Example #2
0
        private static List <string> BuildGenericArguments(YoutubeDLRequest request, List <string> argsList)
        {
            // output location
            var outputLocation = request.OutputLocation + "%(title)s.%(ext)s";

            argsList.Add($"-o {outputLocation}");

            if (request.AudioOnly) // get MP3 if audio-only
            {
                argsList.Add("--extract-audio --audio-format mp3");
            }
            else // otherwise -> mp4
            {
                argsList.Add("-f mp4");
            }

            return(argsList);
        }
Example #3
0
        public void ProcessVideoRequest(VideoRequest request)
        {
            var youtubeDLReq = YoutubeDLRequest.From(request);

            _youtubeDLClient.DownloadRequestedContent(youtubeDLReq);
        }
Example #4
0
        public void DownloadRequestedContent(YoutubeDLRequest request)
        {
            var args = YoutubeDLRequestHelper.BuildArguments(request);

            RunYoutubeDLProcess(args);
        }