2017-05-11 1 views
0

Je sais que je peux définir le début avec -ss et se terminent par -pour mais quelqu'un peut-il s'il vous plaît me aider à formater le suivant afin que je puisse entrer dans le -ss et -to avec une chaîne?FFMPEG mis -ss et -pour avec chaîne

Je veux -ss venir de

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

et -to venir de

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

Voici ma chaîne de ffmpeg Je veux modifier, je suis entré -ss et -to pour montrer où je veux les chaînes ci-dessus à être.

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

pouvez-vous s'il vous plaît expliquer comment vous passer des valeurs pour eux. Et comment exécutez-vous ffmpeg. Par exemple, nous faisons Runtime.getRuntime(). Exec et passer une chaîne avec la ligne de commande complète pour ffmpeg –

+0

Merci d'avoir regardé cette question, s'il vous plaît voir mon edit @OlgaKhylkouskaya –

+1

jeter un oeil à http://stackoverflow.com/questions/30197627/ffmpeg-android-execute Vous n'avez pas besoin de diviser les arguments, passez simplement une chaîne avec -ss et -to. Vous avez spécifié que vous pouvez obtenir ces valeurs formatter.format (getValueRight). –

Répondre

0

Ok, donc vous obtenez votre point de départ et de fin de:

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

Ainsi, au lieu de diviser l'argument le faire à la place:

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);