
Recherche avancée
Médias (2)
-
SPIP - plugins - embed code - Exemple
2 septembre 2013, par
Mis à jour : Septembre 2013
Langue : français
Type : Image
-
Publier une image simplement
13 avril 2011, par ,
Mis à jour : Février 2012
Langue : français
Type : Video
Autres articles (100)
-
MediaSPIP 0.1 Beta version
25 avril 2011, parMediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
The zip file provided here only contains the sources of MediaSPIP in its standalone version.
To get a working installation, you must manually install all-software dependencies on the server.
If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...) -
HTML5 audio and video support
13 avril 2011, parMediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
For older browsers the Flowplayer flash fallback is used.
MediaSPIP allows for media playback on major mobile platforms with the above (...) -
ANNEXE : Les plugins utilisés spécifiquement pour la ferme
5 mars 2010, parLe site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)
Sur d’autres sites (12551)
-
aaccoder : Implement Perceptual Noise Substitution for AAC
15 avril 2015, par Rostislav Pehlivanovaaccoder : Implement Perceptual Noise Substitution for AAC
This commit implements the perceptual noise substitution AAC extension. This is a proof of concept
implementation, and as such, is not enabled by default. This is the fourth revision of this patch,
made after some problems were noted out. Any changes made since the previous revisions have been indicated.In order to extend the encoder to use an additional codebook, the array holding each codebook has been
modified with two additional entries - 13 for the NOISE_BT codebook and 12 which has a placeholder function.
The cost system was modified to skip the 12th entry using an array to map the input and outputs it has. It
also does not accept using the 13th codebook for any band which is not marked as containing noise, thereby
restricting its ability to arbitrarily choose it for bands. The use of arrays allows the system to be easily
extended to allow for intensity stereo encoding, which uses additional codebooks.The 12th entry in the codebook function array points to a function which stops the execution of the program
by calling an assert with an always ’false’ argument. It was pointed out in an email discussion with
Claudio Freire that having a ’NULL’ entry can result in unexpected behaviour and could be used as
a security hole. There is no danger of this function being called during encoding due to the codebook maps introduced.Another change from version 1 of the patch is the addition of an argument to the encoder, ’-aac_pns’ to
enable and disable the PNS. This currently defaults to disable the PNS, as it is experimental.
The switch will be removed in the future, when the algorithm to select noise bands has been improved.
The current algorithm simply compares the energy to the threshold (multiplied by a constant) to determine
noise, however the FFPsyBand structure contains other useful figures to determine which bands carry noise more accurately.Some of the sample files provided triggered an assertion when the parameter to tune the threshold was set to
a value of ’2.2’. Claudio Freire reported the problem’s source could be in the range of the scalefactor
indices for noise and advised to measure the minimal index and clip anything above the maximum allowed
value. This has been implemented and all the files which used to trigger the asserion now encode without error.The third revision of the problem also removes unneded variabes and comparisons. All of them were
redundant and were of little use for when the PNS implementation would be extended.The fourth revision moved the clipping of the noise scalefactors outside the second loop of the two-loop
algorithm in order to prevent their redundant calculations. Also, freq_mult has been changed to a float
variable due to the fact that rounding errors can prove to be a problem at low frequencies.
Considerations were taken whether the entire expression could be evaluated inside the expression
, but in the end it was decided that it would be for the best if just the type of the variable were
to change. Claudio Freire reported the two problems. There is no change of functionality
(except for low sampling frequencies) so the spectral demonstrations at the end of this commit’s message were not updated.Finally, the way energy values are converted to scalefactor indices has changed since the first commit,
as per the suggestion of Claudio Freire. This may still have some drawbacks, but unlike the first commit
it works without having redundant offsets and outputs what the decoder expects to have, in terms of the
ranges of the scalefactor indices.Some spectral comparisons : https://trac.ffmpeg.org/attachment/wiki/Encode/AAC/Original.png (original),
https://trac.ffmpeg.org/attachment/wiki/Encode/AAC/PNS_NO.png (encoded without PNS),
https://trac.ffmpeg.org/attachment/wiki/Encode/AAC/PNS1.2.png (encoded with PNS, const = 1.2),
https://trac.ffmpeg.org/attachment/wiki/Encode/AAC/Difference1.png (spectral difference).
The constant is the value which multiplies the threshold when it gets compared to the energy, larger
values means more noise will be substituded by PNS values. Example when const = 2.2 :
https://trac.ffmpeg.org/attachment/wiki/Encode/AAC/PNS_2.2.pngReviewed-by : Claudio Freire <klaussfreire@gmail.com>
Signed-off-by : Michael Niedermayer <michaelni@gmx.at> -
Flutter Android release crash with ffmpeg_kit_flutter_new : Bad JNI version returned from JNI_OnLoad in libffmpegkit_abidetect.so (debug works) [closed]
20 août, par Muhammad Rakha AlmasahProblem
My Flutter app crashes only in release when the FFmpegKit plugin is registered. The app runs fine in debug on the same devices. The crash happens before my UI shows up, during plugin registration.


Error (release logcat)


On Samsung SM-A105G (Android 11, API 30, 32-bit device) :


E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.Error: FFmpegKit failed to start on brand: samsung, model: SM-A105G, device: a10, api level: 30,
abis: armeabi-v7a armeabi, 32bit abis: armeabi-v7a armeabi, 64bit abis: .
 at com.antonkarpenko.ffmpegkit.AbiDetect.<clinit>(SourceFile:3)
 at com.antonkarpenko.ffmpegkit.FFmpegKitConfig.<clinit>(SourceFile:16)
 ...
Caused by: java.lang.UnsatisfiedLinkError: Bad JNI version returned from JNI_OnLoad in
"/data/app/.../lib/arm/libffmpegkit_abidetect.so": 0
 at java.lang.Runtime.loadLibrary0(Runtime.java:1087)
 at java.lang.System.loadLibrary(System.java:1664)

</clinit></clinit>


On Redmi 24094RAD4G (Android 15/35, 64-bit) :


java.lang.Error: FFmpegKit failed to start on brand: Redmi, model: 24094RAD4G, device: citrine, api level: 35,
abis: arm64-v8a armeabi-v7a armeabi, 32bit abis: armeabi-v7a armeabi, 64bit abis: arm64-v8a.
...
Caused by: java.lang.UnsatisfiedLinkError: Bad JNI version returned from JNI_OnLoad in
"/data/app/.../split_config.arm64_v8a.apk!/lib/arm64-v8a/libffmpegkit_abidetect.so": 0




What’s strange
In debug the plugin loads and prints :


I/ffmpeg-kit: Loaded ffmpeg-kit-full-gpl-arm-v7a-neon-6.0-20250810.



and the app works normally.


Environment


Flutter (stable), Android


compileSdk = 35, minSdk = 24, targetSdk = 35


NDK I tried :


26.1.10909125 (recommended by many plugins)


25.2.9519653


Devices that crash in release :


Samsung SM-A105G (32-bit only, API 30)


Redmi 24094RAD4G (arm64-v8a capable, API 35)


Dependencies (relevant)


I mainly need FFmpeg through a video editor workflow.


Tried these FFmpeg packages :


ffmpeg_kit_flutter_new 3.2.0 → release crash


ffmpeg_kit_flutter_new 1.6.1 → release crash


(for testing) the discontinued ffmpeg_kit_flutter 6.0.3 → gradle couldn’t resolve com.arthenica:ffmpeg-kit-https:6.0-2 in release


Other media deps : video_editor (git), video_thumbnail (git), video_player, etc


App config
android/app/build.gradle


plugins {
 id "com.android.application"
 id "kotlin-android"
 id "dev.flutter.flutter-gradle-plugin"
}

def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
 localPropertiesFile.withReader('UTF-8') { reader ->
 localProperties.load(reader)
 }
}

def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
 keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}


def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
 flutterVersionCode = '1'
}

def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
 flutterVersionName = '1.0'
}

android {
 namespace "id.fitacademy.app"
 compileSdk = 35
 ndkVersion = "26.1.10909125"

 compileOptions {
 sourceCompatibility JavaVersion.VERSION_1_8
 targetCompatibility JavaVersion.VERSION_1_8
 }

 kotlinOptions {
 jvmTarget = JavaVersion.VERSION_1_8
 }

 sourceSets {
 main.java.srcDirs += 'src/main/kotlin'
 }

 defaultConfig {
 applicationId "id.fitacademy.app"
 minSdkVersion 24
 targetSdkVersion 35
 versionCode flutterVersionCode.toInteger()
 versionName flutterVersionName
 multiDexEnabled true
 ndk { abiFilters "armeabi-v7a" }
 }

 packagingOptions {
 jniLibs { useLegacyPackaging true } // muat .so via ekstraksi
 // pickFirsts += ['**/libc++_shared.so'] // aktifkan hanya kalau ada konflik duplikat
 }

 signingConfigs {
 release {
 keyAlias keystoreProperties['keyAlias']
 keyPassword keystoreProperties['keyPassword']
 storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
 storePassword keystoreProperties['storePassword']
 }
 debug {
 keyAlias keystoreProperties['keyAlias']
 keyPassword keystoreProperties['keyPassword']
 storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
 storePassword keystoreProperties['storePassword']
 }
 }
 buildTypes {
 release {
 signingConfig signingConfigs.release
 }
 debug {
 signingConfig signingConfigs.debug
 }
 }
}

flutter {
 source '../..'
}




AndroidManifest.xml


<manifest>

 
 
 
 
 
 
 
 
 
 
 

 <queries>
 <package></package>
 <package></package>
 <package></package>
 <package></package>
 <package></package>
 <package></package>
 <package></package>

 <provider></provider> 
 <provider></provider> 

 <intent>
 <action></action>
 <data></data>
 </intent>
 </queries>

 
 
 
 
 
 <action></action>
 <category></category>
 

 
 
 
 <action></action>
 <category></category>
 <category></category>
 <data></data>
 <data></data>
 <data></data>
 <data></data>
 
 

 
 


 
 

 <provider>
 
 </provider>

 
 
 
</manifest>



APK / AAB inspection


jar tf app-release.apk | findstr ffmpegkit_abidetect shows the library is packaged, e.g. :


lib/arm/libffmpegkit_abidetect.so (on 32-bit build)


lib/arm64-v8a/libffmpegkit_abidetect.so (on 64-bit)


So the .so is present in the release artifact.


What I tried


Switch NDK 25.2 ↔ 26.1 and align with plugins.


Add android:extractNativeLibs="true" in the manifest.


packagingOptions jniLibs useLegacyPackaging true .


Build both APK and AAB, and also flutter run —release -d .


With and without abiFilters.


Full flutter clean, delete Gradle caches, rebuild.


Verified .env files and other assets are included (unrelated but checked).


The crash always happens at plugin startup in release with :
Bad JNI version returned from JNI_OnLoad in ... libffmpegkit_abidetect.so : 0.


-
aacpsy : correct calculation of minath in psy_3gpp_init
21 avril 2015, par Andreas Cadhalpunaacpsy : correct calculation of minath in psy_3gpp_init
The minimum of the ath(x, ATH_ADD) function depends on ATH_ADD.
This patch uses the first order approximation to determine it.For ATH_ADD = 4 this results in the value at 3407.06812 (-5.24241638)
not the one at 3410 (-5.24237967).CC : libav-stabl@libav.org
Signed-off-by : Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by : Anton Khirnov <anton@khirnov.net>