2017-05-11 3 views
0

Ich weiß, dass ich den Start mit -ss und enden mit -bis einstellen können, aber kann mir jemand bitte helfen Sie mir folgendes zu formatieren, so dass ich die -ss eingeben und -to mit einer Schnur?FFMPEG gesetzt -ss und -zu mit String

I -ss von

String start = editStart.getText().toString(); 

und -to kommen wollen von

String end = editEnd.getText().toString(); 

Hier kommen ist mein ffmpeg String ich bearbeiten wollen, ich habe -ss und -to eingegeben zu zeigen, wo ich will die oben genannten Strings sein.

String s = "-i" + " " + mVideoUri.toString().replace("file:///", "") + " -filter_complex [1:v][0:v]scale2ref=iw:ih[ovr][base];[ovr]colorchannelmixer=aa=0.7[ovrl];[base][ovrl]overlay[v] -ss -to -map [v]" + directoryToStore + "/" + FileName + mp4; 

String[] arguments = s.split(" "); 

ExecuteFFMPEG(arguments); 
+0

können Sie bitte klären, wie Sie Werte sind vorbei für Sie. Und wie führst du ffmpeg aus? Zum Beispiel machen wir Runtime.getRuntime(). Exec und übergeben eine Zeichenfolge mit voller Befehlszeile für ffmpeg –

+0

Vielen Dank für das Betrachten dieser Frage, siehe meine edit @ OlgaKhylkouskaya –

+1

werfen Sie einen Blick auf http://StackOverflow.com/questions/30197627/ffmpeg-android-execute Sie müssen keine Argumente aufteilen, übergeben Sie einfach einen String mit -ss und -to. Sie haben angegeben, dass Sie solche Werte formatter.format (getValueRight) erhalten können. –

Antwort

0

Ok, so dass Sie von Ihrem Start- und Endpunkt erhalten:

String start = editStart.getText().toString(); 
String end = editEnd.getText().toString(); 

Anstatt also das Argument der Spaltung dieser Stelle tun:

String[] s = {"-i" ,mVideoUri.toString(),"-filter_complex","[1:v][0:v]scale2ref=iw:ih[ovr][base];[ovr]colorchannelmixer=aa=0.7[ovrl];[base][ovrl]overlay[v]","-ss","start","-to","end","-map","[v]",directoryToStore+"/"+"output.mp4"}; 
ExecuteFFMPEG(s);