public void CreateAllVideos(List<AudioUoW> audios, string imageDirectory, string renderDirectory, AllVideosRenderedEventHandler allVideosRendered = null, VideoRenderedEventHandler renderCompleted = null, Action<string> feedbackMethod = null) { try { var imagePaths = Directory.GetFiles(imageDirectory).ToList(); var sessionId = Guid.NewGuid().ToString(); _sessions.Add(sessionId, new VideoRenderingSession() {Count = 0, AllVideosRendered = allVideosRendered}); foreach (var audio in audios) { audio.SessionId = sessionId; var filename = MakeValidFileName(audio.Title); var correctedFilename = _vps.GetCorrectFilename(filename); audio.VideoPath = Path.Combine(renderDirectory, correctedFilename); var list = new List<VideoRenderedEventHandler>(); if (renderCompleted != null) list.Add(renderCompleted); list.Add(RenderCompleted); if (feedbackMethod != null) feedbackMethod("Rendering started... " + audio.Title); _sessions[sessionId].Count++; _vps.CreateVideoFromImages(imagePaths, audio, audio.VideoPath, VideoQuality.FULLHD2_NTSC, list); } } catch (Exception ex) { Log.Error(ex.Message, ex); } }
public void CreateAllVideos(List <AudioUoW> audios, string imageDirectory, string renderDirectory, AllVideosRenderedEventHandler allVideosRendered = null, VideoRenderedEventHandler renderCompleted = null, Action <string> feedbackMethod = null) { try { var imagePaths = Directory.GetFiles(imageDirectory).ToList(); var sessionId = Guid.NewGuid().ToString(); _sessions.Add(sessionId, new VideoRenderingSession() { Count = 0, AllVideosRendered = allVideosRendered }); foreach (var audio in audios) { audio.SessionId = sessionId; var filename = MakeValidFileName(audio.Title); var correctedFilename = _vps.GetCorrectFilename(filename); audio.VideoPath = Path.Combine(renderDirectory, correctedFilename); var list = new List <VideoRenderedEventHandler>(); if (renderCompleted != null) { list.Add(renderCompleted); } list.Add(RenderCompleted); if (feedbackMethod != null) { feedbackMethod("Rendering started... " + audio.Title); } _sessions[sessionId].Count++; _vps.CreateVideoFromImages(imagePaths, audio, audio.VideoPath, VideoQuality.FULLHD2_NTSC, list); } } catch (Exception ex) { Log.Error(ex.Message, ex); } }