2016-11-03 4 views
1

Я использовал этот ниже код для создания разрешения видео и записи текста на нем.Что такое ошибка инициализации фильтра «drawtext» с аргументами args ... »при использовании ffmpeg в классе процессов C#?

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 то же значение аргумента процесса прекрасно работает. Я читал, что это проблема, связанная с тем, как с помощью кавычку при использовании из текста свойства DrawText в ffmpeg.but я не могу найти решения для решения этой проблемы.
Может ли кто-нибудь мне помочь?

Может ли кто-нибудь мне помочь? Это ошибка? Я использовал любые решения для спасения от : в моем коде, но не могу решить эту проблему. Он не может найти font.I удалить другие фильтры drawtext, чтобы найти, что любой из фильтров не ошибается, но все еще существует ошибка.

expansion=none свойство drawtext не влияет на этот случай, для выхода :.

+0

использовать абсолютный путь к файлу шрифт – aergistal

+0

@aergistal я использовал этот '-vf DrawText = fontfile = D \\: \\\\ OtherProjects \\\\ ConvertProj \\\\ \\\\ FFmpeg OpenSans-Regular.ttf: текст = Parsa: FontColor = белый: г = 25: коробка = 1: boxcolor = [email protected]: boxborderw = 3: fontsize = 85: x = 85: y = (h-text_h-85) ' , но по-прежнему имеет ту же проблему – parsa

+0

@aergistal Он работает над cmd, но не работает в аргументе процесса C# и возвращает ошибка, о которой я сказал. – parsa

ответ

Смежные вопросы