
Recherche avancée
Médias (91)
-
Spoon - Revenge !
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
My Morning Jacket - One Big Holiday
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Zap Mama - Wadidyusay ?
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
David Byrne - My Fair Lady
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Beastie Boys - Now Get Busy
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Granite de l’Aber Ildut
9 septembre 2011, par
Mis à jour : Septembre 2011
Langue : français
Type : Texte
Autres articles (87)
-
De l’upload à la vidéo finale [version standalone]
31 janvier 2010, parLe chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
Upload et récupération d’informations de la vidéo source
Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...) -
List of compatible distributions
26 avril 2011, parThe table below is the list of Linux distributions compatible with the automated installation script of MediaSPIP. Distribution nameVersion nameVersion number Debian Squeeze 6.x.x Debian Weezy 7.x.x Debian Jessie 8.x.x Ubuntu The Precise Pangolin 12.04 LTS Ubuntu The Trusty Tahr 14.04
If you want to help us improve this list, you can provide us access to a machine whose distribution is not mentioned above or send the necessary fixes to add (...) -
Librairies et binaires spécifiques au traitement vidéo et sonore
31 janvier 2010, parLes logiciels et librairies suivantes sont utilisées par SPIPmotion d’une manière ou d’une autre.
Binaires obligatoires FFMpeg : encodeur principal, permet de transcoder presque tous les types de fichiers vidéo et sonores dans les formats lisibles sur Internet. CF ce tutoriel pour son installation ; Oggz-tools : outils d’inspection de fichiers ogg ; Mediainfo : récupération d’informations depuis la plupart des formats vidéos et sonores ;
Binaires complémentaires et facultatifs flvtool2 : (...)
Sur d’autres sites (11793)
-
Flutter (Dart) : Record two videos, merge them and then view new video in gallery
14 juin 2020, par Ittai BarkaiI am aware that there already exists a solution to a very similar question, which can be found on the following link : Flutter/Dart : Find two video segments and merge them into a single valid video file ? However, being relatively new to Flutter (and programming in general) I cannot seem to replicate the desired result.



My app is very simple and currently looks like this :






I click on the button "Record Video" to record two videos, which are both successfully stored into the device's gallery. Using the Flutter image_picker and gallery_saver packages and the following piece of code :



void _recordVideo() async {
 ImagePicker.pickVideo(source: ImageSource.camera)
 .then((File recordedVideo) {
 if (recordedVideo != null && recordedVideo.path != null) {
 setState(() {
 _buttonText = 'Saving in Progress...';
 });
 GallerySaver.saveVideo(recordedVideo.path).then((_) {
 setState(() {
 _buttonText = 'Video Saved!\n\nClick to Record New Video';
 if (_storedVideoOne == null) {
 _storedVideoOne = recordedVideo;
 print('video 1 stored');
 } else {
 _storedVideoTwo = recordedVideo;
 print('video 2 stored');
 _videoMerger();
 }
 });
 });
 }
 });
 }




I can view these videos when I click on the button at the bottom "View Video From Gallery".



Next I try to merge these two stored video files, using the flutter_ffmpeg package, as well as following the solution provided in the stack overflow question mentioned above. I try and do this using the following function I wrote :



void _videoMerger() async {


 final appDir = await syspaths.getApplicationDocumentsDirectory();
 String rawDocumentPath = appDir.path;
 final outputPath = '$rawDocumentPath/output.mp4';

 final FlutterFFmpeg _flutterFFmpeg = new FlutterFFmpeg();

 String commandToExecute = '-i ${_storedVideoOne.path} -i ${_storedVideoTwo.path} -filter_complex \'[0:0][1:0]concat=n=2:v=0:a=1[out]\' -map \'[out]\' outputPath';
 _flutterFFmpeg.execute(commandToExecute).then((rc) => print("FFmpeg process exited with rc $rc"));

 }




But after running the function I do not seem to get a new combined video, which should be stored in outputPath and ideally also viewable in the gallery. Uploaded the Flutter project onto GitHub here :



https://github.com/IttaiBarkai/Flutter-Video-Merger



Any help would be greatly appreciated :)


-
Trouble getting the Node ffmpeg module to work with paths that have spaces in them
26 juin 2020, par JacobTitle is pretty self-explanatory. I'm having trouble getting the Node ffmpeg module to work with paths to have spaces in them.


import ffmpeg from "ffmpeg"

try {
 let process = new ffmpeg("C:\\Users\\JR\\Desktop\\new folder\\test.m4a");
 process.then(video => {
 video.save("C:\\Users\\JR\\Desktop\\test.mp3", (error, file) => {
 if (!error) {
 console.log("converted!");
 } else {
 console.log("uh oh error: " + error);
 }
 });
 },
 error => {
 console.log("Error: " + error);
 });
} catch (error) {
 console.log(error.code);
 console.log(error.msg);
}



Below are all the variations I've tried. They all result in either an error from the module itself saying
The input file does not exist
or an error from ffmpeg sayingNo such file or directory
.

let process = new ffmpeg("C:\\Users\\JR\\Desktop\\new folder\\test.m4a");

let process = new ffmpeg('C:\\Users\\JR\\Desktop\\new folder\\test.m4a');

let process = new ffmpeg('"C:\\Users\\JR\\Desktop\\new folder\\test.m4a"');

let process = new ffmpeg("C:/Users/JR/Desktop/new folder/test.m4a");

let process = new ffmpeg('C:/Users/JR/Desktop/new folder/test.m4a');

let process = new ffmpeg("C:\\Users\\JR\\Desktop\\new\ folder\test.m4a");

let process = new ffmpeg('C:\\Users\\JR\\Desktop\\new\ folder\test.m4a');



And probably several other variations that I'm forgetting. Any ideas ?


-
FFmpeg continues to process after time specified at "-to"
4 août 2020, par YamahabestI have a video, where I want to cut a part from the beginning, and from the end. And I want to apply some fade ins/fade outs, and add some text.


So, I came up with the following syntax :


-ss 10 -to 40 
-i "D:\DATA\Software\VideoProcessor_Files\20171015 Zelhem Tandem Frans met Mirthe.MP4" 
-loop 1 -i "Input_Files\logo maurik large.png" 
-loop 1 -i "Input_Files\logo maurik small.png" 
-filter_complex "
 color=0x7F7F7F@0.95:1920x1080[grey_for_fade_out];
 [grey_for_fade_out]fade=t=out:st=12:d=2:alpha=1[grey_fade_out];
 [0:v][grey_fade_out]overlay[video_grey_fade_out];
 color=0x7F7F7F@0.95:1920x1080[grey_for_fade_in];
 [grey_for_fade_in]fade=t=in:st=37:d=2:alpha=1[grey_fade_in];
 [video_grey_fade_out][grey_fade_in]overlay[video_grey_fade_out_in];
 [1:v]fade=t=out:st=13:d=2:alpha=1[over];
 [over]scale=iw/1.5:-1[scaled];
 [video_grey_fade_out_in][scaled]overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/10[video_grey_fade_out_in_logo];
 [1:v]fade=t=in:st=36:d=2:alpha=1[over2];
 [over2]scale=iw/1.5:-1[scaled2];
 [video_grey_fade_out_in_logo][scaled2]overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2[video_grey_fade_out_in_logo2];
 [2:v]colorchannelmixer=aa=0.5,fade=t=in:st=14:d=2:alpha=1,fade=t=out:st=35:d=2:alpha=1[over3];
 [over3]scale=iw/10:-1[scaled3];
 [video_grey_fade_out_in_logo2][scaled3]overlay=10:10[video_complete];
 [video_complete]drawtext=fontfile=Input_Files/Sansation-Bold.ttf:text='Tandemvlucht met Mirthe':fontsize=96:fontcolor=white:alpha='if(lt(t,11),1,(2-(t-11))/2)':x=(w-text_w)/2:y=((h-text_h)/2)+125,drawtext=fontfile=Input_Files/Sansation-Bold.ttf:text='Zeddam':fontsize=96:fontcolor=white:alpha='if(lt(t,11),1,(2-(t-11))/2)':x=(w-text_w)/2:y=((h-text_h)/2)+250,drawtext=fontfile=Input_Files/Sansation-Bold.ttf:text='4 augustus 2020':fontsize=96:fontcolor=white:alpha='if(lt(t,11),1,(2-(t-11))/2)':x=(w-text_w)/2:y=((h-text_h)/2)+375,drawtext=fontfile=Input_Files/Sansation-Bold.ttf:text='Ook een keer meevliegen?':fontsize=96:fontcolor=white:alpha='if(lt(t,37),0,(t-37)/2)':x=(w-text_w)/2:y=((h-text_h)/6),drawtext=fontfile=Input_Files/Sansation-Bold.ttf:text='Of bel 085 - 049 55 69':fontsize=96:fontcolor=white:alpha='if(lt(t,37),0,(t-37)/2)':x=(w-text_w)/2:y=((h-text_h)/2)+350"
-preset medium 
-crf 18 
-c:a copy 
-y ".\Output_Files\Video\Zeddam\2020-08-04\Mirthe\27ed390a-8497-4550-b93f-4f87d9f2c9f0\MP_Tandemvlucht met_Mirthe_Zeddam_2020-08-04.mp4"



I am quite sure this has worked in the past, but now FFmpeg just keeps on processing endlessly. If I then stop the FFmpeg process, and look at the resulting file, I see that the last frame (of the end of the specified period) just keeps on duplicating.


The drop counter in the console output of FFmpeg also starts increasing at the end of the specified period :


frame= 987 fps= 15 q=-1.0 Lsize= 31357kB time=00:00:41.04 bitrate=6259.0kbits/s dup=0 drop=10 speed=0.644x



I am kind of lost on why this doesn't work anymore. I might have upgraded the FFmpeg executable in the mean time. Maybe my syntax was/is not correct, but I believe it just worked.


It has to be in the complex filter, because when I remove that, it works alright.
It is not in the drawtext part of the complex filter, because it still occurs when I remove that. And when I only do the drawtext, FFmpeg stops correctly at the specified time.


I have tried this, but then it still occurs :


-filter_complex "
 color=0x7F7F7F@0.95:1920x1080[grey_for_fade_out];
 [grey_for_fade_out]fade=t=out:st=12:d=2:alpha=1[grey_fade_out];
 [0:v][grey_fade_out]overlay[video_grey_fade_out];
 color=0x7F7F7F@0.95:1920x1080[grey_for_fade_in];
 [grey_for_fade_in]fade=t=in:st=37:d=2:alpha=1[grey_fade_in];
 [video_grey_fade_out][grey_fade_in]overlay"



Also with this, it still occurs :


-filter_complex "
 [1:v]fade=t=out:st=13:d=2:alpha=1[over];
 [over]scale=iw/1.5:-1[scaled];
 [0:v][scaled]overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/10[video_grey_fade_out_in_logo];
 [1:v]fade=t=in:st=36:d=2:alpha=1[over2];
 [over2]scale=iw/1.5:-1[scaled2];
 [video_grey_fade_out_in_logo][scaled2]overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2[video_grey_fade_out_in_logo2];
 [2:v]colorchannelmixer=aa=0.5,fade=t=in:st=14:d=2:alpha=1,fade=t=out:st=35:d=2:alpha=1[over3];
 [over3]scale=iw/10:-1[scaled3];
 [video_grey_fade_out_in_logo2][scaled3]overlay=10:10"



I just don't understand. All my fade-ins/-outs seem to be within the specified range :


- 

- fade=t=out:st=12:d=2 : start at 12 seconds, duration 2 seconds. This ends at 14 seconds, which is smaller than 40 seconds.
- fade=t=in:st=37:d=2 : start at 37 seconds, duration 2 seconds. This ends at 39 seconds, which is smaller than 40 seconds.
- fade=t=out:st=13:d=2 : start at 13 seconds, duration 2 seconds. This ends at 15 seconds, which is smaller than 40 seconds.
- fade=t=in:st=36:d=2 : start at 36 seconds, duration 2 seconds. This ends at 38 seconds, which is smaller than 40 seconds.










It is just like some sequence is not ended properly, which is causing FFmpeg to just continue.