본문 바로가기
C#

[C#] FFMpeg.exe 사용 (m4a -> wav)

by Jcoder 2020. 11. 19.

FFMpeg 다운로드 : ffmpeg.org/download.html

 

using System;

using System.Diagnostics;

using System.Text;

 

namespace FFMPEG_ConsoleTest

{

   class Program

   {

      static void Main(string[] args)

      {

         Console.WriteLine("Hello World!");

 

         //var test = RunCmd("C:\\Users\\SEONGHYEON\\Desktop\\ffmpeg-4.3.1-2020-10-01-full_build\\bin\\ffmpeg.exe -i \"C:\\Users\\SEONGHYEON\\Desktop\\녹음\\녹음_원본\\통화 녹음 01098981057_201016_102317.m4a\" \"C:\\Users\\SEONGHYEON\\Desktop\\녹음\\test\\test2.wav\"");

         var test = RunCmd(" -loglevel debug -y -i \"C:\\Users\\SEONGHYEON\\Desktop\\녹음\\녹음_원본\\통화 녹음 01098981057_201016_102317.m4a\" \"C:\\Users\\SEONGHYEON\\Desktop\\녹음\\test\\test2.wav\"");

 

         Console.WriteLine(test);

         Console.ReadLine();

      }

 

      private static string RunCmd(string args)

      {

         ProcessStartInfo process = new ProcessStartInfo();

         Process pro = new Process();

 

         process.FileName = "ffmpeg.exe"; // 환경 변수 사용시 ffmpeg.exe로 호출 가능

 

         process.CreateNoWindow = true;  // cmd창을 띄우지 안도록 하기

         process.UseShellExecute = false;

         //process.RedirectStandardOutput = true;  // cmd창에서 데이터를 가져오기

         process.RedirectStandardInput = true;  // cmd창으로 데이터 보내기

         process.RedirectStandardError = true;  // cmd창에서 오류 내용 가져오기

         pro.EnableRaisingEvents = true;

 

         process.Arguments = args;

         process.StandardErrorEncoding = Encoding.UTF8;

         pro.StartInfo = process;

         pro.Start();

 

         //pro.StandardInput.WriteLine(args);

         pro.StandardInput.Close();

 

         string result = pro.StandardError.ReadToEnd().ToLower();

 

         pro.WaitForExit();

         pro.StandardError.Close();

 

         return result;

      }

   }

}

 

* 주의점 : ffmpeg는 StandardError 로 로그를 출력하기 때문에 StandardOutput이 아님.

'C#' 카테고리의 다른 글

[C#] ini 파일 읽기/쓰기  (0) 2020.11.19
[C#] .Net core 3.1 인코딩 한글 지원  (0) 2020.11.19
[C#] CMD 사용  (0) 2020.11.19
[C#] 델파이 dll 호출  (0) 2020.11.19
15. 파일 보기  (0) 2019.03.20