Recherche avancée

Médias (1)

Mot : - Tags -/intégration

Autres articles (85)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • 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 (...)

  • Ecrire une actualité

    21 juin 2013, par

    Présentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
    Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
    Vous pouvez personnaliser le formulaire de création d’une actualité.
    Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)

Sur d’autres sites (9888)

  • ffmpeg_kit_flutter operation not permitted for audio operations

    25 août 2023, par Black Eyed Beans

    I'm trying to trim an audio file using ffmpeg_kit_flutter but I keep getting the error :

    


    audio/path/output.mp3: Operation not permitted.


    


    This is the ffmpeg command that I'm using :

    


    final cmd="-y -i \"$audioPath\" -ss $audioStartTime -to $audioEndTime -c:a libmp3lame $outPutName";


    


    And I've also tried :

    


    final cmd="-y -i \"$audioPath\" -ss $audioStartTime -to $audioEndTime -c copy $outPutName";


    


    But the error is still the same.
I'm using the ffmpeg_kit_flutter_full_gpl package.

    


  • Combining multiple image files into a video while using filter_complex to apply a watermark

    14 décembre 2017, par Geuis

    I’m trying to combine two ffmpeg operations into a single one.

    Currently I have two sets of ffmpeg commands that first generate a video from existing images, then runs that video through ffmpeg again to apply a watermark.

    I’d like to see if its possible to combine these into a single operation.

    # Create the source video
    ffmpeg -y \
    -framerate 1/1 \
    -i layer-%d.png \
    -r 30 -vcodec libx264 -preset ultrafast -crf 23 -pix_fmt yuv420p \
    output.mp4

    # Apply the watermark and render the final output
    ffmpeg -y \
    -i output.mp4 \
    -i logo.png \
    -filter_complex "[1:v][0:v]scale2ref=40:40[a][b];[b][a]overlay=(80):(main_h-200-80)" \
    final.mp4
  • How to extract audio from a video in Flutter ?

    14 janvier, par Mohammed Bekele

    I have an image picker in Flutter to get the video from the device, and then I created a function to extract the audio using ffmpeg_kit_flutter package.

    


     Future<void> _convertVideoToAudio() async {&#xA;    if (_pickedVideo != null) {&#xA;      bool? permissionGranted = await _requestStoragePermission();&#xA;      if (permissionGranted != true) {&#xA;        print("Storage permission denied.");&#xA;        return;&#xA;      }&#xA;&#xA;      String videoPath = _pickedVideo!.path;&#xA;      _outputPath = await getOutputFilePath(); // Get platform-specific path&#xA;&#xA;      try {&#xA;        // Ensure the output directory exists&#xA;        await Directory(path.dirname(_outputPath)).create(recursive: true);&#xA;&#xA;        await FFmpegKit.execute(&#xA;            "-i $videoPath -vn -c:a libmp3lame -q:a 2 $_outputPath"); // FFmpeg command&#xA;        print("Video converted to audio successfully!");&#xA;        _showSuccessDialog(); // Display success dialog&#xA;&#xA;        try {&#xA;          final String fileName = path.basename(_outputPath);&#xA;          final transcription =&#xA;              await _sendAudioForTranscription(_outputPath, fileName);&#xA;&#xA;          if (transcription != null) {&#xA;            setState(() {&#xA;              _transcription = transcription;&#xA;            });&#xA;          } else {&#xA;            setState(() {&#xA;              _transcription = "Transcription failed";&#xA;            });&#xA;          }&#xA;        } catch (e) {&#xA;          print(&#x27;Error in transcription request: $e&#x27;);&#xA;          setState(() {&#xA;            _transcription = "Network request failed";&#xA;          });&#xA;        }&#xA;      } catch (e) {&#xA;        print("Error converting video: $e");&#xA;        _showErrorDialog(); // Display error dialog&#xA;      } finally {&#xA;        setState(() {&#xA;          _pickedVideo = null; // Clear selected video&#xA;        });&#xA;      }&#xA;    } else {&#xA;      print("Please pick a video first.");&#xA;    }&#xA;  }&#xA;</void>

    &#xA;

    and for getting the path I have this function

    &#xA;

     Future<string> getOutputFilePath() async {&#xA;    final directory = await getApplicationDocumentsDirectory();&#xA;    final downloadsDirectory = Directory(&#x27;${directory.path}/downloads&#x27;);&#xA;    if (!(await downloadsDirectory.exists())) {&#xA;      await downloadsDirectory.create(recursive: true);&#xA;    }&#xA;    final String fileName = path&#xA;        .basename(_pickedVideo!.path)&#xA;        .replaceAll(&#x27;.mp4&#x27;, &#x27;.mp3&#x27;); // Replace extension&#xA;    final filePath = &#x27;${downloadsDirectory.path}/$fileName&#x27;;&#xA;    return filePath;&#xA;  }&#xA;</string>

    &#xA;

    but this is not working somehow. Because after I get the audio I'm uploading it to a server with http, then it displays that there is no path where the audio supposed to be.

    &#xA;