public static VideoResourceItem AddVideoResource(string filePath, BaseScheduleResourceContainer resourceContainer)
        {
            var resourceItem = resourceContainer.AddResource <VideoResourceItem>();

            if (!Directory.Exists(resourceItem.ResourceFolderPath))
            {
                Directory.CreateDirectory(resourceItem.ResourceFolderPath);
            }

            var sourceFilePath = Path.Combine(resourceItem.ResourceFolderPath,
                                              String.Format("{0}{1}", VideoResourceItem.VideoSourceFileName, Path.GetExtension(filePath)));

            File.Copy(filePath, sourceFilePath, true);

            var dataFilePath = Path.Combine(resourceItem.ResourceFolderPath, VideoResourceItem.VideoSourceDataFileName);

            ExtractVideoInfo(sourceFilePath, dataFilePath);

            var videoData = FFMpegData.LoadFromFile(dataFilePath);

            GenerateThumbnails(sourceFilePath, resourceItem.ResourceFolderPath, VideoResourceItem.VideoThumbnailFilePrefixName, videoData);

            return(resourceItem);
        }
 public VideoResourceItem(BaseScheduleResourceContainer parent) : base(parent)
 {
 }