Répertoire de travail: null Environnement: null
Je suis en train d'utiliser ffmpeg.donc, sur Android, je suis Répertoire de Travail: null Environnement: erreur nulle.
try {
Process p = Runtime.getRuntime().exec("/data/data/com.example.foo/files/ffmpeg -f image2 -i "
+ Environment.getExternalStorageDirectory().getAbsolutePath() + "/img/b%d.jpg "
+ Environment.getExternalStorageDirectory().getAbsolutePath() + "/DCIM/Camera/a444.mp4");
} catch (IOException e) {
e.printStackTrace();
}
JOURNAL DES ERREURS
04-09 01:50:45.683: I/Adreno-EGL(18393): <qeglDrvAPI_eglInitialize:320>: EGL 1.4 QUALCOMM Build: I0404c4692afb8623f95c43aeb6d5e13ed4b30ddbDate: 11/06/13
04-09 01:50:45.713: D/OpenGLRenderer(18393): Enabling debug mode 0
04-09 01:53:56.487: D/dalvikvm(18551): Trying to load lib /data/app-lib/com.example.sodeneme-1/libffmpeg.so 0x423d7d00
04-09 01:53:56.487: D/dalvikvm(18551): Added shared lib /data/app-lib/com.example.sodeneme-1/libffmpeg.so 0x423d7d00
04-09 01:53:56.487: D/dalvikvm(18551): No JNI_OnLoad found in /data/app-lib/com.example.sodeneme-1/libffmpeg.so 0x423d7d00, skipping init
04-09 01:53:56.537: W/System.err(18551): java.io.IOException: Error running exec(). Command: [/data/data/com.example.sodeneme/files/ffmpeg, -f, image2, -i, /storage/emulated/0/img/b%d.jpg, /storage/emulated/0/DCIM/Camera/a444.mp4] Working Directory: null Environment: null
04-09 01:53:56.537: W/System.err(18551): at java.lang.ProcessManager.exec(ProcessManager.java:211)
04-09 01:53:56.537: W/System.err(18551): at java.lang.Runtime.exec(Runtime.java:173)
04-09 01:53:56.537: W/System.err(18551): at java.lang.Runtime.exec(Runtime.java:246)
04-09 01:53:56.537: W/System.err(18551): at java.lang.Runtime.exec(Runtime.java:189)
04-09 01:53:56.537: W/System.err(18551): at com.example.sodeneme.MainActivity.onCreate(MainActivity.java:40)
04-09 01:53:56.537: W/System.err(18551): at android.app.Activity.performCreate(Activity.java:5231)
04-09 01:53:56.537: W/System.err(18551): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
04-09 01:53:56.537: W/System.err(18551): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
04-09 01:53:56.537: W/System.err(18551): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
04-09 01:53:56.537: W/System.err(18551): at android.app.ActivityThread.access$800(ActivityThread.java:135)
04-09 01:53:56.537: W/System.err(18551): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
04-09 01:53:56.537: W/System.err(18551): at android.os.Handler.dispatchMessage(Handler.java:102)
04-09 01:53:56.537: W/System.err(18551): at android.os.Looper.loop(Looper.java:136)
04-09 01:53:56.537: W/System.err(18551): at android.app.ActivityThread.main(ActivityThread.java:5017)
04-09 01:53:56.537: W/System.err(18551): at java.lang.reflect.Method.invokeNative(Native Method)
04-09 01:53:56.537: W/System.err(18551): at java.lang.reflect.Method.invoke(Method.java:515)
04-09 01:53:56.537: W/System.err(18551): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
04-09 01:53:56.537: W/System.err(18551): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
04-09 01:53:56.537: W/System.err(18551): at dalvik.system.NativeStart.main(Native Method)
04-09 01:53:56.547: W/System.err(18551): Caused by: java.io.IOException: No such file or directory
04-09 01:53:56.547: W/System.err(18551): at java.lang.ProcessManager.exec(Native Method)
04-09 01:53:56.547: W/System.err(18551): at java.lang.ProcessManager.exec(ProcessManager.java:209)
04-09 01:53:56.547: W/System.err(18551): ... 18 more
04-09 01:53:56.577: I/Adreno-EGL(18551): <qeglDrvAPI_eglInitialize:320>: EGL 1.4 QUALCOMM Build: I0404c4692afb8623f95c43aeb6d5e13ed4b30ddbDate: 11/06/13
04-09 01:53:56.607: D/OpenGLRenderer(18551): Enabling debug mode 0
AUTORISATIONS
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_INTERNAL_STORAGE" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
Vous devez vous connecter pour publier un commentaire.
Peut-être vous avez besoin d'ajouter cette autorisation pour vos AndroidManifest.xml fichier:
Process
retourné? Ensuite, vérifier si le fichier existe dans "/data/data/com.exemple.foo/fichiers/" avant de continuer./data/data/
répertoire n'est disponible que pour le système des applications ou des périphériques qui sont enracinés. Donc, au lieu d'écrire dans ce répertoire, peut-être que vous pouvez écrire à votre application répertoires privés ou à l'interne, ou de la carte SD externe.Vous devez vous assurer que le
/data/data/com.example.foo/files/ffmpeg
fichier a les autorisations de fichier correct.Vous pouvez vérifier l'autorisation de fichier avec la commande suivante :
La sortie serait quelque chose comme ceci (selon les autorisations réelles , dans ce cas, les autorisations sont 777) :
Vous pouvez définir les autorisations de 744 , avec la commande ci-dessous :
Si vous êtes l'exécution de cette commande à partir de l'extérieur de l'activité (à partir d'un service permet de dire) , votre permission, vous devez être en 777 (pas 744)
J'ai eu ce même problème spontanément pendant le travail avec le ffmpeg-projet android. J'ai déjà eu toutes les autorisations que d'autres ont mentionné, et je n'avais pas eu ce problème dans le passé.
J'ai repris un vieux construire, ce qui a bien fonctionné, puis reconstruit la dernière version et c'était très bien encore une fois - de sorte que la solution dans mon cas, c'était une simple Nettoyer et Reconstruire..
L'essayer si vous êtes désespéré!