Merging Videos using C#

Merging Videos using C# Programming:


using System;
using System.Diagnostics;
using System.IO;

namespace VideoMerger.Util
{
    public class MergeMultipleVideos
    {
        public void MergingVideos()
        {
            string[] videoFiles = {
                @"D:\video1.mp4",
                @"D:\video2.mp4",
                @"D:\video3.mp4"
            };

            string outputFile = "merged_video.mp4";

            string tempFile = "files.txt";
            using (StreamWriter writer = new StreamWriter(tempFile))
            {
                foreach (var video in videoFiles)
                {
                    writer.WriteLine($"file '{Path.GetFullPath(video)}'");
                }
            }

             var ffmpegPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "FFmpeg", "ffmpeg.exe");

            var arguments = $"-f concat -safe 0 -i {tempFile} -c copy {outputFile}";

            var processInfo = new ProcessStartInfo
            {
                FileName = ffmpegPath,
                Arguments = arguments,
                RedirectStandardOutput = true,
                RedirectStandardError = true,
                UseShellExecute = false,
                CreateNoWindow = true
            };

            using (var process = Process.Start(processInfo))
            {
                if (process == null)
                {
                    Console.WriteLine("Failed to start FFmpeg process.");
                    return;
                }
               
                string output = process.StandardOutput.ReadToEnd();
                string error = process.StandardError.ReadToEnd();

                process.WaitForExit();

                Console.WriteLine("FFmpeg output: " + output);
                Console.WriteLine("FFmpeg error: " + error);
            }

            File.Delete(tempFile);

            Console.WriteLine("Videos merged successfully!");
        }
    }
}



Comments

Popular posts from this blog

Multiline to singleline IN C# - CODING

EF Core interview questions for beginners

EF Core interview questions for experienced