
Recherche avancée
Médias (1)
-
Bug de détection d’ogg
22 mars 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Video
Autres articles (50)
-
Creating farms of unique websites
13 avril 2011, parMediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...) -
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs -
Changer son thème graphique
22 février 2011, parLe thème graphique ne touche pas à la disposition à proprement dite des éléments dans la page. Il ne fait que modifier l’apparence des éléments.
Le placement peut être modifié effectivement, mais cette modification n’est que visuelle et non pas au niveau de la représentation sémantique de la page.
Modifier le thème graphique utilisé
Pour modifier le thème graphique utilisé, il est nécessaire que le plugin zen-garden soit activé sur le site.
Il suffit ensuite de se rendre dans l’espace de configuration du (...)
Sur d’autres sites (5478)
-
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.


-
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


-
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