Recherche avancée

Médias (91)

Autres articles (72)

  • 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 ;

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

  • Ajouter notes et légendes aux images

    7 février 2011, par

    Pour pouvoir ajouter notes et légendes aux images, la première étape est d’installer le plugin "Légendes".
    Une fois le plugin activé, vous pouvez le configurer dans l’espace de configuration afin de modifier les droits de création / modification et de suppression des notes. Par défaut seuls les administrateurs du site peuvent ajouter des notes aux images.
    Modification lors de l’ajout d’un média
    Lors de l’ajout d’un média de type "image" un nouveau bouton apparait au dessus de la prévisualisation (...)

Sur d’autres sites (8992)

  • ffmpeg : fast video split by encoding only missing keyframes and copying the rest

    29 janvier 2023, par Eduardo Poço

    I am splitting a video in many files, removing the silent periods. The script is ready to detect the voiced parts, split and concat.

    


    At first, it thought copying the frames (-c copy) would be faster, but if a starting time of a part is not a keyframe, the video gets messed and some frames freeze until another keyframe appears. But reencoding each split file, although working, takes a long time.

    


    So, I was wondering if it is possible to reencode only the moments whose frames lost its keyframe, while copying everything so on. Is there a ffmpeg option for suck a task, or is there a way to differentiate those frames and treat them differently when splitting the file ?

    


    After reading some articles and documentation, that is how I understand what I am observing. Please, correct me if I misunderstood how ffmpeg works when splitting a file starting from a timestamp without a keyframe.

    


  • How to split ffmpeg output into multiple files ?

    15 novembre 2020, par Genius Billionaire

    What I want to happen : the equivalent of this : split -n 4 output.mp4, which generates 4 files. Only the first file is "valid mp4" that you can play. The other 3 files rely on the previous file.

    


    A similar request can be seen here : https://lists.ffmpeg.org/pipermail/ffmpeg-user/2013-May/015090.html

    


    Why I want this to happen : running FFMPEG in the browser, which means 1) file size limit, 2) I don't have the Linux command split to help me out, just FFMPEG. If I can get FFMPEG to output files of X MB each, I can iteratively delete files as soon as I've read them.

    


    EDIT : as a commenter asked, yes it is possible to run several ffmpeg commands if necessary.

    


    The right solution is not using segments. The following example command generates several 4 valid mp4 files. That's not exactly what I want.
ffmpeg -i ../flv.flv -segment_time 5 -f segment -t 20 %d.mp4

    


    This other solution also does not work (it's the same output as previous incorrect solution) :

    


    ffmpeg -i ../flv.flv -ss 00:00:00 -t 5 1.mp4

    


    ffmpeg -i ../flv.flv -ss 00:00:05 -t 5 2.mp4

    


  • Unable to split audio using easy_audio_trimmer

    27 juillet 2023, par Sana Wasim

    can we use the easy_audio_trimmer package to split an audio ? I tried using the ffmpeg but it is conflicting with the above package and not work.

    


    I tried splitting by using these functions and it gave an error at the FlutterFFmpeg() method and i cant find an alternative also the duration(filePath) in the command final durationResult = await flutterSound.duration(filePath) ; shows an error

    


    Future<void> _splitAudio() async {&#xA;    setState(() {&#xA;      _progressVisibility = true;&#xA;    });&#xA;&#xA;    // Get the application documents directory&#xA;    final appDocumentsDirectory = await getApplicationDocumentsDirectory();&#xA;&#xA;    // Get the input audio file path&#xA;    final inputAudioPath = widget.file.path;&#xA;&#xA;    // Get the output file names for the two parts&#xA;    final outputFileName1 = &#x27;split_audio_part1.mp3&#x27;;&#xA;    final outputFileName2 = &#x27;split_audio_part2.mp3&#x27;;&#xA;&#xA;    // Get the output file paths for the two parts&#xA;    final outputPath1 = &#x27;${appDocumentsDirectory.path}/$outputFileName1&#x27;;&#xA;    final outputPath2 = &#x27;${appDocumentsDirectory.path}/$outputFileName2&#x27;;&#xA;&#xA;    // Calculate the duration of the original audio&#xA;    final originalDuration = await _getAudioDuration(inputAudioPath);&#xA;&#xA;    // Calculate the durations of the two parts&#xA;    final part1Duration = _startValue;&#xA;    final part2Duration = originalDuration - _endValue;&#xA;&#xA;    // Construct the FFmpeg command to split the audio&#xA;    final ffmpeg = FlutterFFmpeg();&#xA;    final splitCommand = &#x27;-i $inputAudioPath -ss 0 -t $part1Duration -c copy $outputPath1 -ss $_endValue -t $part2Duration -c copy $outputPath2&#x27;;&#xA;&#xA;    try {&#xA;      // Execute the FFmpeg command to split the audio&#xA;      final int result = await ffmpeg.execute(splitCommand);&#xA;&#xA;      if (result == 0) {&#xA;        setState(() {&#xA;          _progressVisibility = false;&#xA;        });&#xA;        debugPrint(&#x27;Audio split successfully.&#x27;);&#xA;      } else {&#xA;        setState(() {&#xA;          _progressVisibility = false;&#xA;        });&#xA;        debugPrint(&#x27;Failed to split audio.&#x27;);&#xA;      }&#xA;    } catch (error) {&#xA;      setState(() {&#xA;        _progressVisibility = false;&#xA;      });&#xA;      debugPrint(&#x27;Error while splitting audio: $error&#x27;);&#xA;    }&#xA;  }&#xA;&#xA;  Future<int> _getAudioDuration(String filePath) async {&#xA;    final flutterSound = FlutterSound();&#xA;    final durationResult = await flutterSound.duration(filePath);&#xA;    return durationResult.inMilliseconds;&#xA;  }&#xA;</int></void>

    &#xA;

    Dependencies

    &#xA;

     path_provider: ^2.0.15&#xA;  ffmpeg_kit_flutter: ^5.1.0&#xA;  audioplayers: ^4.1.0&#xA;  flutter_sound: ^9.2.13&#xA;

    &#xA;