2016-11-03 8 views
1

비디오의 해상도를 만들고 텍스트를 쓰는 데이 코드를 사용했습니다. C# 프로세스 클래스에서 ffmpeg를 사용할 때 "오류 초기화 필터 'drawtext'with args ..."오류가 있습니까?

var proc = new System.Diagnostics.Process(); 
    strin OrginalResolution="nhd"; 
    proc.EnableRaisingEvents = false; 
    proc.StartInfo.FileName = ffmpegPath; 
    proc.StartInfo.Arguments = "-i \"" + fileIn + 
           "\" -f mp4 -s " + OrginalResolution + " -vf drawtext=fontfile=/OtherProjects/ConvertProj/ff‌​mpeg/OpenSans-Reg‌​ular.ttf:text=Parsa" \"" + fileOut.Split('.')[0] + 
           ".mp4"; 
    proc.StartInfo.UseShellExecute = false; 
    proc.StartInfo.CreateNoWindow = false; 
    proc.StartInfo.RedirectStandardOutput = true; 
    proc.StartInfo.RedirectStandardError = true; 

    proc.Start(); 
    proc.WaitForExit(); 
    string sdsd = proc.StandardError.ReadToEnd(); 
    proc.Close(); 

나는이 문제 ( StandardError의 일부 문자열 출력은 아래에있다)에 직면 :

Fontconfig error: Cannot load default config file\r\n[Parsed_drawtext_0  
@0000000002fd8c20] Cannot find a valid font for the family 
Sans\r\n[AVFilterGraph @ 0000000000511660] Error initializing 
filter'drawtext' with args 
'fontfile=/OtherProjects/ConvertProj/ffmpeg/OpenSans- 
Regular.ttf:text=parsa'\r\nError opening 
filters!\r\n 

프로세스의 같은 인수 값이 잘 작동 cmd를에서. 나는이 문제가 ffmpeg.but에 나는이 문제를 해결하기위한 어떤 솔루션을 찾을 수 없습니다 DrawText에 의 텍스트 속성을 사용하여에 따옴표를 사용하는 방법에 관한 읽어 보시기 바랍니다.
아무도 도와 줄 수 있습니까?

누구든지 나를 도와 줄 수 있습니까?이 버그입니까? 코드에서 :의 이스케이프 솔루션을 사용했지만이 문제를 해결할 수 없습니다. 글꼴을 찾을 수 없습니다. 필기 도구의 실수로 다른 필터를 삭제해도 필터가 실수하지는 않지만 아직 오류가 있습니다.

expansion=none drawtext의 속성은이 경우에 영향을 미치지 않으며, 이스케이프 :에 영향을줍니다.

+0

이 '-vf DrawText에 사용 I 글꼴 파일 – aergistal

+0

@aergistal의 절대 경로를 사용 = fontfile = D \\ : \\\\ 기타 프로젝트 \\\\ ConvertProj \\\\ ffmpeg \\\\ OpenSans-Regular.ttf : text = parsa : fontcolor = white : r = 25 : box = 1 : boxcolor = \ u003 : boxborderw = 3 : fontsize = 85 : x = 85 : y = (h-text_h-85)' 여전히 동일한 문제가 있습니다 – parsa

+0

@aergistal 그것은 cmd에서 작동하지만 C# 프로세스 인수에서 작동하지 않습니다. 내가 말한 오류. – parsa

답변