비디오의 해상도를 만들고 텍스트를 쓰는 데이 코드를 사용했습니다. 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/ffmpeg/OpenSans-Regular.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의 속성은이 경우에 영향을 미치지 않으며, 이스케이프 :
에 영향을줍니다.
이 '-vf DrawText에 사용 I 글꼴 파일 – aergistal
@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
@aergistal 그것은 cmd에서 작동하지만 C# 프로세스 인수에서 작동하지 않습니다. 내가 말한 오류. – parsa