Ich habe ein Problem mit https://github.com/WritingMinds/ffmpeg-android-java. Es ist Java-Wrapper-Lib für ffmpeg auf Android und funktioniert ziemlich gut. Aber es scheint, dass Sie nicht zwei Video-Kodierungen hintereinander ausführen können. Eigentlich wird es Video nur einmal im Leben kodieren. Jedes Mal, wenn Sie versuchen, ein Video zu kodieren, wird es eingefroren. Dies ist die Ausgabe, die ich bekomme, wenn es einfriert:Android ffmpeg schlägt beim zweiten Lauf fehl
Build.CPU_ABI : arm64-v8a
Loading FFmpeg for armv7 CPU
Running publishing updates method
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
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/emulated/0/WhatsApp/Media/WhatsApp Video/VID-20160731-WA0005.mp4':
Metadata:
major_brand : mp42
minor_version : 1
compatible_brands: mp41mp42isom
creation_time : 2016-07-31 17:24:29
Duration: 00:00:13.63, start: 0.000000, bitrate: 1641 kb/s
Stream #0:0(und): Video: h264 (High) (avc1/0x31637661), yuv420p(tv, bt709), 544x960, 1573 kb/s, 30 fps, 30 tbr, 600 tbn, 1200 tbc (default)
Metadata:
creation_time : 2016-07-31 17:24:29
handler_name : Core Media Video
Stream #0:1(und): Audio: aac (LC) (mp4a/0x6134706D), 44100 Hz, stereo, fltp, 62 kb/s (default)
Metadata:
creation_time : 2016-07-31 17:24:29
handler_name : Core Media Audio
Ich bin mir nicht sicher, was los ist. Es sieht so aus, als ob ffmpeg nach der ersten Kodierung etwas hinterlässt, das es für zukünftige Kodierungen sperrt. Und es funktioniert nur, wenn ich die Anwendung deinstalliere und neu installiere.
- Wenn Sie eine App aus dem Hintergrund beenden, bleibt dieses Problem bestehen.
- Wenn Sie es beenden und das Gerät neu starten Problem bleibt.
- Wenn Sie erzwingen beenden in den Einstellungen bleibt das Problem.
Nur Neuinstallation ermöglicht es mir, ein neues Video einmal zu codieren. Danach funktioniert nichts.