有沒有人有一個很好的方法從java中的字符串轉義用在ffmpeg的drawtext過濾器鏈中?試圖用不同的轉義組合來使用replaceAll一直是一個挫折的練習!如何在java中爲所有特殊字符(',%,,:,{,})轉義所有特殊字符
String myTextString = "Bob's special\cool mix:stuff @ 40% off"; Runtime.getRuntime().exec(new String[] { "ffmpeg",...., "filter_complex", "drawtext=enable='between(t,0,10)':x=10:y=10:fontfile=Roboto-Black.ttf:text='" + myTextString + "':fontcolor=#a43ddb:fontsize=14", ... });
ffmpeg的DrawText的過濾器:https://ffmpeg.org/ffmpeg-filters.html#drawtext-1
您是否嘗試過任何正則表達式? –
我試圖用replaceAll函數替換反斜槓,然後嘗試替換每個特殊字符。但是,在java,replaceAll,Strings,runtime exec,ffmpeg和drawtext之間的所有轉義......我認爲需要一些奇蹟才能使它正確:-)希望有人已經找到了所需的咒語。 – ezwrighter
看看https://stackoverflow.com/questions/13696461/replace-special-character-with-an-escape-preceded-special-character-in-java –