Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于视频过滤器的Android FFMPEG命令行_Android_Video_Ffmpeg - Fatal编程技术网

用于视频过滤器的Android FFMPEG命令行

用于视频过滤器的Android FFMPEG命令行,android,video,ffmpeg,Android,Video,Ffmpeg,我正在使用以下命令在视频中添加复古效果 String[] ffmpegCommand = {"/data/data/com.mobvcasting.mjpegffmpeg/ffmpeg", "-r", ""+p.getPreviewFrameRate(), "-b", "1000000", "-vcodec", "mjpeg", "-i", Environment.getExternalStorageDirectory().getPath() + "/com.mobvcasting.mjpegf

我正在使用以下命令在视频中添加复古效果

String[] ffmpegCommand = {"/data/data/com.mobvcasting.mjpegffmpeg/ffmpeg", "-r", ""+p.getPreviewFrameRate(), "-b", "1000000", "-vcodec", "mjpeg", "-i", Environment.getExternalStorageDirectory().getPath() + "/com.mobvcasting.mjpegffmpeg/frame_%05d.jpg","-vcodec", "mjpeg", "-acodec","libfaac","-vf","curves=vintage", "-qscale", "3", "-async", "1", "-y",Environment.getExternalStorageDirectory().getPath() + "/com.mobvcasting.mjpegffmpeg/video.mp4"};

ffmpegProcess = new ProcessBuilder(ffmpegCommand).redirectErrorStream(true).start();            

BufferedReader reader = new BufferedReader(new InputStreamReader(ffmpegProcess.getInputStream()));
但我得到了以下错误:

09-02 13:42:57.343: V/MJPEG_FFMPEG(2346): Finished Writing Frame
09-02 13:42:57.351: V/MJPEG_FFMPEG(2346): Recording Stopped
09-02 13:42:57.414: V/MJPEG_FFMPEG(2346): ***Starting FFMPEG***
09-02 13:42:57.460: V/MJPEG_FFMPEG(2346): ***FFmpeg version UNKNOWN, Copyright (c) 2000-2010 the FFmpeg developers***
09-02 13:42:57.460: V/MJPEG_FFMPEG(2346): ***  built on Jul 28 2011 16:47:07 with gcc 4.4.3***
09-02 13:42:57.460: V/MJPEG_FFMPEG(2346): ***  configuration: --target-os=linux --cross-prefix=arm-linux-androideabi- --arch=arm --sysroot=/Developer/android-ndk-r5b//platforms/android-3/arch-arm --soname-prefix=/data/data/com.mobvcasting.mjpegffmpeg/ --enable-shared --disable-symver --enable-small --optimization-flags=-O2 --enable-encoder=mpeg2video --enable-encoder=nellymoser --enable-protocol=file --prefix=../build/ffmpeg/armeabi --extra-cflags= --extra-ldflags=***
09-02 13:42:57.460: V/MJPEG_FFMPEG(2346): ***  libavutil     50.34. 0 / 50.34. 0***
09-02 13:42:57.460: V/MJPEG_FFMPEG(2346): ***  libavcore      0.16. 0 /  0.16. 0***
09-02 13:42:57.460: V/MJPEG_FFMPEG(2346): ***  libavcodec    52.99. 1 / 52.99. 1***
09-02 13:42:57.460: V/MJPEG_FFMPEG(2346): ***  libavformat   52.88. 0 / 52.88. 0***
09-02 13:42:57.460: V/MJPEG_FFMPEG(2346): ***  libavdevice   52. 2. 2 / 52. 2. 2***
09-02 13:42:57.460: V/MJPEG_FFMPEG(2346): ***  libavfilter    1.69. 0 /  1.69. 0***
09-02 13:42:57.460: V/MJPEG_FFMPEG(2346): ***  libswscale     0.12. 0 /  0.12. 0***

09-02 13:42:57.648: V/MJPEG_FFMPEG(2346): ***Input #0, image2, from '/mnt/sdcard/com.mobvcasting.mjpegffmpeg/frame_%05d.jpg':***
09-02 13:42:57.656: V/MJPEG_FFMPEG(2346): ***  Duration: 00:00:01.83, start: 0.000000, bitrate: N/A***
09-02 13:42:57.656: V/MJPEG_FFMPEG(2346): ***    Stream #0.0: Video: mjpeg, yuvj420p, 320x240 [PAR 1:1 DAR 4:3], 30 fps, 30 tbr, 30 tbn, 30 tbc***
09-02 13:42:57.695: V/MJPEG_FFMPEG(2346): ***[buffer @ 0x5d110] w:320 h:240 pixfmt:yuvj420p***
09-02 13:42:57.695: V/MJPEG_FFMPEG(2346): ***No such filter: 'curves'***
09-02 13:42:57.695: V/MJPEG_FFMPEG(2346): ***Error opening filters!***
09-02 13:42:57.695: V/MJPEG_FFMPEG(2346): ***Ending FFMPEG***

非常感谢您的帮助。

您的ffmpeg版本太旧,无法支持带有预设的视频过滤器。在2013-03-25()上添加了预设,将libavfilter升级到3.48.103版


您需要更新您的ffmpeg。

Hi@user2568369,我正在尝试在Android上执行ffmpeg命令(在添加编译文件和所有这些文件之后),但我不知道如何。。。我刚刚看到了你的方式,但我不知道你在apk文件目录/data/data/com.mobvcasting.mjpegffmpeg/ffmpeg中放了什么。如果你能帮助我,我将不胜感激…谢谢!!