
Recherche avancée
Autres articles (89)
-
Amélioration de la version de base
13 septembre 2013Jolie 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 (...) -
Configuration spécifique pour PHP5
4 février 2011, parPHP5 est obligatoire, vous pouvez l’installer en suivant ce tutoriel spécifique.
Il est recommandé dans un premier temps de désactiver le safe_mode, cependant, s’il est correctement configuré et que les binaires nécessaires sont accessibles, MediaSPIP devrait fonctionner correctement avec le safe_mode activé.
Modules spécifiques
Il est nécessaire d’installer certains modules PHP spécifiques, via le gestionnaire de paquet de votre distribution ou manuellement : php5-mysql pour la connectivité avec la (...) -
Multilang : améliorer l’interface pour les blocs multilingues
18 février 2011, parMultilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela.
Sur d’autres sites (9640)
-
Unable to split audio using easy_audio_trimmer
27 juillet 2023, par Sana Wasimcan 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 {
 setState(() {
 _progressVisibility = true;
 });

 // Get the application documents directory
 final appDocumentsDirectory = await getApplicationDocumentsDirectory();

 // Get the input audio file path
 final inputAudioPath = widget.file.path;

 // Get the output file names for the two parts
 final outputFileName1 = 'split_audio_part1.mp3';
 final outputFileName2 = 'split_audio_part2.mp3';

 // Get the output file paths for the two parts
 final outputPath1 = '${appDocumentsDirectory.path}/$outputFileName1';
 final outputPath2 = '${appDocumentsDirectory.path}/$outputFileName2';

 // Calculate the duration of the original audio
 final originalDuration = await _getAudioDuration(inputAudioPath);

 // Calculate the durations of the two parts
 final part1Duration = _startValue;
 final part2Duration = originalDuration - _endValue;

 // Construct the FFmpeg command to split the audio
 final ffmpeg = FlutterFFmpeg();
 final splitCommand = '-i $inputAudioPath -ss 0 -t $part1Duration -c copy $outputPath1 -ss $_endValue -t $part2Duration -c copy $outputPath2';

 try {
 // Execute the FFmpeg command to split the audio
 final int result = await ffmpeg.execute(splitCommand);

 if (result == 0) {
 setState(() {
 _progressVisibility = false;
 });
 debugPrint('Audio split successfully.');
 } else {
 setState(() {
 _progressVisibility = false;
 });
 debugPrint('Failed to split audio.');
 }
 } catch (error) {
 setState(() {
 _progressVisibility = false;
 });
 debugPrint('Error while splitting audio: $error');
 }
 }

 Future<int> _getAudioDuration(String filePath) async {
 final flutterSound = FlutterSound();
 final durationResult = await flutterSound.duration(filePath);
 return durationResult.inMilliseconds;
 }
</int></void>


Dependencies


path_provider: ^2.0.15
 ffmpeg_kit_flutter: ^5.1.0
 audioplayers: ^4.1.0
 flutter_sound: ^9.2.13



-
How to split ffmpeg output into multiple files ?
15 novembre 2020, par Genius BillionaireWhat 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


-
ffmpeg : fast video split by encoding only missing keyframes and copying the rest
29 janvier 2023, par Eduardo PoçoI 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.