Recherche avancée

Médias (1)

Mot : - Tags -/berlin

Autres articles (101)

  • Amélioration de la version de base

    13 septembre 2013

    Jolie sélection multiple
    Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
    Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...)

  • Menus personnalisés

    14 novembre 2010, par

    MediaSPIP utilise le plugin Menus pour gérer plusieurs menus configurables pour la navigation.
    Cela permet de laisser aux administrateurs de canaux la possibilité de configurer finement ces menus.
    Menus créés à l’initialisation du site
    Par défaut trois menus sont créés automatiquement à l’initialisation du site : Le menu principal ; Identifiant : barrenav ; Ce menu s’insère en général en haut de la page après le bloc d’entête, son identifiant le rend compatible avec les squelettes basés sur Zpip ; (...)

  • Configurer la prise en compte des langues

    15 novembre 2010, par

    Accéder à la configuration et ajouter des langues prises en compte
    Afin de configurer la prise en compte de nouvelles langues, il est nécessaire de se rendre dans la partie "Administrer" du site.
    De là, dans le menu de navigation, vous pouvez accéder à une partie "Gestion des langues" permettant d’activer la prise en compte de nouvelles langues.
    Chaque nouvelle langue ajoutée reste désactivable tant qu’aucun objet n’est créé dans cette langue. Dans ce cas, elle devient grisée dans la configuration et (...)

Sur d’autres sites (13627)

  • FFmpegKitFlutter, Error : MissingPluginException(No implementation found for method ffmpegSession on channel flutter.arthenica.com/ffmpeg_kit)

    12 février, par 7Solomon

    I Have this simple Flutter function, to compress Audio Files

    


    import &#x27;package:ffmpeg_kit_flutter/ffmpeg_kit.dart&#x27;;&#xA;import &#x27;package:ffmpeg_kit_flutter/return_code.dart&#x27;;&#xA;&#xA;&#xA;Future<string> compressAudio(String inputPath) async {&#xA;    try {&#xA;      //     ...&#xA;      final command = &#x27;-y -i "$inputPath" &#x27; // Input file&#xA;          &#x27;-af "loudnorm=I=-16:TP=-1.5:LRA=11,&#x27; // Loudness normalization&#xA;          &#x27;acompressor=threshold=${_config[&#x27;threshold_db&#x27;]}:&#x27;&#xA;          &#x27;ratio=${_config[&#x27;ratio&#x27;]}:&#x27;&#xA;          &#x27;attack=${_config[&#x27;attack&#x27;]}:&#x27;&#xA;          &#x27;release=${_config[&#x27;release&#x27;]},&#x27;&#xA;          &#x27;highpass=f=20,lowpass=f=20000" &#x27; // Audio filters&#xA;          &#x27;-ar 44100 &#x27; // Sample rate&#xA;          &#x27;-b:a 128k &#x27; // Bitrate&#xA;          &#x27;-codec:a libmp3lame &#x27; // MP3 encoder&#xA;          &#x27;-q:a 2 &#x27; // Quality setting for LAME (0-9, lower is better)&#xA;          &#x27;-map_metadata 0 &#x27; // Copy metadata&#xA;          &#x27;"$outputPath"&#x27;; // Output file&#xA;&#xA;      // Execute FFmpeg command&#xA;      final session = await FFmpegKit.execute(command);&#xA;      final returnCode = await session.getReturnCode();&#xA;      final logs = await session.getLogs();&#xA;      print(&#x27;FFmpeg logs: $logs&#x27;);&#xA;&#xA;      if (ReturnCode.isSuccess(returnCode)) {&#xA;        return outputFileName;&#xA;      } else {&#xA;        final logs = await session.getLogs();&#xA;        throw Exception(&#xA;            &#x27;FFmpeg process failed with code $returnCode\nLogs: $logs&#x27;);&#xA;      }&#xA;    } catch (e, stackTrace) {&#xA;      print(&#x27;Error: $e&#x27;);&#xA;      print(&#x27;Stack trace: $stackTrace&#x27;);&#xA;      throw Exception(&#x27;Failed to compress audio: $e\nStack trace: $stackTrace&#x27;);&#xA;    }&#xA;  }&#xA;</string>

    &#xA;

    And I get this error&#xA;Error: MissingPluginException(No implementation found for method ffmpegSession on channel flutter.arthenica.com/ffmpeg_kit)

    &#xA;

    This is the Stacktrace

    &#xA;

    flutter: Error: MissingPluginException(No implementation found for method ffmpegSession on channel flutter.arthenica.com/ffmpeg_kit)&#xA;flutter: Stack trace: #0      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:332:7)&#xA;<asynchronous suspension="suspension">&#xA;#1      AbstractSession.createFFmpegSession (package:ffmpeg_kit_flutter/abstract_session.dart:71:11)&#xA;<asynchronous suspension="suspension">&#xA;#2      FFmpegSession.create (package:ffmpeg_kit_flutter/ffmpeg_session.dart:40:21)&#xA;<asynchronous suspension="suspension">&#xA;#3      FFmpegKit.executeWithArguments (package:ffmpeg_kit_flutter/ffmpeg_kit.dart:44:9)&#xA;<asynchronous suspension="suspension">&#xA;#4      FileProcessor.compressAudio (package:predigt_upload_fl/file.dart:182:23)&#xA;<asynchronous suspension="suspension">&#xA;#5      _DetailPageState._handleSubmit (package:predigt_upload_fl/GUIs/LiveStreamDetailPage.dart:334:30)&#xA;<asynchronous suspension="suspension">&#xA;&#xA;&#xA;══╡ EXCEPTION CAUGHT BY SERVICES LIBRARY ╞══════════════════════════════════════════════════════════&#xA;flutter.arthenica.com/ffmpeg_kit_event)&#xA;&#xA;When the exception was thrown, this was the stack:&#xA;#0      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:332:7)&#xA;<asynchronous suspension="suspension">&#xA;#1      EventChannel.receiveBroadcastStream.<anonymous closure="closure"> (package:flutter/src/services/platform_channel.dart:676:9)        &#xA;<asynchronous suspension="suspension">&#xA;</asynchronous></anonymous></asynchronous></asynchronous></asynchronous></asynchronous></asynchronous></asynchronous></asynchronous>

    &#xA;

    And i think this comes from abstract class FFmpegKitPlatform extends PlatformInterface inside ffmpeg_kit_flutter_platform_interface.dart, because in there are a lot of functions that are not Implemented.

    &#xA;

    This happens not just because of one functions :

    &#xA;

        // ...&#xA;    final logLevel = await _getLogLevel();&#xA;    print(&#x27;logLevel: $logLevel&#x27;);&#xA;    if (logLevel != null) {&#xA;      FFmpegKitConfig.setLogLevel(logLevel);&#xA;    }&#xA;    final version = FFmpegKitFactory.getVersion();&#xA;    final platform = await FFmpegKitConfig.getPlatform();&#xA;    final arch = await ArchDetect.getArch();&#xA;    final packageName = await Packages.getPackageName();&#xA;    await FFmpegKitConfig.enableRedirection();&#xA;    final isLTSPostfix = (await FFmpegKitConfig.isLTSBuild()) ? "-lts" : "";&#xA;    // ...&#xA;&#xA;

    &#xA;

    All of these Functions and more in FFmpegKitInitializer are not Implemented. So im pretty sure im missing something else here than just some outdated Version.

    &#xA;

    These are my Dependencies :

    &#xA;

    dependencies:&#xA;  flutter:&#xA;    sdk: flutter&#xA;  path_provider: ^2.0.15&#xA;  just_audio: ^0.9.34&#xA;  file_picker: ^5.3.1&#xA;  path: ^1.8.3&#xA;  id3_codec: ^1.0.3&#xA;  ftpconnect: ^2.0.5&#xA;  http: ^1.1.0&#xA;  shared_preferences: ^2.2.0&#xA;  html: ^0.15.5&#xA;  youtube_explode_dart: ^2.3.9&#xA;  intl: ^0.19.0&#xA;  ffmpeg_kit_flutter: ^6.0.3&#xA;

    &#xA;

    Im pretty new to Flutter Development so Im not quiete sure how to go about this Problem because every other FFmpeg Wrapper also has some problems that i couldnt fix.

    &#xA;

    If you need any other Information feel free to ask me, because I also dont know what someone would need to go fix the problem.

    &#xA;

  • What is the easiest way to merge GIF and Audio files into one Video file using FFMPEG

    7 avril 2021, par Mouaad Abdelghafour AITALI

    I have an audio file and GIF, I would like to merge both of them into one video file, I've done the following :

    &#xA;

    Converting GIF into Video

    &#xA;

    Looping the output video X time X = (int) (audioDuration / 1000.0) / gifDuration;

    &#xA;

    Merge the final video with the audio

    &#xA;

    FFmpeg commands :

    &#xA;

    Converting GIF into Video

    &#xA;

    -f gif -y -i input.gif -c:a copy -c:v libx265 -crf 26 -preset ultrafast -s 1080*1920 -pix_fmt yuv420p -map 0 gif2video.mp4&#xA;

    &#xA;

    Looping the output video X time

    &#xA;

    -y -stream_loop " &#x2B; X &#x2B; " -i gif2video.mp4 -c copy looped_output.mp4&#xA;

    &#xA;

    Merge the final video with the audio :

    &#xA;

    -y -i looped_output.mp4 -i audio.mp3 -c:v copy -c:a aac final_output.mp4&#xA;

    &#xA;

    The above command works, but sometimes the output video export with one GIF frame (no animation) and audio

    &#xA;

  • How to set specific minimal bitrate of video with light_compressor package in Flutter ?

    21 juin 2023, par Giant Brain

    I tried using flutter's light_compressor package to compress a video I shot with my phone or downloaded from YouTube.

    &#xA;

    I refer to the article below.&#xA;https://morioh.com/p/ac6f0d2c176b&#xA;In this article, the minimum bit rate can be set and the default value is 2mbps.

    &#xA;

    However, in the sample code, only the flag isMinBitrateCheckEnabled exists, and there is no parameter to set a specific bit rate.

    &#xA;

    How do I compress the video to my desired bitrate ?

    &#xA;

    Below is a part of the sample code.

    &#xA;

    import &#x27;package:light_compressor/light_compressor.dart&#x27;;&#xA;&#xA;&#xA;final LightCompressor _lightCompressor = LightCompressor();&#xA;final dynamic response = await _lightCompressor.compressVideo(&#xA;  path: _sourcePath,&#xA;  destinationPath: _destinationPath,&#xA;  videoQuality: VideoQuality.medium,&#xA;  isMinBitrateCheckEnabled: false,&#xA;  frameRate: 24 /* or ignore it */);&#xA;

    &#xA;