public DashboardModel(IUserData userdata, IBlogData blogData, IUVRecordData vidTaken, IVideoData videoData)
 {
     this.userdata  = userdata;
     this.blogData  = blogData;
     this.vidTaken  = vidTaken;
     this.videoData = videoData;
 }
Exemple #2
0
        private async void SelectVideo()
        {
            OpenFileDialog ofd = new OpenFileDialog();

            if (ofd.ShowDialog() == DialogResult.OK)
            {
                data = videoDataFactory.GetVideoData(ofd.FileName);
                if (data.FrameRate == -1)
                {
                    data.FrameRate = 30;
                }

                double[] histResults = await cutDetection.Calculate(data);

                double[] fadeResults = await fadeDetection.Calculate(data);

                SetChartData("test1", histResults, cutDetection.GetTransitions(), -1);
                SetChartData("test2", fadeResults, fadeDetection.GetTransitions(), 0);

                data.CurrentFrame        = 0;
                positionTrackBar.Maximum = data.FrameCount;
                positionTrackBar.Value   = 0;
                videoTimer.Interval      = (int)(1000 / data.FrameRate);
                checkBoxPlay.Checked     = true;
                videoTimer.Start();
            }
        }
Exemple #3
0
 public HomeController(IUserData userData,
                       IFollowData followData, IVideoData videoData, ICommentData commentData)
 {
     _userData    = userData;
     _followData  = followData;
     _videoData   = videoData;
     _commentData = commentData;
 }
Exemple #4
0
 public CommentController(IUserData userData, IFollowData followData,
                          IVideoData videoData, ICommentData commentData, ILikeCommentData likeCommentData)
 {
     _userData        = userData;
     _followData      = followData;
     _videoData       = videoData;
     _commentData     = commentData;
     _likeCommentData = likeCommentData;
 }
        private void WMPPlay_executed(object sender, ExecutedRoutedEventArgs e)
        {
            IVideoData vfc = (VideoFolderChild)e.Parameter;

            if (vfc != null)
            {
                IPlayFile.WMPPlayFileInit(vfc);
            }
        }
Exemple #6
0
 public UserController(IUserData userData, IHostingEnvironment hostingEnvironment,
                       IFollowData followData, IVideoData videoData, ICommentData commentData)
 {
     _userData           = userData;
     _followData         = followData;
     _videoData          = videoData;
     _commentData        = commentData;
     _hostingEnvironment = hostingEnvironment;
 }
Exemple #7
0
        public bool IsInvalid(IVideoData data, LanguageShortName shortName)
        {
            YoutubeVideoData parsedData = GetParsedData(data);

            if (!"ok".Equals(parsedData.Status, StringComparison.InvariantCultureIgnoreCase))
            {
                return(true);
            }

            string title = data.Title.ToLowerInvariant();

            if (_titleStopWords.Any(title.Contains))
            {
                return(true);
            }

            if (title.Contains("18+"))
            {
                //а вдруг неприличное содержимое
                return(true);
            }

            string trimmedTitle = _titleExcludeWords.Aggregate(title, (current, exlude) => current.Replace(exlude, ""));

            int latinCharsCount   = 0;
            int russianCharsCount = 0;

            foreach (char ch in trimmedTitle)
            {
                if (ch >= 'a' && ch <= 'z')
                {
                    latinCharsCount++;
                }
                else if (ch >= 'а' && ch <= 'я')
                {
                    russianCharsCount++;
                }
            }

            if (russianCharsCount == 0 && latinCharsCount == 0)
            {
                //в названии нет ни русских ни латинских букв
                return(true);
            }

            if (russianCharsCount > latinCharsCount)
            {
                /*string nameWithoutEnding = LanguagesHelper.GetLowerNameWithoutEnding(shortName);
                 * if (!title.Contains(nameWithoutEnding)) {*/
                //в названии русских букв больше - считаем что фильм не на том языке
                return(true);
                //}
            }

            return(false);
        }
Exemple #8
0
        private static YoutubeVideoData GetParsedData(IVideoData data)
        {
            var result = data as YoutubeVideoData;

            if (result == null)
            {
                throw new ApplicationException("Что за фигня");
            }
            return(result);
        }
Exemple #9
0
 public VideoController(IVideoData videoData, IUserData userData,
                        IHostingEnvironment hostingEnvironment, IFollowData followData, ICommentData commentData
                        , ILikeVideoData likeDislike)
 {
     _videoData          = videoData;
     _userData           = userData;
     _commentData        = commentData;
     _hostingEnvironment = hostingEnvironment;
     _followData         = followData;
     _likeDislikeData    = likeDislike;
 }
 public void PlayFromTemperalList(IVideoData playFile, IEnumerable <VideoFolderChild> TemperalList)
 {
     Clear();
     if (currentplaylist != null)
     {
         currentplaylist.SetIsActive(true);
         CurrentPlaylist = null;
     }
     PlayListCollection = new ObservableCollection <VideoFolder>(TemperalList);
     MediaControllerViewModel.GetVideoItem((VideoFolderChild)playFile, true);
 }
        private void Play_executed(object sender, ExecutedRoutedEventArgs e)
        {
            if (e.Parameter is VideoFolderChild)
            {
                IVideoData vfc = (VideoFolderChild)e.Parameter;
                IPlayFile.PlayFileInit(vfc);
                return;
            }

            IFolder videofolder = e.Parameter as VideoFolder;

            IPlayFile.PlayFileInit(videofolder);
        }
Exemple #12
0
        private IVideoData GetVideoDataFromCache(IVideoDataGetter videoDataGetter, string encodedLink)
        {
            string serializedValue = _diskCache.Get(GetMainKey(encodedLink), Encoding.UTF8);

            if (string.IsNullOrEmpty(serializedValue))
            {
                return(null);
            }

            string[] rows     = serializedValue.Split(new[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);
            var      mainData = _serializer.Deserialize <Dictionary <string, string> >(rows[0]);

            IVideoData result = videoDataGetter.CreateFromString(rows[1]);

            if (result != null)
            {
                result.Title    = mainData["title"];
                result.Vid      = mainData["vid"];
                result.HtmlCode = mainData["htmlCode"];
                string imageKey = mainData["imagePath"];
                result.ThumnailImage = _diskCache.Get(imageKey);
            }
            return(result);
        }
Exemple #13
0
        public void Process()
        {
            long languageId =
                new LanguagesQuery(LanguageShortName.Unknown, LanguageShortName.Unknown).GetByShortName(
                    _shortName).Id;

            const int MAX_DOMAIN_TO_PROCESS = 10;

            List <Tuple <string, List <string> > > linksByDomains = _linksHelper.Analyze();

            foreach (var tuple in linksByDomains.Take(MAX_DOMAIN_TO_PROCESS))
            {
                IVideoDataGetter videoDataGetter = GetVideoDataGetterByDomain(tuple.Item1);
                if (videoDataGetter == null)
                {
                    continue;
                }

                int           failCount    = 0;
                int           successCount = 0;
                List <string> links        = tuple.Item2;
                foreach (string link in links)
                {
                    string encodedLink = FileHelper.EncodeFileName(link);

                    IVideoData videoData = GetVideoDataFromCache(videoDataGetter, encodedLink);
                    if (videoData == null)
                    {
                        //для этой ссылки данных нет в кэше - получить их от Getter'а
                        videoData = videoDataGetter.GetVideoData(link);
                    }

                    if (videoData == null)
                    {
                        Console.WriteLine("Для ссылки {0} НЕ удалось получить данные!", link);
                        failCount++;
                        continue;
                    }

                    SaveVideoDataToCache(videoDataGetter, encodedLink, videoData);

                    if (videoDataGetter.IsInvalid(videoData, _shortName))
                    {
                        Console.WriteLine("Для ссылки {0} данные некорректны!", link);
                        failCount++;
                        continue;
                    }

                    var videosQuery  = new VideosQuery(languageId);
                    var videoForUser = new VideoForUser(videoData.Title, videoData.HtmlCode);
                    //TODO: поиск дубликатов видео

                    //TODO: сохранять дополнительную информацию в БД
                    VideoForUser result = videosQuery.GetOrCreate(VideoType.Movie, videoForUser, videoData.ThumnailImage, videoData.Rating);
                    if (result != null)
                    {
                        successCount++;
                    }
                    else
                    {
                        Console.WriteLine("Не удалось добавить видео \"{0}\"!!!", videoData.Title);
                    }
                }
                Console.WriteLine("Обработан домен {0} из {1} ссылок успешно сохранены {2}, не удалось сохранить {3}",
                                  tuple.Item1, links.Count, successCount, failCount);
            }
        }
Exemple #14
0
 public AllVideosModel(IVideoData videoData)
 {
     this.videoData = videoData;
 }
Exemple #15
0
 public SearchController(IUserData userData, IVideoData videoData, ICommentData commentData)
 {
     _userData    = userData;
     _videoData   = videoData;
     _commentData = commentData;
 }
Exemple #16
0
 public VideoBusiness(IVideoData vimeoRepository)
 {
     _vimeoRepository = vimeoRepository;
 }
Exemple #17
0
 public CreateVideoModel(IVideoData videos, KeyVideoContext db, UserManager <KeyVidUser> userManager)
 {
     this.videos      = videos;
     this.db          = db;
     this.userManager = userManager;
 }
Exemple #18
0
 public VideosListModel(IVideoData videoData)
 {
     this.videoData = videoData;
 }
 public void Open(IVideoData videoFolder, IEnumerable <VideoFolderChild> movielist)
 {
     iplayFilecaller.PlayFileInit(videoFolder, movielist);
 }
Exemple #20
0
        private void SaveVideoDataToCache(IVideoDataGetter videoDataGetter, string encodedLink, IVideoData videoData)
        {
            string imageKey = encodedLink + "_image.jpeg";

            if (videoData.ThumnailImage != null)
            {
                bool isSavedImage = _diskCache.Save(imageKey, videoData.ThumnailImage);
                if (!isSavedImage)
                {
                    Console.WriteLine("Не удалось добавить изображение для видео \"{0}\" в кэш!!!", videoData.Title);
                }
            }

            string additionalData = videoDataGetter.ConvertToString(videoData);
            var    mainData       = new Dictionary <string, string> {
                { "title", videoData.Title },
                { "vid", videoData.Vid },
                { "htmlCode", videoData.HtmlCode },
                { "rating", videoData.Rating != null?videoData.Rating.ToString() : string.Empty },
                { "imagePath", imageKey }
            };

            var data = new StringBuilder(_serializer.Serialize(mainData));

            data.AppendLine();
            data.Append(additionalData);

            bool isSaved = _diskCache.Save(GetMainKey(encodedLink), data.ToString(), Encoding.UTF8);

            if (!isSaved)
            {
                Console.WriteLine("Не удалось добавить видео \"{0}\" в кэш!!!", videoData.Title);
            }
        }
 public EditModel(IVideoData videoData, IHtmlHelper helper)
 {
     _videoData = videoData;
     _helper    = helper;
 }
Exemple #22
0
 public AddVideoModel(IVideoData addVideo, IWebHostEnvironment webHostEnvironment)
 {
     this.addVideo           = addVideo;
     this.webHostEnvironment = webHostEnvironment;
     VideoDetails            = new Videos();
 }
 public DetailModel(IVideoData videoData)
 {
     _videoData = videoData;
 }
Exemple #24
0
 public AulaAvaliacaoBusiness(IAulaAvaliacaoData aulaAvaliacaoRepository, IVideoData vimeoRepository)
 {
     _aulaAvaliacaoRepository = aulaAvaliacaoRepository;
     _vimeoRepository         = vimeoRepository;
 }
 public VideoOfTheDayViewComponent(IVideoData videoData)
 {
     _videoData = videoData;
 }
Exemple #26
0
 public DeleteVideoModel(IVideoData deleteVideo)
 {
     this.deleteVideo = deleteVideo;
 }
        public Task <double[]> Calculate(IVideoData data)
        {
            Func <double[]> func = () =>
            {
                frameCount = data.FrameCount;
                DoInitialize(frameCount);

                completed    = 0;
                maxFrameLock = new Semaphore(maxOpenFrames, maxOpenFrames);
                completeLock = new Semaphore(1, 1);
                completeLock.WaitOne();
                data.CurrentFrame = 0;

                RGBData   frame1 = null;
                ImageData data1  = data.GetNextFrame();
                if (data1 != null)
                {
                    data1.Lock();
                    frame1 = data1.Data;
                }

                RGBData   frame2 = null;
                ImageData data2  = data.GetNextFrame();
                if (data2 != null)
                {
                    data2.Lock();
                    frame2 = data2.Data;
                }

                int counter = 0;
                while (data2 != null)
                {
                    maxFrameLock.WaitOne();
                    FrameTransition frameTransition = new FrameTransition(frame1, frame2, counter++);

                    ThreadPool.QueueUserWorkItem(new WaitCallback((state) =>
                    {
                        DoCompareFrames(frameTransition);

                        maxFrameLock.Release();

                        Interlocked.Increment(ref completed);
                        if (completed >= frameCount - 1)
                        {
                            completeLock.Release();
                        }
                    }));

                    frame1 = frame2;

                    data2 = data.GetNextFrame();
                    if (data2 != null)
                    {
                        data2.Lock();
                        frame2 = data2.Data;
                    }
                }

                completeLock.WaitOne();
                double[] results = DoComputeData();
                completeLock.Release();

                return(results);
            };

            return(Task <double[]> .Run(func));
        }
 public void Open(IVideoData videoFolder)
 {
     iplayFilecaller.PlayFileInit(videoFolder);
 }
Exemple #29
0
 public HomeController(IVideoData videos)
 {
     _videos = videos;
 }
Exemple #30
0
 public VideoDetailsModel(IVideoData videoData, IUserData userData, IUVRecordData videoRecordData)
 {
     this.videoData       = videoData;
     this.userData        = userData;
     this.videoRecordData = videoRecordData;
 }