2

IMAGE + AUDIO をマージし、FFMPEG ライブラリを使用してそれらをビデオに変換したいのですが、ライブラリを正常にコンパイルし、libfmpeg.so を取得しましたが、Java コードを介して ffmpeg コマンドを実行する際に問題が発生しました。 「ffmpeg -i image8.jpg -i file.m4a -acodec copy test.mp4」 CMD を介してこの ffmpeg コマンドを実行すると、video.mp4 ファイルが正常に作成されますが、アクティビティを介して同じコマンドを実行すると、何も作成されません。ファイル。

私はコードを使用しました:

public class Mpeg extends Activity {
static {

System.loadLibrary("ffmpeg");

}

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mpeg);
File mf = Environment.getExternalStorageDirectory();

String livestream = mf.getAbsoluteFile()+"smile.png";

String folderpth = mf.getAbsoluteFile()+"RABBA.MP3";

//String output="/home/saicomputer/game.mp4";

String output = new File(Environment.getExternalStorageDirectory(), "video.mp4").getAbsolutePath();
Log.i("Test", "Let's set output to " + output);

String cmd="ffmpeg -i "+ livestream +" -i "+ folderpth +" -acodec copy "+ output;

 Log.e("chck plzzzzz", "after "+ cmd);

//String jaiho="ffmpeg -i image8.jpg -i file.m4a -acodec copy test.mp4";

try{

Process p = Runtime.getRuntime().exec(cmd);

}
catch(Exception e)
{
    System.out.println("exception"+e);
}

そしてlogcatは

06-05 17:58:10.686: D/dalvikvm(1189): Trying to load lib  /data/data/com.example.myfmpeg/lib/libffmpeg.so 0x412a5cf0
06-05 17:58:10.756: I/dalvikvm(1189): threadid=3: reacting to signal 3
06-05 17:58:10.955: D/dalvikvm(1189): Added shared lib /data/data/com.example.myfmpeg/lib/libffmpeg.so 0x412a5cf0
06-05 17:58:10.955: D/dalvikvm(1189): No JNI_OnLoad found in /data/data/com.example.myfmpeg/lib/libffmpeg.so 0x412a5cf0, skipping init
06-05 17:58:11.024: I/dalvikvm(1189): Wrote stack traces to '/data/anr/traces.txt'
06-05 17:58:11.215: I/dalvikvm(1189): threadid=3: reacting to signal 3
06-05 17:58:11.326: I/dalvikvm(1189): Wrote stack traces to '/data/anr/traces.txt'
06-05 17:58:11.466: E/image(1189): imageeeeeeeee /mnt/sdcard/smile.png
06-05 17:58:11.466: E/Test(1189): songggggggggg /mnt/sdcard/RABBA.MP3
06-05 17:58:11.476: E/Test(1189): outputttttt /mnt/sdcard/video.mp4
06-05 17:58:11.476: E/chck plzzzzz(1189): after ffmpeg -i /mnt/sdcard/smile.png -i /mnt/sdcard/RABBA.MP3 -acodec copy /mnt/sdcard/video.mp4
06-05 17:58:11.896: E/AndroidRuntime(1189): FATAL EXCEPTION: main
06-05 17:58:11.896: E/AndroidRuntime(1189): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.myfmpeg/com.example.myfmpeg.Mpeg}: java.lang.RuntimeException: java.io.IOException: Error running exec(). Command: [ffmpeg, -i, /mnt/sdcard/smile.png, -i, /mnt/sdcard/RABBA.MP3, -acodec, copy, /mnt/sdcard/video.mp4]    Working Directory: null Environment: null
06-05 17:58:11.896: E/AndroidRuntime(1189):     at     android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956)
06-05 17:58:11.896: E/AndroidRuntime(1189):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
06-05 17:58:11.896: E/AndroidRuntime(1189):     at android.app.ActivityThread.access$600(ActivityThread.java:123)
06-05 17:58:11.896: E/AndroidRuntime(1189):     at    android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
06-05 17:58:11.896: E/AndroidRuntime(1189):     at android.os.Handler.dispatchMessage(Handler.java:99)
06-05 17:58:11.896: E/AndroidRuntime(1189):     at android.os.Looper.loop(Looper.java:137)
06-05 17:58:11.896: E/AndroidRuntime(1189):     at android.app.ActivityThread.main(ActivityThread.java:4424)
06-05 17:58:11.896: E/AndroidRuntime(1189):     at java.lang.reflect.Method.invokeNative(Native Method)
06-05 17:58:11.896: E/AndroidRuntime(1189):     at java.lang.reflect.Method.invoke(Method.java:511)
06-05 17:58:11.896: E/AndroidRuntime(1189):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
06-05 17:58:11.896: E/AndroidRuntime(1189):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
06-05 17:58:11.896: E/AndroidRuntime(1189):     at dalvik.system.NativeStart.main(Native Method)
06-05 17:58:11.896: E/AndroidRuntime(1189): Caused by: java.lang.RuntimeException: java.io.IOException: Error running exec(). Command: [ffmpeg, -i, /mnt/sdcard/smile.png, -i, /mnt/sdcard/RABBA.MP3, -acodec, copy, /mnt/sdcard/video.mp4] Working Directory: null Environment: null

Javaから実行したときのエラーが何であるかわかりません。何か助けて????

4

0 に答える 0