Comments (15)
Then you have another problem. I'll suggest deleting the file manually and running the command again.
@tanersener creating file was the problem.
After using below code things started to work
from ffmpeg-kit.
Scoped storage changes are implemented in v4.4
. Earlier versions don't have them. So, you must use v4.4
(Main or LTS).
from ffmpeg-kit.
@tanersener Hi yes I started to use 4.4.LTS
I am using your command given in your sample code
" exe="-y -i " +videoPath+" -filter_complex [0:v]trim=0:"+startMs/1000+",setpts=PTS-STARTPTS[v1];[0:v]trim="+startMs/1000+":"+endMs/1000+",setpts=0.5*(PTS-STARTPTS)[v2];[0:v]trim="+(endMs/1000)+",setpts=PTS-STARTPTS[v3];[0:a]atrim=0:"+(startMs/1000)+",asetpts=PTS-STARTPTS[a1];[0:a]atrim="+(startMs/1000)+":"+(endMs/1000)+",asetpts=PTS-STARTPTS,atempo=2[a2];[0:a]atrim="+(endMs/1000)+",asetpts=PTS-STARTPTS[a3];[v1][a1][v2][a2][v3][a3]concat=n=3:v=1:a=1 "+"-b:v 2097k -vcodec mpeg4 -crf 0 -preset superfast "+filePath;"
but I am getting errors below. Is der any change in the command format?????
[[2021-04-27 10:17:28.647 2664-3612/pixelsdev.videomaker.videoeditor E/FileUtils: android.permission.WRITE_EXTERNAL_STORAGE permission not available
2021-04-27 10:17:31.901 2664-2664/pixelsdev.videomaker.videoeditor E/MediaMetadataRetrieverJNI: getEmbeddedPicture: Call to getEmbeddedPicture failed.
2021-04-27 10:17:44.140 319-319/? E/Layer: [SurfaceView - pixelsdev.videomaker.videoeditor/pixelsdev.videomaker.videoeditor.VideoEditingActivity#0] No local sync point found
2021-04-27 10:17:44.182 2664-3620/pixelsdev.videomaker.videoeditor E/EGL_emulation: eglQueryContext 32c0 EGL_BAD_ATTRIBUTE
2021-04-27 10:17:44.182 2664-3620/pixelsdev.videomaker.videoeditor E/EGL_emulation: tid 3620: eglQueryContext(2019): error 0x3004 (EGL_BAD_ATTRIBUTE)
2021-04-27 10:17:44.344 544-3672/? E/ActivityManager: ANR in pixelsdev.videomaker.videoeditor (pixelsdev.videomaker.videoeditor/pixelsdev.videomaker.newscreen.LaunchActivity)
PID: 2664
Reason: Input dispatching timed out (e9bb752 pixelsdev.videomaker.videoeditor/pixelsdev.videomaker.newscreen.LaunchActivity (server) is not responding. Waited 5004ms for FocusEvent(hasFocus=false))
Parent: pixelsdev.videomaker.videoeditor/pixelsdev.videomaker.newscreen.LaunchActivity
Load: 14.91 / 5.98 / 2.22
----- Output from /proc/pressure/memory -----
some avg10=13.13 avg60=3.09 avg300=0.69 total=2694915
full avg10=9.52 avg60=1.96 avg300=0.41 total=1716905
----- End output from /proc/pressure/memory -----
CPU usage from 0ms to 9809ms later (2021-04-27 10:17:34.520 to 2021-04-27 10:17:44.328):
32% 2194/com.android.vending: 10% user + 22% kernel / faults: 20073 minor 29 major
19% 2664/pixelsdev.videomaker.videoeditor: 6.4% user + 13% kernel / faults: 28450 minor 59 major
19% 544/system_server: 5.8% user + 14% kernel / faults: 12575 minor 105 major
8.6% 89/kswapd0: 0% user + 8.6% kernel
5.7% 362/media.codec: 1.9% user + 3.7% kernel / faults: 52916 minor 87 major
5.6% 359/mediaserver: 1.1% user + 4.4% kernel / faults: 9811 minor 128 major
5.6% 1474/com.google.android.gms: 1.9% user + 3.6% kernel / faults: 6960 minor 53 major
3.8% 2879/com.google.android.apps.messaging: 1.2% user + 2.6% kernel / faults: 5793 minor 7 major
3.6% 3372/com.google.android.apps.maps: 1.5% user + 2.1% kernel / faults: 4236 minor 71 major
3.2% 1112/com.google.android.gms.persistent: 0.6% user + 2.6% kernel / faults: 4649 minor 21 major
2.5% 319/surfaceflinger: 0.1% user + 2.4% kernel / faults: 694 minor 138 major
2.3% 16/ksoftirqd/1: 0% user + 2.3% kernel
2.3% 339/adbd: 0.5% user + 1.8% kernel / faults: 2 minor
2.2% 26/ksoftirqd/3: 0% user + 2.2% kernel
2.1% 715/com.android.systemui: 1.4% user + 0.7% kernel / faults: 7508 minor 18 major
1.9% 200/jbd2/dm-5-8: 0% user + 1.9% kernel
1.9% 2801/com.google.android.webview:sandboxed_process0:org.chromium.content.app.Sand: 0.3% user + 1.6% kernel / faults: 2643 minor
1.6% 137/kworker/u8:3-kverityd: 0% user + 1.6% kernel
1.2% 21/ksoftirqd/2: 0% user + 1.2% kernel
1.2% 298/[email protected]: 0.2% user + 1% kernel
0.1% 364/media.swcodec: 0% user + 0% kernel / faults: 5556 minor 212 major
1.1% 9/ksoftirqd/0: 0% user + 1.1% kernel
1.1% 170/logd: 0.4% user + 0.7% kernel / faults: 86 minor 6 major
1.1% 881/com.android.phone: 0.6% user + 0.5% kernel / faults: 2079 minor 3 major
1.1% 3233/com.google.android.webview:sandboxed_process0:org.chromium.content.app.Sand: 0.3% user + 0.8% kernel / faults: 1964 minor
1% 297/[email protected]: 0% user + 1% kernel / faults: 128 major
1% 357/media.extractor: 0.5% user + 0.5% kernel / faults: 2380 minor 35 major
1% 1312/com.google.process.gservices: 0.8% user + 0.2% kernel / faults: 1848 minor
1% 1378/com.google.android.providers.media.module: 0.4% user + 0.6% kernel / faults: 1015 minor 1 major
0.9% 316/audioserver: 0.2% user + 0.7% kernel / faults: 213 minor 28 major
0.7% 141/kworker/u8:4-kverityd: 0% user + 0.7% kernel
0.5% 194/kworker/u9:1-fscrypt_read_queue: 0% user + 0.5% kernel
0.5% 321/logcat: 0.3% user + 0.2% kernel / faults: 1 major
0.4% 10/rcu_preempt: 0% user + 0.4% kernel
0.4% 92/kworker/u8:1-kverityd: 0% user + 0.4% kernel
0.4% 306/[email protected]: 0.1% user + 0.3% kernel
0.4% 455/logcat: 0.1% user + 0.3% kernel / faults: 1 major
0.4% 458/kworker/u8:5-kverityd: 0% user + 0.4% kernel
0.4% 838/com.android.networkstack.process: 0.3% user + 0.1% kernel / faults: 1472 minor 4 major
0.3% 136/kworker/2:1H-kblockd: 0% user + 0.3% kernel
0.3% 171/lmkd: 0% user + 0.3% kernel
0.3% 195/kworker/u9:2-blk_crypto_wq: 0% user + 0.3% kernel
0.3% 196/kworker/u9:3-blk_crypto_wq: 0% user + 0.3% kernel
0.3% 282/statsd: 0.1% user + 0.2% kernel / faults: 90 minor 24 major
2021-04-27 10:17:49.973 2664-4217/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: /storage/emulated/0/Movies/Folder/fastforward1619498869009.mp4: File exists](url)
](url)
from ffmpeg-kit.
I am using this command for changing the color of video "String cmd = ("-y -i "+videoPath+" -t "+ getDurationString(duration)+" -vf transpose hue=h=0:s=2.5 -metadata:s:v rotate=0 -c:v libx264 -preset ultrafast -ar 44100 -c:a aac -ab 128k -strict -2" +filePath);"
I am getting the error "Unable to find a suitable output format for 'hue=h=0:s=2.5'"
below out put of ffmpeg.
[](Copyright (c) 2000-2020 the FFmpeg developers
I/mobile-ffmpeg: built with Android (6454773 based on r365631c2) clang version 9.0.8 (https://android.googlesource.com/toolchain/llvm-project 98c855489587874b2a325e7a516b99d838599c6f) (based on LLVM 9.0.8svn)
I/mobile-ffmpeg: configuration: --cross-prefix=i686-linux-android- --sysroot=/files/android-sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/linux-x86_64/sysroot --prefix=/home/taner/Projects/mobile-ffmpeg/prebuilt/android-x86/ffmpeg --pkg-config=/usr/bin/pkg-config --enable-version3 --arch=i686 --cpu=i686 --cc=i686-linux-android24-clang --cxx=i686-linux-android24-clang++ --extra-libs='-L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-x86/cpu-features/lib -lndk_compat' --target-os=android --disable-neon --disable-asm --disable-inline-asm --enable-cross-compile --enable-pic --enable-jni --enable-optimizations --enable-swscale --enable-shared --enable-v4l2-m2m --disable-outdev=fbdev --disable-indev=fbdev --enable-small --disable-openssl --disable-xmm-clobber-test --disable-debug --enable-lto --disable-neon-clobber-test --disable-programs --disable-postproc --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --disable-sndio --disable-schannel --disable-securetransport --disable-xlib --disable-cuda --disable-cuvid --disable-nvenc --disable-vaapi --disable-vdpau --disable-videotoolbox --disable-audiotoolbox --disable-appkit --disable-alsa --disable-cuda --disable-cuvid --disable-nvenc --disable-vaapi --disable-vdpau --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-gmp --enable-gnutls --enable-libmp3lame --enable-libass --enable-iconv --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libxml2 --enable-libopencore-amrnb --enable-libshine --enable-libspeex --enable-libwavpack --enable-libkvazaar --enable-libilbc --enable-libopus --enable-libsnappy --enable-libsoxr --enable-libaom --enable-libtwolame --disable-sdl2 --enable-libvo-amrwbenc --enable-zlib --enable-mediacodec
libavutil 56. 55.100 / 56. 55.100
libavcodec 58. 96.100 / 58. 96.100
I/mobile-ffmpeg: libavformat 58. 48.100 / 58. 48.100
libavdevice 58. 11.101 / 58. 11.101
libavfilter 7. 87.100 / 7. 87.100
I/mobile-ffmpeg: libswscale 5. 8.100 / 5. 8.100
libswresample 3. 8.100 / 3. 8.100
W/mobile-ffmpeg: Trailing option(s) found in the command: may be ignored.
I/mobile-ffmpeg: Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/emulated/0/Movies/VID_20210421_101749.mp4':
Metadata:
I/mobile-ffmpeg: major_brand :
I/mobile-ffmpeg: mp42
minor_version :
0
compatible_brands:
isommp42
I/mobile-ffmpeg: creation_time :
I/mobile-ffmpeg: 2021-04-21T04:47:55.000000Z
I/mobile-ffmpeg: location :
I/mobile-ffmpeg: +37.4234-122.0839/
I/mobile-ffmpeg: location-eng :
+37.4234-122.0839/
I/mobile-ffmpeg: com.android.version:
11
Duration:
I/mobile-ffmpeg: 00:00:04.82
, start:
0.000000
, bitrate:
3741 kb/s
I/mobile-ffmpeg: Stream #0:0
(eng)
I/mobile-ffmpeg: : Video: h264 (avc1 / 0x31637661), yuv420p(tv, GBR), 1280x720, 3056 kb/s
I/mobile-ffmpeg: , SAR 1:1 DAR 16:9
,
24.69 fps,
26.67 tbr,
90k tbn,
I/mobile-ffmpeg: 180k tbc
(default)
Metadata:
rotate :
90
I/mobile-ffmpeg: creation_time :
2021-04-21T04:47:55.000000Z
handler_name :
I/mobile-ffmpeg: VideoHandle
Side data:
displaymatrix: rotation of -90.00 degrees
I/mobile-ffmpeg: Stream #0:1
(eng)
: Audio: amr_nb (samr / 0x726D6173), 8000 Hz, mono, flt, 12 kb/s
I/mobile-ffmpeg: (default)
Metadata:
creation_time :
I/mobile-ffmpeg: 2021-04-21T04:47:55.000000Z
handler_name :
SoundHandle)
from ffmpeg-kit.
The first command fails because of android.permission.WRITE_EXTERNAL_STORAGE permission not available
error.
The second issue happens because your command is wrong. There are two video filters after -vf
. ffmpeg
thinks the second video filter is an option/flag.
from ffmpeg-kit.
Hi @tanersener HI I changed the command "String[] cmd2 = {"-y", "-i", videoPath, "-t", getDurationString(duration), "-vf","hue=h=0:s=0", filePath};" this command is working for below 11 android emulator, But when I try to execute in 11 Android emulator it gives out put as below. File got created with zero size.
2021-04-29 14:15:07.796 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: configuration: --cross-prefix=i686-linux-android- --sysroot=/files/android-sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/linux-x86_64/sysroot --prefix=/home/taner/Projects/mobile-ffmpeg/prebuilt/android-x86/ffmpeg --pkg-config=/usr/bin/pkg-config --enable-version3 --arch=i686 --cpu=i686 --cc=i686-linux-android16-clang --cxx=i686-linux-android16-clang++ --extra-libs='-L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-x86/cpu-features/lib -lndk_compat' --target-os=android --disable-neon --disable-asm --disable-inline-asm --enable-cross-compile --enable-pic --enable-jni --enable-optimizations --enable-swscale --enable-shared --enable-v4l2-m2m --disable-outdev=fbdev --disable-indev=fbdev --enable-small --disable-openssl --disable-xmm-clobber-test --disable-debug --enable-lto --disable-neon-clobber-test --disable-programs --disable-postproc --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --disable-sndio --disable-schannel --disable-securetransport --disable-xlib --disable-cuda --disable-cuvid --disable-nvenc --disable-vaapi --disable-vdpau --disable-videotoolbox --disable-audiotoolbox --disable-appkit --disable-alsa --disable-cuda --disable-cuvid --disable-nvenc --disable-vaapi --disable-vdpau --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-gmp --enable-gnutls --enable-libmp3lame --enable-libass --enable-iconv --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libxml2 --enable-libopencore-amrnb --enable-libshine --enable-libspeex --enable-libwavpack --enable-libkvazaar --enable-libilbc --enable-libopus --enable-libsnappy --enable-libsoxr --enable-libaom --enable-libtwolame --disable-sdl2 --enable-libvo-amrwbenc --enable-zlib --enable-mediacodec
2021-04-29 14:15:07.803 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: libavutil 56. 55.100 / 56. 55.100
2021-04-29 14:15:07.803 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: libavcodec 58. 96.100 / 58. 96.100
2021-04-29 14:15:07.803 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: libavformat 58. 48.100 / 58. 48.100
2021-04-29 14:15:07.803 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: libavdevice 58. 11.101 / 58. 11.101
2021-04-29 14:15:07.803 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: libavfilter 7. 87.100 / 7. 87.100
2021-04-29 14:15:07.803 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: libswscale 5. 8.100 / 5. 8.100
2021-04-29 14:15:07.803 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: libswresample 3. 8.100 / 3. 8.100
2021-04-29 14:15:08.046 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/emulated/0/Movies/VID_20210421_101749.mp4':
2021-04-29 14:15:08.051 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: Metadata:
2021-04-29 14:15:08.051 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: major_brand :
2021-04-29 14:15:08.051 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: mp42
2021-04-29 14:15:08.051 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: minor_version :
2021-04-29 14:15:08.051 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: 0
2021-04-29 14:15:08.051 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: compatible_brands:
2021-04-29 14:15:08.051 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: isommp42
2021-04-29 14:15:08.051 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: creation_time :
2021-04-29 14:15:08.051 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: 2021-04-21T04:47:55.000000Z
2021-04-29 14:15:08.053 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: com.android.version:
2021-04-29 14:15:08.053 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: 11
2021-04-29 14:15:08.053 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: Duration:
2021-04-29 14:15:08.054 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: 00:00:04.82
2021-04-29 14:15:08.054 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: , start:
2021-04-29 14:15:08.054 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: 0.000000
2021-04-29 14:15:08.054 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: , bitrate:
2021-04-29 14:15:08.054 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: 3741 kb/s
2021-04-29 14:15:08.054 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: Stream #0:0
2021-04-29 14:15:08.054 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: (eng)
2021-04-29 14:15:08.054 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: : Video: h264 (avc1 / 0x31637661), yuv420p(tv, GBR), 1280x720, 3056 kb/s
2021-04-29 14:15:08.054 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: , SAR 1:1 DAR 16:9
2021-04-29 14:15:08.054 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: ,
2021-04-29 14:15:08.054 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: 24.69 fps,
2021-04-29 14:15:08.054 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: 26.67 tbr,
2021-04-29 14:15:08.054 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: 90k tbn,
2021-04-29 14:15:08.054 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: 180k tbc
2021-04-29 14:15:08.054 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: (default)
2021-04-29 14:15:08.054 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: Metadata:
2021-04-29 14:15:08.054 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: rotate :
2021-04-29 14:15:08.054 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: 90
2021-04-29 14:15:08.055 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: creation_time :
2021-04-29 14:15:08.055 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: 2021-04-21T04:47:55.000000Z
2021-04-29 14:15:08.055 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: handler_name :
2021-04-29 14:15:08.055 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: VideoHandle
2021-04-29 14:15:08.055 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: Side data:
2021-04-29 14:15:08.055 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg:
2021-04-29 14:15:08.055 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: displaymatrix: rotation of -90.00 degrees
2021-04-29 14:15:08.055 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: Stream #0:1
2021-04-29 14:15:08.055 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: (eng)
2021-04-29 14:15:08.055 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: : Audio: amr_nb (samr / 0x726D6173), 8000 Hz, mono, flt, 12 kb/s
2021-04-29 14:15:08.055 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: (default)
2021-04-29 14:15:08.055 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: Metadata:
2021-04-29 14:15:08.055 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: creation_time :
2021-04-29 14:15:08.055 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: 2021-04-21T04:47:55.000000Z
2021-04-29 14:15:08.055 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: handler_name :
2021-04-29 14:15:08.055 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: SoundHandle
2021-04-29 14:15:08.057 12886-13402/pixelsdev.videomaker.videoeditor E/mobile-ffmpeg: /storage/emulated/0/Movies/Folder/reversescope1619685907559.mp4: File exists
This is how I am calling FFMPEG
[[ final String filePath;
String filePrefix = "Videoeditor";
String fileExtn = ".mp4";
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
ContentValues valuesvideos = new ContentValues();
valuesvideos.put(MediaStore.Video.Media.RELATIVE_PATH, "Movies/" + "Folder");
valuesvideos.put(MediaStore.Video.Media.TITLE, filePrefix+System.currentTimeMillis());
valuesvideos.put(MediaStore.Video.Media.DISPLAY_NAME, filePrefix+System.currentTimeMillis()+fileExtn);
valuesvideos.put(MediaStore.Video.Media.MIME_TYPE, "video/mp4");
valuesvideos.put(MediaStore.Video.Media.DATE_ADDED, System.currentTimeMillis() / 1000);
valuesvideos.put(MediaStore.Video.Media.DATE_TAKEN, System.currentTimeMillis());
Uri uri = getContentResolver().insert(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, valuesvideos);
File file= null;
try {
file = FileUtils.getFileFromUri(this,uri);
} catch (Exception e) {
e.printStackTrace();
}
filePath=file.getAbsolutePath();
}else{
filePrefix = "reverse";
fileExtn = ".mp4";
File dest = new File(new File(app_folder), filePrefix + fileExtn);
int fileNo = 0;
while (dest.exists()) {
fileNo++;
dest = new File(new File(app_folder), filePrefix + fileNo + fileExtn);
}
filePath = dest.getAbsolutePath();
}
int duration = getVideoDuration(videoPath);
String[] cmd2 = {"-y", "-i", videoPath, "-t", getDurationString(duration), "-vf","hue=h=0:s=0", filePath};
execFFmpegBinary(cmd2);](url)
}](url)
[
private void execFFmpegBinary(final String[] command) {
Config.enableLogCallback(new LogCallback() {
@Override
public void apply(LogMessage message) {
Log.e(Config.TAG, message.getText());
}
});
Config.enableStatisticsCallback(new StatisticsCallback() {
@Override
public void apply(Statistics newStatistics) {
Log.e(Config.TAG, String.format("frame: %d, time: %d", newStatistics.getVideoFrameNumber(), newStatistics.getTime()));
Log.d("TAG", "Started command : ffmpeg " + Arrays.toString(command));
}
});
Log.d("TAG", "Started command : ffmpeg " + Arrays.toString(command));
//progressDialog.setMessage("Processing...");
progressDialog.show();
long executionId = com.arthenica.mobileffmpeg.FFmpeg.executeAsync(command, (executionId1, returnCode) -> {
if (returnCode == Config.RETURN_CODE_SUCCESS) {
progressDialog.dismiss();
Toast.makeText(getApplicationContext(),"SUCCESS",Toast.LENGTH_LONG).show();
Log.d("TAG", "Finished command : ffmpeg " + Arrays.toString(command));
callActivity();
}
else if(returnCode == RETURN_CODE_CANCEL)
{
progressDialog.dismiss();
Toast.makeText(getApplicationContext(),"Command Canelled",Toast.LENGTH_LONG).show();
Log.d("TAG", "Finished command : ffmpeg " + Arrays.toString(command));
}
else {
Toast.makeText(getApplicationContext(),"Command Failed",Toast.LENGTH_LONG).show();
progressDialog.dismiss();
}
});
Log.e("TAG", "execFFmpegMergeVideo executionId-" + executionId);
}](url)
from ffmpeg-kit.
Your logs have a different error /storage/emulated/0/Movies/Folder/reversescope1619685907559.mp4: File exists
. Are you running the same command?
from ffmpeg-kit.
@tanersener In first comment u told after -vf there are two video filters, so I changed the command
- "String cmd = ("-y -i "+videoPath+" -t "+ getDurationString(duration)+" -vf transpose hue=h=0:s=2.5 -metadata:s:v rotate=0 -c:v libx264 -preset ultrafast -ar 44100 -c:a aac -ab 128k -strict -2" +filePath);"
to - "String[] cmd2 = {"-y", "-i", videoPath, "-t", getDurationString(duration), "-vf","hue=h=0:s=0", filePath};"
Second command is working below 11 but in 11 it is giving error.
from ffmpeg-kit.
in 11 Android emulator it gives out put as below. File got created with zero size.
This is your message.
/storage/emulated/0/Movies/Folder/reversescope1619685907559.mp4: File exists
And this is the error message in your logs.
What I'm trying to say is, I don't get whether your file is created with zero size or your command fails with File exists
error. Can you explain that please?
from ffmpeg-kit.
@tanersener my command fails with File exists error (returnCode 1) only in android 11 below 11 command is working.
from ffmpeg-kit.
-y
option is used to tell ffmpeg
to override a file in a command. Are you sure you have that option in your command?
from ffmpeg-kit.
-y
option is used to tellffmpeg
to override a file in a command. Are you sure you have that option in your command?
@tanersener yes that command is having "-y".
from ffmpeg-kit.
Then you have another problem. I'll suggest deleting the file manually and running the command again.
from ffmpeg-kit.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
from ffmpeg-kit.
Then you have another problem. I'll suggest deleting the file manually and running the command again.
@tanersener creating file was the problem. After using below code things started to work
This is the solution for Scoped Storage (Android 10+)
Thank you, it worked!
from ffmpeg-kit.
Related Issues (20)
- In flutter library provide a properties getters and setters in dart syntax, as a property, instead of methods get*() and set*() HOT 1
- Multiple commands produce ~'/Frameworks/ffmpegkit.framework' HOT 1
- File conversion to mp3 returning failure everytime. HOT 2
- Can't remove console.logs in index.js HOT 1
- Request support for vulkan and libplacebo HOT 1
- React-Native/Expo | Cannot use libx265 HOT 4
- [EXPO] How to use --speed flag? HOT 1
- No such filter: 'transpose=2' HOT 4
- [Android] - [Question] Create video from in memory images? HOT 1
- get some error while merging audio with image HOT 1
- Add clearCompletedSessions please:
- MissingPluginException(No implementation found for method getLogLevel on channel flutter.arthenica.com/ffmpeg_kit) package:flutter/src/services/platform_channel.dart 332:7 MethodChannel._invokeMethod HOT 9
- Is there any way to pause and resume the conversion process? HOT 4
- configureCodec returning error -61
- Android No match for targetSdk 34
- Can not set libx264 encoder Settings will report error other encoders no problem HOT 1
- Feature Request: Support --speed flag in ffmpeg_kit_flutter
- Draw Text HOT 1
- Android | Thumbnail generation for HLS video stream
- Apple | Not able to build project
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ffmpeg-kit.