/// <summary>
        ///Reason : To get frame details from video
        /// </summary>
        /// <param name="extractedImageFolderPath"></param>
        /// <param name="contentMessage"></param>
        /// <param name="colorMessage"></param>
        private List <ColorModel> GetFrameDetailsOfVideo(string extractedImageFolderPath, string frameName, ref string contentMessage)
        {
            try
            {
                List <VideoDetails> videoDetailsList  = new List <VideoDetails>();
                List <ColorModel>   colorList         = new List <ColorModel>();
                List <ColorModel>   avgVideoColorList = new List <ColorModel>();

                int    i          = 1;
                string blankFrame = "";
                string colorNames = "";

                var fileEntries = GetFilesFrom(extractedImageFolderPath, imageFilters, false, frameName);
                foreach (string fileName in fileEntries)
                {
                    VideoDetails videoDetailsObj = new VideoDetails();
                    videoDetailsObj.FileName     = fileName;
                    videoDetailsObj.Content      = new ImageVideoProcessing.ImageGrabber().ExtractTextFromImage(fileName);
                    videoDetailsObj.ColorDetails = colorNames;
                    colorList.AddRange(new ImageVideoProcessing.ImageGrabber().GetImageColors(fileName));

                    if (videoDetailsObj.Content.Trim() != "")
                    {
                        contentMessage += "Frame " + i + ": \r\n" + videoDetailsObj.Content + "\r\n";
                    }
                    else
                    {
                        blankFrame += "\r\n Frame " + i;
                    }

                    i += 1;
                }

                contentMessage += !string.IsNullOrEmpty(blankFrame) ?
                                  "\r\n\r\nFollowing frames are not having any content:" + blankFrame : "";
                var avgColorList = colorList.GroupBy(g => g.color, r => r.pecentage).Select(g => new
                {
                    color           = g.Key,
                    colorPercentage = g.Average()
                });

                foreach (var clr in avgColorList)
                {
                    ColorModel colrMod = new ColorModel();
                    colrMod.color     = clr.color;
                    colrMod.pecentage = Convert.ToInt32(Math.Round(clr.colorPercentage));
                    avgVideoColorList.Add(colrMod);
                }

                return(avgVideoColorList);
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                GC.Collect();
            }
        }
        /// <summary>
        ///Reason : To get frame details from video 
        /// </summary>
        /// <param name="extractedImageFolderPath"></param>
        /// <param name="contentMessage"></param>
        /// <param name="colorMessage"></param>
        private List<ColorModel> GetFrameDetailsOfVideo(string extractedImageFolderPath, string frameName, ref string contentMessage )
        {
            try
            {
                List<VideoDetails> videoDetailsList = new List<VideoDetails>();
                List<ColorModel> colorList = new List<ColorModel>();
                List<ColorModel> avgVideoColorList = new List<ColorModel>();

                int i = 1;
                string blankFrame = "";
                string colorNames = "";

                var fileEntries = GetFilesFrom(extractedImageFolderPath, imageFilters, false, frameName);
                foreach (string fileName in fileEntries)
                {
                    VideoDetails videoDetailsObj = new VideoDetails();
                    videoDetailsObj.FileName = fileName;
                    videoDetailsObj.Content = new ImageVideoProcessing.ImageGrabber().ExtractTextFromImage(fileName);
                    videoDetailsObj.ColorDetails = colorNames;
                    colorList.AddRange(new ImageVideoProcessing.ImageGrabber().GetImageColors(fileName));

                    if (videoDetailsObj.Content.Trim() != "")
                        contentMessage += "Frame " + i + ": \r\n" + videoDetailsObj.Content + "\r\n";
                    else
                        blankFrame += "\r\n Frame " + i;

                    i += 1;
                }

                contentMessage += !string.IsNullOrEmpty(blankFrame) ?
                    "\r\n\r\nFollowing frames are not having any content:" + blankFrame : "";
                var avgColorList = colorList.GroupBy(g => g.color, r => r.pecentage).Select(g => new
                {
                    color = g.Key,
                    colorPercentage = g.Average()
                });

                foreach (var clr in avgColorList)
                {
                    ColorModel colrMod = new ColorModel();
                    colrMod.color = clr.color;
                    colrMod.pecentage = Convert.ToInt32(Math.Round(clr.colorPercentage));
                    avgVideoColorList.Add(colrMod);
                }

                return avgVideoColorList;
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                GC.Collect();
            }
        }