
Recherche avancée
Médias (2)
-
GetID3 - Bloc informations de fichiers
9 avril 2013, par
Mis à jour : Mai 2013
Langue : français
Type : Image
-
GetID3 - Boutons supplémentaires
9 avril 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Image
Autres articles (103)
-
Encoding and processing into web-friendly formats
13 avril 2011, parMediaSPIP automatically converts uploaded files to internet-compatible formats.
Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
All uploaded files are stored online in their original format, so you can (...) -
Les formats acceptés
28 janvier 2010, parLes commandes suivantes permettent d’avoir des informations sur les formats et codecs gérés par l’installation local de ffmpeg :
ffmpeg -codecs ffmpeg -formats
Les format videos acceptés en entrée
Cette liste est non exhaustive, elle met en exergue les principaux formats utilisés : h264 : H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 m4v : raw MPEG-4 video format flv : Flash Video (FLV) / Sorenson Spark / Sorenson H.263 Theora wmv :
Les formats vidéos de sortie possibles
Dans un premier temps on (...) -
Gestion de la ferme
2 mars 2010, parLa ferme est gérée dans son ensemble par des "super admins".
Certains réglages peuvent être fais afin de réguler les besoins des différents canaux.
Dans un premier temps il utilise le plugin "Gestion de mutualisation"
Sur d’autres sites (4654)
-
Android : FFMpeg video creation crashes with no exception when loading binaries in lower APIs (18 in my case)
29 avril 2019, par Diego PerezI have an app that uses FFMpeg for video creation (these next lines are the relevant build.gradle plugin files) :
//writingminds
api 'com.writingminds:FFmpegAndroid:0.3.2'
//JavaCV video
api group: 'org.bytedeco', name: 'javacv', version: '1.4.4'
api group: 'org.bytedeco.javacpp-presets', name: 'opencv', version: '4.0.1-1.4.4', classifier: 'android-arm'
api group: 'org.bytedeco.javacpp-presets', name: 'ffmpeg', version: '4.1-1.4.4', classifier: 'android-arm'And my app is working (and creating video) just fine in my phone with a newer Android 8 version but I’m having weird problems in my old API 18 tablet (where, as a note, I had to install multidex).
These next lines are the main part of FFMpeg video creation, where binaries are loaded, and, in fact, binaries load are where app crashes in my old tablet in the line "ffmpeg.loadBinary(new LoadBinaryResponseHandler()..."
As you can see, I have a try/catch where the app crashes, but it crashes with no exception, as catch blocks are never hit.
public static String recordVideo(JSONObject objJSON) {
String strReturn = Enum.Result.OK;
try {
fileName = objJSON.has("file_name") ? String.valueOf(objJSON.getString("file_name")) : "";
videoPath = objJSON.has("video_path") ? String.valueOf(objJSON.getString("video_path")) : "";
} catch (JSONException e) {
ExceptionHandler.logException(e);
}
FFmpeg ffmpeg = FFmpeg.getInstance(ApplicationContext.get());
try {
ffmpeg.loadBinary(new LoadBinaryResponseHandler() {
@Override
public void onStart() {}
@Override
public void onFailure() {}
@Override
public void onSuccess() {}
@Override
public void onFinish() {}
});
} catch (FFmpegNotSupportedException e) {
// Handle if FFmpeg is not supported by device
} catch (Exception e) {
}
...These next lines are the relevant part of the LogCat, but I cannot figure out where the problem resides, maybe an out of memory problem ?
Any help will be much appreciated.
04-28 21:44:45.873 13743-13964/com.artandwords.thoughtoftheday A/libc: Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1), thread 13964 (AsyncTask #4)
04-28 21:44:45.973 144-144/? I/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
04-28 21:44:45.983 144-144/? I/DEBUG: Build fingerprint: 'asus/WW_epad/ME302C:4.3/JSS15Q/WW_epad-V5.0.21-20140701:user/release-keys'
04-28 21:44:45.983 144-144/? I/DEBUG: Revision: '0'
04-28 21:44:45.983 144-144/? I/DEBUG: pid: 13743, tid: 13964, name: AsyncTask #4 >>> com.artandwords.thoughtoftheday <<<
04-28 21:44:45.983 144-144/? I/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000000
04-28 21:44:46.003 144-144/? I/DEBUG: eax 00000000 ebx 000000c6 ecx 00000000 edx 00000000
04-28 21:44:46.003 144-144/? I/DEBUG: esi 00000e59 edi 00000000
04-28 21:44:46.003 144-144/? I/DEBUG: xcs 00000073 xds 0000007b xes 0000007b xfs 00000043 xss 0000007b
04-28 21:44:46.003 144-144/? I/DEBUG: eip 784ed378 ebp 2200ff0c esp 2200fec4 flags 00210246
04-28 21:44:46.003 144-144/? I/DEBUG: backtrace:
04-28 21:44:46.003 144-144/? I/DEBUG: #00 pc 00087378 /system/lib/libhoudini.so.3.4.7.44914
04-28 21:44:46.003 144-144/? I/DEBUG: #01 pc 00085d0e /system/lib/libhoudini.so.3.4.7.44914
04-28 21:44:46.003 144-144/? I/DEBUG: #02 pc 00073328 /system/lib/libhoudini.so.3.4.7.44914
04-28 21:44:46.003 144-144/? I/DEBUG: #03 pc 0006f7ff /system/lib/libhoudini.so.3.4.7.44914
04-28 21:44:46.003 144-144/? I/DEBUG: #04 pc 0006f3bf /system/lib/libhoudini.so.3.4.7.44914
04-28 21:44:46.003 144-144/? I/DEBUG: #05 pc 000b92de /system/lib/libhoudini.so.3.4.7.44914
04-28 21:44:46.003 144-144/? I/DEBUG: #06 pc ffffffff <unknown>
04-28 21:44:46.003 144-144/? I/DEBUG: #07 pc 001445aa /system/lib/libhoudini.so.3.4.7.44914
04-28 21:44:46.013 144-144/? I/DEBUG: stack:
04-28 21:44:46.013 144-144/? I/DEBUG: 7b436850 00000000
04-28 21:44:46.013 144-144/? I/DEBUG: 7b436854 00000000
04-28 21:44:46.013 144-144/? I/DEBUG: 7b436858 00000000
04-28 21:44:46.013 144-144/? I/DEBUG: 7b43685c 00000000
04-28 21:44:46.013 144-144/? I/DEBUG: 7b436860 00000000
04-28 21:44:46.013 144-144/? I/DEBUG: 7b436864 00000000
04-28 21:44:46.013 144-144/? I/DEBUG: 7b436868 00000000
04-28 21:44:46.013 144-144/? I/DEBUG: 7b43686c 3822676c /system/lib/arm/libc.so
04-28 21:44:46.013 144-144/? I/DEBUG: 7b436870 7b436a98
04-28 21:44:46.013 144-144/? I/DEBUG: 7b436874 00000000
04-28 21:44:46.013 144-144/? I/DEBUG: 7b436878 7b4368c8
04-28 21:44:46.013 144-144/? I/DEBUG: 7b43687c 7b436a98
04-28 21:44:46.013 144-144/? I/DEBUG: 7b436880 383003a0 /system/lib/arm/libdl.so
04-28 21:44:46.013 144-144/? I/DEBUG: 7b436884 00000000
04-28 21:44:46.013 144-144/? I/DEBUG: 7b436888 7b4368c8
04-28 21:44:46.013 144-144/? I/DEBUG: 7b43688c 785aa5ab /system/lib/libhoudini.so.3.4.7.44914
04-28 21:44:46.013 144-144/? I/DEBUG: #07 7b436890 7b4368a0
04-28 21:44:46.013 144-144/? I/DEBUG: 7b436894 00000000
04-28 21:44:46.013 144-144/? I/DEBUG: 7b436898 00000000
04-28 21:44:46.013 144-144/? I/DEBUG: 7b43689c 00000000
04-28 21:44:46.013 144-144/? I/DEBUG: 7b4368a0 7b4368c8
04-28 21:44:46.013 144-144/? I/DEBUG: 7b4368a4 7b436890
04-28 21:44:46.013 144-144/? I/DEBUG: 7b4368a8 785aa59d /system/lib/libhoudini.so.3.4.7.44914
04-28 21:44:46.013 144-144/? I/DEBUG: 7b4368ac 7b436a98
04-28 21:44:46.013 144-144/? I/DEBUG: 7b4368b0 7b437930
04-28 21:44:46.013 144-144/? I/DEBUG: 7b4368b4 220001d0
04-28 21:44:46.013 144-144/? I/DEBUG: 7b4368b8 7b436a70
04-28 21:44:46.013 144-144/? I/DEBUG: 7b4368bc 00000000
04-28 21:44:46.013 144-144/? I/DEBUG: 7b4368c0 00000000
04-28 21:44:46.013 144-144/? I/DEBUG: 7b4368c4 00000000
04-28 21:44:46.013 144-144/? I/DEBUG: 7b4368c8 7b436a88
04-28 21:44:46.013 144-144/? I/DEBUG: 7b4368cc 785f3141 /system/lib/libhoudini.so.3.4.7.44914
--------- beginning of /dev/log/system
04-28 21:44:46.063 450-470/? I/BootReceiver: Copying /data/tombstones/tombstone_03 to DropBox (SYSTEM_TOMBSTONE)
04-28 21:44:46.063 450-13973/? W/ActivityManager: Force finishing activity com.artandwords.thoughtoftheday/.activities.DisplayThoughtActivity
04-28 21:44:46.073 145-862/? E/IMGSRV: :0: PVRDRMOpen: TP3, ret = 75
04-28 21:44:46.093 450-13973/? E/JavaBinder: !!! FAILED BINDER TRANSACTION !!!
04-28 21:44:46.093 450-483/? W/InputDispatcher: channel '21edd9e8 com.artandwords.thoughtoftheday/com.artandwords.thoughtoftheday.activities.main.MainActivity (server)' ~ Consumer closed input channel or an error occurred. events=0x9
04-28 21:44:46.093 450-483/? E/InputDispatcher: channel '21edd9e8 com.artandwords.thoughtoftheday/com.artandwords.thoughtoftheday.activities.main.MainActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
04-28 21:44:46.093 155-13945/? W/TimedEventQueue: Event 25 was not found in the queue, already cancelled?
04-28 21:44:46.093 155-3134/? W/AudioFlinger: session id 324 not found for pid 155
04-28 21:44:46.103 450-450/? W/InputDispatcher: Attempted to unregister already unregistered input channel '21edd9e8 com.artandwords.thoughtoftheday/com.artandwords.thoughtoftheday.activities.main.MainActivity (server)'
04-28 21:44:46.103 450-755/? I/WindowState: WIN DEATH: Window{21b33a28 u0 com.artandwords.thoughtoftheday/com.artandwords.thoughtoftheday.activities.DisplayThoughtActivity}
04-28 21:44:46.103 450-13973/? W/ActivityManager: Exception thrown during pause
android.os.TransactionTooLargeException
at android.os.BinderProxy.transact(Native Method)
at android.app.ApplicationThreadProxy.schedulePauseActivity(ApplicationThreadNative.java:642)
at com.android.server.am.ActivityStack.startPausingLocked(ActivityStack.java:1007)
at com.android.server.am.ActivityStack.finishActivityLocked(ActivityStack.java:3905)
at com.android.server.am.ActivityStack.finishActivityLocked(ActivityStack.java:3837)
at com.android.server.am.ActivityManagerService.handleAppCrashLocked(ActivityManagerService.java:8588)
at com.android.server.am.ActivityManagerService.makeAppCrashingLocked(ActivityManagerService.java:8465)
at com.android.server.am.ActivityManagerService.crashApplication(ActivityManagerService.java:9170)
at com.android.server.am.ActivityManagerService.handleApplicationCrashInner(ActivityManagerService.java:8699)
at com.android.server.am.NativeCrashListener$NativeCrashReporter.run(NativeCrashListener.java:86)
04-28 21:44:46.103 450-450/? I/WindowState: WIN DEATH: Window{21edd9e8 u0 com.artandwords.thoughtoftheday/com.artandwords.thoughtoftheday.activities.main.MainActivity}
04-28 21:44:46.103 450-636/? I/WindowState: WIN DEATH: Window{21be0690 u0 com.artandwords.thoughtoftheday/com.artandwords.thoughtoftheday.activities.DisplayThoughtActivity}
04-28 21:44:46.113 450-13973/? I/WindowManager: computeScreenConfigurationLocked() Enter {1.15 ?mcc?mnc ?locale ?layoutDir ?swdp ?wdp ?hdp ?density ?lsize ?long ?orien ?uimode ?night ?touch ?keyb/?/? ?nav/?}
04-28 21:44:46.113 450-13973/? I/WindowManager: dw=1200, dh=1920
04-28 21:44:46.113 450-13973/? I/WindowManager: appWidth=1200, appHeight=1848
04-28 21:44:46.113 450-13973/? I/WindowManager: tempdm=DisplayMetrics{density=1.5, width=1200, height=1848, scaledDensity=1.5, xdpi=221.201, ydpi=220.591}
04-28 21:44:46.113 450-13973/? I/WindowManager: dm=DisplayMetrics{density=1.5, width=1200, height=1848, scaledDensity=1.5, xdpi=221.201, ydpi=220.591}, ro.product.device=ME302C
04-28 21:44:46.113 450-13973/? I/WindowManager: getConfigDisplayWidth=1200, getConfigDisplayHeight=1810
04-28 21:44:46.113 450-13973/? I/WindowManager: screenWidthDp=800, screenHeightDp=1206
04-28 21:44:46.113 450-13973/? I/WindowManager: computeScreenConfigurationLocked() Leave {1.15 ?mcc?mnc ?locale ?layoutDir sw800dp w800dp h1206dp 240dpi xlrg port ?uimode ?night finger -keyb/v/h -nav/h}
04-28 21:44:46.113 450-13973/? I/ActivityManager: Restarting because process died: ActivityRecord{21ab1f80 u0 com.artandwords.thoughtoftheday/.activities.main.MainActivity}
04-28 21:44:46.113 450-13973/? W/ActivityManager: Exception when starting activity com.artandwords.thoughtoftheday/.activities.main.MainActivity
android.os.DeadObjectException
at android.os.BinderProxy.transact(Native Method)
at android.app.ApplicationThreadProxy.scheduleLaunchActivity(ApplicationThreadNative.java:730)
at com.android.server.am.ActivityStack.realStartActivityLocked(ActivityStack.java:733)
at com.android.server.am.ActivityStack.startSpecificActivityLocked(ActivityStack.java:840)
at com.android.server.am.ActivityStack.resumeTopActivityLocked(ActivityStack.java:1790)
at com.android.server.am.ActivityStack.resumeTopActivityLocked(ActivityStack.java:1449)
at com.android.server.am.ActivityStack.startPausingLocked(ActivityStack.java:1058)
at com.android.server.am.ActivityStack.finishActivityLocked(ActivityStack.java:3905)
at com.android.server.am.ActivityStack.finishActivityLocked(ActivityStack.java:3837)
at com.android.server.am.ActivityManagerService.handleAppCrashLocked(ActivityManagerService.java:8588)
at com.android.server.am.ActivityManagerService.makeAppCrashingLocked(ActivityManagerService.java:8465)
at com.android.server.am.ActivityManagerService.crashApplication(ActivityManagerService.java:9170)
at com.android.server.am.ActivityManagerService.handleApplicationCrashInner(ActivityManagerService.java:8699)
at com.android.server.am.NativeCrashListener$NativeCrashReporter.run(NativeCrashListener.java:86)
04-28 21:44:46.123 450-13973/? W/ContextImpl: Calling a method in the system process without a qualified user: android.app.ContextImpl.startService:1396 com.android.server.am.ActivityStack.sendActivityBroadcastLocked:4923 com.android.server.am.ActivityStack.removeActivityFromHistoryLocked:4089 com.android.server.am.ActivityStack.removeHistoryRecordsForAppLocked:4346 com.android.server.am.ActivityManagerService.handleAppDiedLocked:3163
04-28 21:44:46.123 450-13973/? I/ActivityManager: Start proc com.artandwords.thoughtoftheday for activity com.artandwords.thoughtoftheday/.activities.main.MainActivity: pid=13975
</unknown>Edit 1 :
Still investigating and entered FFmpeg.java to the method loadBinary while debugging, which code I’ll paste below and the line making the crash is switch (CpuArchHelper.getCpuArch())
@Override
public void loadBinary(FFmpegLoadBinaryResponseHandler ffmpegLoadBinaryResponseHandler) throws FFmpegNotSupportedException
String cpuArchNameFromAssets = null ;
switch (CpuArchHelper.getCpuArch())
case x86 :
Log.i("Loading FFmpeg for x86 CPU") ;
cpuArchNameFromAssets = "x86" ;
break ;
case ARMv7 :
Log.i("Loading FFmpeg for armv7 CPU") ;
cpuArchNameFromAssets = "armeabi-v7a" ;
break ;
case NONE :
throw new FFmpegNotSupportedException("Device not supported") ;
if (!TextUtils.isEmpty(cpuArchNameFromAssets)) {
ffmpegLoadLibraryAsyncTask = new FFmpegLoadLibraryAsyncTask(context, cpuArchNameFromAssets, ffmpegLoadBinaryResponseHandler);
ffmpegLoadLibraryAsyncTask.execute();
} else {
throw new FFmpegNotSupportedException("Device not supported");
}I’ll keep on investigating...
Edit 2 :
Further debugging has just lead me to the exact line where app crashes, and it’s CpuArchHelper.java from FFmpeg library :
The line causing the crash is the next :
String archInfo = cpuNativeArchHelper.cpuArchFromJNI();
and I cannot even go inside cpuArchFromJNI() with F7 as it just crashes.
package com.github.hiteshsondhi88.libffmpeg;
import android.os.Build;
class CpuArchHelper {
static CpuArch getCpuArch() {
Log.d("Build.CPU_ABI : " + Build.CPU_ABI);
// check if device is x86 or x86_64
if (Build.CPU_ABI.equals(getx86CpuAbi()) || Build.CPU_ABI.equals(getx86_64CpuAbi())) {
return CpuArch.x86;
} else {
// check if device is armeabi
if (Build.CPU_ABI.equals(getArmeabiv7CpuAbi())) {
ArmArchHelper cpuNativeArchHelper = new ArmArchHelper();
String archInfo = cpuNativeArchHelper.cpuArchFromJNI();
// check if device is arm v7
if (cpuNativeArchHelper.isARM_v7_CPU(archInfo)) {
// check if device is neon
return CpuArch.ARMv7;
}
// check if device is arm64 which is supported by ARMV7
} else if (Build.CPU_ABI.equals(getArm64CpuAbi())) {
return CpuArch.ARMv7;
}
}
return CpuArch.NONE;
}
static String getx86CpuAbi() {
return "x86";
}
static String getx86_64CpuAbi() {
return "x86_64";
}
static String getArm64CpuAbi() {
return "arm64-v8a";
}
static String getArmeabiv7CpuAbi() {
return "armeabi-v7a";
}
}This is ArmArchHelper.java class :
package com.github.hiteshsondhi88.libffmpeg;
class ArmArchHelper {
static {
System.loadLibrary("ARM_ARCH");
}
native String cpuArchFromJNI();
boolean isARM_v7_CPU(String cpuInfoString) {
return cpuInfoString.contains("v7");
}
boolean isNeonSupported(String cpuInfoString) {
// check cpu arch for loading correct ffmpeg lib
return cpuInfoString.contains("-neon");
}
} -
Android : FFMpeg (video creation) crashes with no exception when loading binaries in lower APIs (18 in my case) but works in newer ones
6 mai 2019, par Diego PerezI have an app that uses FFMpeg for video creation (these next lines are the relevant build.gradle plugin files) :
//writingminds
api 'com.writingminds:FFmpegAndroid:0.3.2'
//JavaCV video
api group: 'org.bytedeco', name: 'javacv', version: '1.4.4'
api group: 'org.bytedeco.javacpp-presets', name: 'opencv', version: '4.0.1-1.4.4', classifier: 'android-arm'
api group: 'org.bytedeco.javacpp-presets', name: 'ffmpeg', version: '4.1-1.4.4', classifier: 'android-arm'And my app is working (and creating video) just fine in my phone with a newer Android 8 version but I’m having weird problems in my old API 18 tablet (where, as a note, I had to install multidex).
These next lines are the main part of FFMpeg video creation, where binaries are loaded, and, in fact, binaries load are where app crashes in my tablet in the line "
ffmpeg.loadBinary(new LoadBinaryResponseHandler()...
"As you can see, I have a try/catch where the app crashes, but it crashes with no aparent exception, as catch blocks are never hit.
public static String recordVideo(JSONObject objJSON) {
String strReturn = Enum.Result.OK;
try {
fileName = objJSON.has("file_name") ? String.valueOf(objJSON.getString("file_name")) : "";
videoPath = objJSON.has("video_path") ? String.valueOf(objJSON.getString("video_path")) : "";
} catch (JSONException e) {
ExceptionHandler.logException(e);
}
FFmpeg ffmpeg = FFmpeg.getInstance(ApplicationContext.get());
try {
ffmpeg.loadBinary(new LoadBinaryResponseHandler() {
@Override
public void onStart() {}
@Override
public void onFailure() {}
@Override
public void onSuccess() {}
@Override
public void onFinish() {}
});
} catch (FFmpegNotSupportedException e) {
// Handle if FFmpeg is not supported by device
} catch (Exception e) {
}
...These next lines are the relevant part of the LogCat, but I cannot figure out where the problem resides, maybe an out of memory problem ?
Any help will be much appreciated.
04-28 21:44:45.873 13743-13964/com.artandwords.thoughtoftheday A/libc: Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1), thread 13964 (AsyncTask #4)
04-28 21:44:45.973 144-144/? I/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
04-28 21:44:45.983 144-144/? I/DEBUG: Build fingerprint: 'asus/WW_epad/ME302C:4.3/JSS15Q/WW_epad-V5.0.21-20140701:user/release-keys'
04-28 21:44:45.983 144-144/? I/DEBUG: Revision: '0'
04-28 21:44:45.983 144-144/? I/DEBUG: pid: 13743, tid: 13964, name: AsyncTask #4 >>> com.artandwords.thoughtoftheday <<<
04-28 21:44:45.983 144-144/? I/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000000
04-28 21:44:46.003 144-144/? I/DEBUG: eax 00000000 ebx 000000c6 ecx 00000000 edx 00000000
04-28 21:44:46.003 144-144/? I/DEBUG: esi 00000e59 edi 00000000
04-28 21:44:46.003 144-144/? I/DEBUG: xcs 00000073 xds 0000007b xes 0000007b xfs 00000043 xss 0000007b
04-28 21:44:46.003 144-144/? I/DEBUG: eip 784ed378 ebp 2200ff0c esp 2200fec4 flags 00210246
04-28 21:44:46.003 144-144/? I/DEBUG: backtrace:
04-28 21:44:46.003 144-144/? I/DEBUG: #00 pc 00087378 /system/lib/libhoudini.so.3.4.7.44914
04-28 21:44:46.003 144-144/? I/DEBUG: #01 pc 00085d0e /system/lib/libhoudini.so.3.4.7.44914
04-28 21:44:46.003 144-144/? I/DEBUG: #02 pc 00073328 /system/lib/libhoudini.so.3.4.7.44914
04-28 21:44:46.003 144-144/? I/DEBUG: #03 pc 0006f7ff /system/lib/libhoudini.so.3.4.7.44914
04-28 21:44:46.003 144-144/? I/DEBUG: #04 pc 0006f3bf /system/lib/libhoudini.so.3.4.7.44914
04-28 21:44:46.003 144-144/? I/DEBUG: #05 pc 000b92de /system/lib/libhoudini.so.3.4.7.44914
04-28 21:44:46.003 144-144/? I/DEBUG: #06 pc ffffffff <unknown>
04-28 21:44:46.003 144-144/? I/DEBUG: #07 pc 001445aa /system/lib/libhoudini.so.3.4.7.44914
04-28 21:44:46.013 144-144/? I/DEBUG: stack:
04-28 21:44:46.013 144-144/? I/DEBUG: 7b436850 00000000
04-28 21:44:46.013 144-144/? I/DEBUG: 7b436854 00000000
04-28 21:44:46.013 144-144/? I/DEBUG: 7b436858 00000000
04-28 21:44:46.013 144-144/? I/DEBUG: 7b43685c 00000000
04-28 21:44:46.013 144-144/? I/DEBUG: 7b436860 00000000
04-28 21:44:46.013 144-144/? I/DEBUG: 7b436864 00000000
04-28 21:44:46.013 144-144/? I/DEBUG: 7b436868 00000000
04-28 21:44:46.013 144-144/? I/DEBUG: 7b43686c 3822676c /system/lib/arm/libc.so
04-28 21:44:46.013 144-144/? I/DEBUG: 7b436870 7b436a98
04-28 21:44:46.013 144-144/? I/DEBUG: 7b436874 00000000
04-28 21:44:46.013 144-144/? I/DEBUG: 7b436878 7b4368c8
04-28 21:44:46.013 144-144/? I/DEBUG: 7b43687c 7b436a98
04-28 21:44:46.013 144-144/? I/DEBUG: 7b436880 383003a0 /system/lib/arm/libdl.so
04-28 21:44:46.013 144-144/? I/DEBUG: 7b436884 00000000
04-28 21:44:46.013 144-144/? I/DEBUG: 7b436888 7b4368c8
04-28 21:44:46.013 144-144/? I/DEBUG: 7b43688c 785aa5ab /system/lib/libhoudini.so.3.4.7.44914
04-28 21:44:46.013 144-144/? I/DEBUG: #07 7b436890 7b4368a0
04-28 21:44:46.013 144-144/? I/DEBUG: 7b436894 00000000
04-28 21:44:46.013 144-144/? I/DEBUG: 7b436898 00000000
04-28 21:44:46.013 144-144/? I/DEBUG: 7b43689c 00000000
04-28 21:44:46.013 144-144/? I/DEBUG: 7b4368a0 7b4368c8
04-28 21:44:46.013 144-144/? I/DEBUG: 7b4368a4 7b436890
04-28 21:44:46.013 144-144/? I/DEBUG: 7b4368a8 785aa59d /system/lib/libhoudini.so.3.4.7.44914
04-28 21:44:46.013 144-144/? I/DEBUG: 7b4368ac 7b436a98
04-28 21:44:46.013 144-144/? I/DEBUG: 7b4368b0 7b437930
04-28 21:44:46.013 144-144/? I/DEBUG: 7b4368b4 220001d0
04-28 21:44:46.013 144-144/? I/DEBUG: 7b4368b8 7b436a70
04-28 21:44:46.013 144-144/? I/DEBUG: 7b4368bc 00000000
04-28 21:44:46.013 144-144/? I/DEBUG: 7b4368c0 00000000
04-28 21:44:46.013 144-144/? I/DEBUG: 7b4368c4 00000000
04-28 21:44:46.013 144-144/? I/DEBUG: 7b4368c8 7b436a88
04-28 21:44:46.013 144-144/? I/DEBUG: 7b4368cc 785f3141 /system/lib/libhoudini.so.3.4.7.44914
--------- beginning of /dev/log/system
04-28 21:44:46.063 450-470/? I/BootReceiver: Copying /data/tombstones/tombstone_03 to DropBox (SYSTEM_TOMBSTONE)
04-28 21:44:46.063 450-13973/? W/ActivityManager: Force finishing activity com.artandwords.thoughtoftheday/.activities.DisplayThoughtActivity
04-28 21:44:46.073 145-862/? E/IMGSRV: :0: PVRDRMOpen: TP3, ret = 75
04-28 21:44:46.093 450-13973/? E/JavaBinder: !!! FAILED BINDER TRANSACTION !!!
04-28 21:44:46.093 450-483/? W/InputDispatcher: channel '21edd9e8 com.artandwords.thoughtoftheday/com.artandwords.thoughtoftheday.activities.main.MainActivity (server)' ~ Consumer closed input channel or an error occurred. events=0x9
04-28 21:44:46.093 450-483/? E/InputDispatcher: channel '21edd9e8 com.artandwords.thoughtoftheday/com.artandwords.thoughtoftheday.activities.main.MainActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
04-28 21:44:46.093 155-13945/? W/TimedEventQueue: Event 25 was not found in the queue, already cancelled?
04-28 21:44:46.093 155-3134/? W/AudioFlinger: session id 324 not found for pid 155
04-28 21:44:46.103 450-450/? W/InputDispatcher: Attempted to unregister already unregistered input channel '21edd9e8 com.artandwords.thoughtoftheday/com.artandwords.thoughtoftheday.activities.main.MainActivity (server)'
04-28 21:44:46.103 450-755/? I/WindowState: WIN DEATH: Window{21b33a28 u0 com.artandwords.thoughtoftheday/com.artandwords.thoughtoftheday.activities.DisplayThoughtActivity}
04-28 21:44:46.103 450-13973/? W/ActivityManager: Exception thrown during pause
android.os.TransactionTooLargeException
at android.os.BinderProxy.transact(Native Method)
at android.app.ApplicationThreadProxy.schedulePauseActivity(ApplicationThreadNative.java:642)
at com.android.server.am.ActivityStack.startPausingLocked(ActivityStack.java:1007)
at com.android.server.am.ActivityStack.finishActivityLocked(ActivityStack.java:3905)
at com.android.server.am.ActivityStack.finishActivityLocked(ActivityStack.java:3837)
at com.android.server.am.ActivityManagerService.handleAppCrashLocked(ActivityManagerService.java:8588)
at com.android.server.am.ActivityManagerService.makeAppCrashingLocked(ActivityManagerService.java:8465)
at com.android.server.am.ActivityManagerService.crashApplication(ActivityManagerService.java:9170)
at com.android.server.am.ActivityManagerService.handleApplicationCrashInner(ActivityManagerService.java:8699)
at com.android.server.am.NativeCrashListener$NativeCrashReporter.run(NativeCrashListener.java:86)
04-28 21:44:46.103 450-450/? I/WindowState: WIN DEATH: Window{21edd9e8 u0 com.artandwords.thoughtoftheday/com.artandwords.thoughtoftheday.activities.main.MainActivity}
04-28 21:44:46.103 450-636/? I/WindowState: WIN DEATH: Window{21be0690 u0 com.artandwords.thoughtoftheday/com.artandwords.thoughtoftheday.activities.DisplayThoughtActivity}
04-28 21:44:46.113 450-13973/? I/WindowManager: computeScreenConfigurationLocked() Enter {1.15 ?mcc?mnc ?locale ?layoutDir ?swdp ?wdp ?hdp ?density ?lsize ?long ?orien ?uimode ?night ?touch ?keyb/?/? ?nav/?}
04-28 21:44:46.113 450-13973/? I/WindowManager: dw=1200, dh=1920
04-28 21:44:46.113 450-13973/? I/WindowManager: appWidth=1200, appHeight=1848
04-28 21:44:46.113 450-13973/? I/WindowManager: tempdm=DisplayMetrics{density=1.5, width=1200, height=1848, scaledDensity=1.5, xdpi=221.201, ydpi=220.591}
04-28 21:44:46.113 450-13973/? I/WindowManager: dm=DisplayMetrics{density=1.5, width=1200, height=1848, scaledDensity=1.5, xdpi=221.201, ydpi=220.591}, ro.product.device=ME302C
04-28 21:44:46.113 450-13973/? I/WindowManager: getConfigDisplayWidth=1200, getConfigDisplayHeight=1810
04-28 21:44:46.113 450-13973/? I/WindowManager: screenWidthDp=800, screenHeightDp=1206
04-28 21:44:46.113 450-13973/? I/WindowManager: computeScreenConfigurationLocked() Leave {1.15 ?mcc?mnc ?locale ?layoutDir sw800dp w800dp h1206dp 240dpi xlrg port ?uimode ?night finger -keyb/v/h -nav/h}
04-28 21:44:46.113 450-13973/? I/ActivityManager: Restarting because process died: ActivityRecord{21ab1f80 u0 com.artandwords.thoughtoftheday/.activities.main.MainActivity}
04-28 21:44:46.113 450-13973/? W/ActivityManager: Exception when starting activity com.artandwords.thoughtoftheday/.activities.main.MainActivity
android.os.DeadObjectException
at android.os.BinderProxy.transact(Native Method)
at android.app.ApplicationThreadProxy.scheduleLaunchActivity(ApplicationThreadNative.java:730)
at com.android.server.am.ActivityStack.realStartActivityLocked(ActivityStack.java:733)
at com.android.server.am.ActivityStack.startSpecificActivityLocked(ActivityStack.java:840)
at com.android.server.am.ActivityStack.resumeTopActivityLocked(ActivityStack.java:1790)
at com.android.server.am.ActivityStack.resumeTopActivityLocked(ActivityStack.java:1449)
at com.android.server.am.ActivityStack.startPausingLocked(ActivityStack.java:1058)
at com.android.server.am.ActivityStack.finishActivityLocked(ActivityStack.java:3905)
at com.android.server.am.ActivityStack.finishActivityLocked(ActivityStack.java:3837)
at com.android.server.am.ActivityManagerService.handleAppCrashLocked(ActivityManagerService.java:8588)
at com.android.server.am.ActivityManagerService.makeAppCrashingLocked(ActivityManagerService.java:8465)
at com.android.server.am.ActivityManagerService.crashApplication(ActivityManagerService.java:9170)
at com.android.server.am.ActivityManagerService.handleApplicationCrashInner(ActivityManagerService.java:8699)
at com.android.server.am.NativeCrashListener$NativeCrashReporter.run(NativeCrashListener.java:86)
04-28 21:44:46.123 450-13973/? W/ContextImpl: Calling a method in the system process without a qualified user: android.app.ContextImpl.startService:1396 com.android.server.am.ActivityStack.sendActivityBroadcastLocked:4923 com.android.server.am.ActivityStack.removeActivityFromHistoryLocked:4089 com.android.server.am.ActivityStack.removeHistoryRecordsForAppLocked:4346 com.android.server.am.ActivityManagerService.handleAppDiedLocked:3163
04-28 21:44:46.123 450-13973/? I/ActivityManager: Start proc com.artandwords.thoughtoftheday for activity com.artandwords.thoughtoftheday/.activities.main.MainActivity: pid=13975
</unknown>Edit 1 :
Still investigating and entered FFmpeg.java to the method loadBinary while debugging, which code I’ll paste below and the line making the crash is switch (CpuArchHelper.getCpuArch())
@Override
public void loadBinary(FFmpegLoadBinaryResponseHandler ffmpegLoadBinaryResponseHandler) throws FFmpegNotSupportedException {
String cpuArchNameFromAssets = null;
switch (CpuArchHelper.getCpuArch()) {
case x86:
Log.i("Loading FFmpeg for x86 CPU");
cpuArchNameFromAssets = "x86";
break;
case ARMv7:
Log.i("Loading FFmpeg for armv7 CPU");
cpuArchNameFromAssets = "armeabi-v7a";
break;
case NONE:
throw new FFmpegNotSupportedException("Device not supported");
}
if (!TextUtils.isEmpty(cpuArchNameFromAssets)) {
ffmpegLoadLibraryAsyncTask = new FFmpegLoadLibraryAsyncTask(context, cpuArchNameFromAssets, ffmpegLoadBinaryResponseHandler);
ffmpegLoadLibraryAsyncTask.execute();
} else {
throw new FFmpegNotSupportedException("Device not supported");
}
}I’ll keep on investigating...
Edit 2 :
Further debugging has just lead me to the exact line where app crashes, and it’s CpuArchHelper.java from FFmpeg library :
The line causing the crash is the next :
String archInfo = cpuNativeArchHelper.cpuArchFromJNI();
and I cannot even go inside cpuArchFromJNI() with F7 as it just crashes.
package com.github.hiteshsondhi88.libffmpeg;
import android.os.Build;
class CpuArchHelper {
static CpuArch getCpuArch() {
Log.d("Build.CPU_ABI : " + Build.CPU_ABI);
// check if device is x86 or x86_64
if (Build.CPU_ABI.equals(getx86CpuAbi()) || Build.CPU_ABI.equals(getx86_64CpuAbi())) {
return CpuArch.x86;
} else {
// check if device is armeabi
if (Build.CPU_ABI.equals(getArmeabiv7CpuAbi())) {
ArmArchHelper cpuNativeArchHelper = new ArmArchHelper();
String archInfo = cpuNativeArchHelper.cpuArchFromJNI();
// check if device is arm v7
if (cpuNativeArchHelper.isARM_v7_CPU(archInfo)) {
// check if device is neon
return CpuArch.ARMv7;
}
// check if device is arm64 which is supported by ARMV7
} else if (Build.CPU_ABI.equals(getArm64CpuAbi())) {
return CpuArch.ARMv7;
}
}
return CpuArch.NONE;
}
static String getx86CpuAbi() {
return "x86";
}
static String getx86_64CpuAbi() {
return "x86_64";
}
static String getArm64CpuAbi() {
return "arm64-v8a";
}
static String getArmeabiv7CpuAbi() {
return "armeabi-v7a";
}
}This is ArmArchHelper.java class :
package com.github.hiteshsondhi88.libffmpeg;
class ArmArchHelper {
static {
System.loadLibrary("ARM_ARCH");
}
native String cpuArchFromJNI();
boolean isARM_v7_CPU(String cpuInfoString) {
return cpuInfoString.contains("v7");
}
boolean isNeonSupported(String cpuInfoString) {
// check cpu arch for loading correct ffmpeg lib
return cpuInfoString.contains("-neon");
}
}Edit 3 :
Reading carefully LogCat I’ve noticed there is a TransactionTooLarge Exception :
04-28 21:44:46.103 450-13973/? W/ActivityManager: Exception thrown during pause
android.os.TransactionTooLargeException
at android.os.BinderProxy.transact(Native Method)
at android.app.ApplicationThreadProxy.schedulePauseActivity(ApplicationThreadNative.java:642)
at com.android.server.am.ActivityStack.startPausingLocked(ActivityStack.java:1007)
at com.android.server.am.ActivityStack.finishActivityLocked(ActivityStack.java:3905)
at com.android.server.am.ActivityStack.finishActivityLocked(ActivityStack.java:3837)
at com.android.server.am.ActivityManagerService.handleAppCrashLocked(ActivityManagerService.java:8588)
at com.android.server.am.ActivityManagerService.makeAppCrashingLocked(ActivityManagerService.java:8465)
at com.android.server.am.ActivityManagerService.crashApplication(ActivityManagerService.java:9170)
at com.android.server.am.ActivityManagerService.handleApplicationCrashInner(ActivityManagerService.java:8699)
at com.android.server.am.NativeCrashListener$NativeCrashReporter.run(NativeCrashListener.java:86)Maybe this is what makes my app to crash, but I don’t know what to do with that, as it happens inside the FFMpeg library :s
Edit 3 :
As a note, I’ve tried in an old Android 4.2.2 (API 17) phone I also own and it’s working just fine, the video is generated without crashing.
-
Using if statement in ffmpeg
3 février 2024, par Diokis it possible using if/else statement in ffmpeg ?



I would want to tell ffmpeg if dimension of any video lower than 480p do not touch the height or width otherwise do encode and resize it to 480p, here's my command but it always scale up the video if the video lower than 480p



ffmpeg -i input.mp4 -c:v libx264 -crf 31 -me_method umh -bf 0 -vf scale=480:-2 out.mp4




Note that i dont want to use any programming language because it's on windows cmd.