public void RenderWithoutVideo() { using (ITimeline timeline = new DefaultTimeline()) { timeline.AddAudioGroup(); using (var renderer = new AviFileRenderer(timeline, null)) { renderer.Render(); } } }
private void button1_Click(object sender, EventArgs e) { string firstPath = @""; string secondPath = @""; string endPath = @""; OpenFileDialog firstDialog = new OpenFileDialog(); firstDialog.Filter = "Video files (*.avi)|*.avi"; firstDialog.InitialDirectory = "C:\\"; firstDialog.Title = "Select the first video you want to merge"; if (firstDialog.ShowDialog() == DialogResult.OK) { firstPath = firstDialog.FileName; } OpenFileDialog secondDialog = new OpenFileDialog(); secondDialog.Filter = "Video files (*.avi)|*.avi"; secondDialog.Title = "Select the second video you want to merge"; if (secondDialog.ShowDialog() == DialogResult.OK) { secondPath = secondDialog.FileName; } CommonOpenFileDialog pathFinal = new CommonOpenFileDialog(); pathFinal.IsFolderPicker = true; if (pathFinal.ShowDialog() == CommonFileDialogResult.Ok) { endPath = pathFinal.FileName + "/videoMerged.avi"; } using (ITimeline timeline = new DefaultTimeline()) { IGroup group = timeline.AddVideoGroup(32, 1920, 1080); var firstVideoClip = group.AddTrack().AddVideo(firstPath); var secondVideoClip = group.AddTrack().AddVideo(secondPath, firstVideoClip.Duration); using (AviFileRenderer renderer = new AviFileRenderer(timeline, endPath)) { renderer.Render(); } } }
public void RenderWithNoFileName() { using (ITimeline timeline = new DefaultTimeline()) { IGroup group = timeline.AddVideoGroup(24, 100, 80); ITrack track = group.AddTrack(); track.AddClip("transitions.wmv", GroupMediaType.Video, InsertPosition.Absolute, 0, 0, 2); using (var renderer = new AviFileRenderer(timeline, null)) { renderer.Render(); } } }
public void RenderVideoOnly() { string outputFile = "RenderVideoOnly.avi"; using (ITimeline timeline = new DefaultTimeline()) { IGroup group = timeline.AddVideoGroup(24, 100, 80); ITrack track = group.AddTrack(); track.AddClip("transitions.wmv", GroupMediaType.Video, InsertPosition.Absolute, 0, 0, 2); using (var renderer = new AviFileRenderer(timeline, outputFile)) { renderer.Render(); } AssertLengths(timeline, 2, outputFile); } }
public void RenderVideoAndAudio() { string outputFile = "RenderVideoAndAudio.avi"; using (ITimeline timeline = new DefaultTimeline()) { IGroup videoGroup = timeline.AddVideoGroup(24, 100, 80); ITrack videoTrack = videoGroup.AddTrack(); videoTrack.AddClip("transitions.wmv", GroupMediaType.Video, InsertPosition.Absolute, 0, 0, 2); IGroup audioGroup = timeline.AddAudioGroup(); ITrack audioTrack = audioGroup.AddTrack(); audioTrack.AddClip("testinput.wav", GroupMediaType.Audio, InsertPosition.Absolute, 0, 0, 2); using (var renderer = new AviFileRenderer(timeline, outputFile)) { renderer.Render(); } AssertLengths(timeline, 2, outputFile); } }
public static void createVideo(string outputFile, string tempFileName, int width, int height, bool append) { if (!append) { tempFileName = outputFile; } using (ITimeline timeline = new DefaultTimeline()) { IGroup group = timeline.AddVideoGroup(32, width, height); ITrack videoTrack = group.AddTrack(); foreach (var filename in Directory.GetFiles(@"Output\")) { videoTrack.AddImage(filename, 0, (1.0 / 48.0)); } ITrack audioTrack = timeline.AddAudioGroup().AddTrack(); try { using (AviFileRenderer renderer = new AviFileRenderer(timeline, tempFileName)) { renderer.Render(); } } catch (Exception ex) { throw; } } if (append) { using (ITimeline timeline = new DefaultTimeline()) { IGroup group = timeline.AddVideoGroup(32, width, height); ITrack videoTrack = group.AddTrack(); var firstVideoClip = group.AddTrack().AddVideo(outputFile); var secondVideoClip = group.AddTrack().AddVideo(tempFileName, firstVideoClip.Duration); ITrack audioTrack = timeline.AddAudioGroup().AddTrack(); try { using (AviFileRenderer renderer = new AviFileRenderer(timeline, "_" + outputFile)) { renderer.Render(); } Application.DoEvents(); System.Threading.Thread.Sleep(1000); File.Delete(outputFile); File.Delete(tempFileName); File.Move("_" + outputFile, outputFile); } catch (Exception ex) { throw; } } } }