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 |