2017-04-15 158 views
1

我想爲我的Android應用程序運行以下命令:FFMPEG輸出文件#0中不包含任何流

"ffmpeg -i /full/path.video.mp4 -ignore_loop 0 -i myGif.gif -filter_complex \"[0][1]overlay=0:H-100\" /full/path/videoWithGifOverlay.mp4" 

,但我得到我得到一個錯誤。

這裏是輸出中:

04-14 18:36:30.386 30508-30508/com.example.android.camera2video I/onProgress(): ***Output #0, mp4, to 'ffmpeg -i /full/path/video.mp4 -ignore_loop 0 -i myGif.gif -filter_complex "[0][1]overlay=0:H-100" /full/path/videoWithGifOverlay.mp4': 
04-14 18:36:30.386 30508-30508/com.example.android.camera2video I/onProgress(): ***Output file #0 does not contain any stream 
04-14 18:36:30.386 30508-30508/com.example.android.camera2video E/onFailure(): ***ffmpeg version n3.0.1 Copyright (c) 2000-2016 the FFmpeg developers 
    built with gcc 4.8 (GCC) 
    configuration: --target-os=linux --cross-prefix=/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/bin/arm-linux-androideabi- 
    --arch=arm --cpu=cortex-a8 --enable-runtime-cpudetect --sysroot=/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/sysroot 
    --enable-pic --enable-libx264 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-fontconfig --enable-pthreads 
    --disable-debug --disable-ffserver --enable-version3 --enable-hardcoded-tables --disable-ffplay --disable-ffprobe --enable-gpl --enable-yasm 
    --disable-doc --disable-shared --enable-static --pkg-config=/home/vagrant/SourceCode/ffmpeg-android/ffmpeg-pkg-config 
    --prefix=/home/vagrant/SourceCode/ffmpeg-android/build/armeabi-v7a --extra-cflags='-I/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/include 
    -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-strict-overflow -fstack-protector-all' --extra-ldflags='-L/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/lib 
    -Wl,-z,relro -Wl,-z,now -pie' --extra-libs='-lpng -lexpat -lm' --extra-cxxflags= 
    libavutil  55. 17.103/55. 17.103 
    libavcodec  57. 24.102/57. 24.102 
    libavformat 57. 25.100/57. 25.100 
    libavdevice 57. 0.101/57. 0.101 
    libavfilter  6. 31.100/6. 31.100 
    libswscale  4. 0.100/4. 0.100 
    libswresample 2. 0.101/2. 0.101 
    libpostproc 54. 0.100/54. 0.100 
    Output #0, mp4, to 'ffmpeg -i /full/path/video.mp4 -ignore_loop 0 -i myGif.gif -filter_complex "[0][1]overlay=0:H-100" /full/path/videoWithGifOverlay.mp4': 
    Output file #0 does not contain any stream 

我想保存的視頻,其錄製後,上面有一個GIF覆蓋。

+0

看來你的輸出文件名爲'ffmpeg -i /full/path/video.mp4 -ignore_loop 0 -i myGif.gif -filter_complex「[0] [1] overlay = 0 :H-100「/ full/path/videoWithGifOverlay.mp4」而不是'videoWithGifOverlay.mp4'。可能是典型的,常見的Android報價問題。 – LordNeckbeard

回答

1

,如果你看一看FFmpeg的機器人樣品,你會看到他們(空間)將每一個「」,所以不是通過一個集成的字符串命令,你應該做這樣的事情:

String[] commands = new String[10]; 
commands[0] ="-i"; 
commands[1] = "/full/path.video.mp4"; 

......