
Recherche avancée
Médias (3)
-
Exemple de boutons d’action pour une collection collaborative
27 février 2013, par
Mis à jour : Mars 2013
Langue : français
Type : Image
-
Exemple de boutons d’action pour une collection personnelle
27 février 2013, par
Mis à jour : Février 2013
Langue : English
Type : Image
-
Collections - Formulaire de création rapide
19 février 2013, par
Mis à jour : Février 2013
Langue : français
Type : Image
Autres articles (26)
-
Automated installation script of MediaSPIP
25 avril 2011, parTo overcome the difficulties mainly due to the installation of server side software dependencies, an "all-in-one" installation script written in bash was created to facilitate this step on a server with a compatible Linux distribution.
You must have access to your server via SSH and a root account to use it, which will install the dependencies. Contact your provider if you do not have that.
The documentation of the use of this installation script is available here.
The code of this (...) -
Sélection de projets utilisant MediaSPIP
29 avril 2011, parLes exemples cités ci-dessous sont des éléments représentatifs d’usages spécifiques de MediaSPIP pour certains projets.
Vous pensez avoir un site "remarquable" réalisé avec MediaSPIP ? Faites le nous savoir ici.
Ferme MediaSPIP @ Infini
L’Association Infini développe des activités d’accueil, de point d’accès internet, de formation, de conduite de projets innovants dans le domaine des Technologies de l’Information et de la Communication, et l’hébergement de sites. Elle joue en la matière un rôle unique (...) -
Prérequis à l’installation
31 janvier 2010, parPréambule
Cet article n’a pas pour but de détailler les installations de ces logiciels mais plutôt de donner des informations sur leur configuration spécifique.
Avant toute chose SPIPMotion tout comme MediaSPIP est fait pour tourner sur des distributions Linux de type Debian ou dérivées (Ubuntu...). Les documentations de ce site se réfèrent donc à ces distributions. Il est également possible de l’utiliser sur d’autres distributions Linux mais aucune garantie de bon fonctionnement n’est possible.
Il (...)
Sur d’autres sites (3738)
-
How can I use ffmpeg to crop a part of a video by frames numbers including video and audio ?
28 mars 2019, par Dubi DuboniI have a simple list :
LReg.start = rise[i];
LReg.end = fall[i];
LR.Add(LReg);start and end are int’s in the end I have a List of the frames I want to extract from a video file. For example in index 0 of LR I have start 48 end 51
In index 1 start 110 end 124So I want to loop over the List an save as a video file the part of a video file using ffmpeg according to the frame number start and end by jumping to this frames.
Jump to frame 48 and create a video file out from frame 48 to 51 including 48 and 51. Then jump forward to the next group of frames 110 and 124 and so on.The problem is how to use ffmpeg to extract and save video files ?
-
The FFmpeg just show the number form the input text (no characters , just numbers) error=13, Permission denied
14 avril 2021, par gejivi2011I was trying to use FFmpeg to create a video form gif and audio, on Android 10, doesn't work
The code is working fine on android 9 and below, and not work 10 and above
the Cmd, as I mentioned it is work so good on android 9 and below


String[] cmd = new String[24];
 cmd[0] = "-i";
 cmd[1] = audio.getPath();
 cmd[2] = "-ignore_loop";
 cmd[3] = "0";
 cmd[4] = "-i";
 cmd[5] = image_path;
 cmd[6] = "-vf";
 cmd[7] = "scale=trunc(iw/2)*2:trunc(ih/2)*2";
 cmd[8] = "-filter:v";
 cmd[9] = ayat_drawer + qara_draw;
 cmd[10] = "-vcodec";
 cmd[11] = "libx264";
 cmd[12] = "-pix_fmt";
 cmd[13] = "yuv420p";
 cmd[14] = "-r";
 cmd[15] = "25";
 cmd[16] = "-preset";
 cmd[17] = "ultrafast";
 cmd[18] = "-c:a";
 cmd[19] = "aac";
 cmd[20] = "-b:a";
 cmd[21] = "128k";
 cmd[22] = "-shortest";
 cmd[23] = outputLocation.getPath();



The Java code :


FFmpeg mFFmpeg = FFmpeg.getInstance(context);
 try {
 mFFmpeg.execute(cmd, new ExecuteBinaryResponseHandler() {
 @Override
 public void onProgress(String message) {
 super.onProgress(message);
 callback.onProgress(message);
 }

 @Override
 public void onSuccess(String message) {
 super.onSuccess(message);
 Utils.refreshGallery(outputLocation.getPath(), context);
 callback.onSuccess(outputLocation, "video");
 }

 @Override
 public void onFailure(String message) {
 super.onFailure(message);
 if (outputLocation.exists()) {
 outputLocation.delete();
 }
 callback.onFailure(new IOException(message));
 }

 @Override
 public void onStart() {
 Log.d("TAG", "<ffmpeg>Started command : mFFmpeg " + java.util.Arrays.toString(cmd));
 }

 @Override
 public void onFinish() {
 Log.d("TAG", "<ffmpeg>Finished command : mFFmpeg " + java.util.Arrays.toString(cmd));
 super.onFinish();
 callback.onFinish();
 }
 });
 } catch (FFmpegCommandAlreadyRunningException e) {
 Log.e("MAS" , e.getMessage());
 e.printStackTrace();
 }
</ffmpeg></ffmpeg>


I think that because FFmpeg using Asynctask and it is deprecated


-
How to convert n numbers of images into a video slideshow with putting some transition on each images with flutter_ffmpeg ?
26 avril 2023, par Shruti Ramnandan SharmaI'm trying to convert images into a video slideshow with some transition. I have used flutter_ffmpeg plugin , with this plugin I have created with only 3 images but I want to add n numbers of images but couldn't able to find solutions for it. I tried to add more images but it throws error.


I'm gonna add some piece of code below :


- 

- Instance of FlutterFFmpeg




final FlutterFFmpeg _flutterFFmpeg = FlutterFFmpeg(); 



- 

- Picking multiple images from the gallery and applying command to convert images into a video




void mergeImageVideo() async {
 final ImagePicker picker = ImagePicker();
 final images = await picker.pickMultiImage();

 var im1 = images[0].path;

 var im2 = images[1].path;

 var im3 = images[2].path;

 //-shortest
 openLoadingDialog(context, "Creating video");
 generateFilePath("ImageVideoMerge").then((outputFile) {
 var backgroundColor = 'FFF44336';

 String ffmpegCommand = VideoUtil.generateImagesToVideoScript(
 im1, im2, im3, outputFile, 'mpeg4', '', backgroundColor);

 print("ffmpegCommand==> $ffmpegCommand");
 _flutterFFmpeg.execute(ffmpegCommand).then((v) {
 if (v == 0) {
 var file = File(outputFile);
 Navigator.pop(context);
 showSnackBar(context, "Images Added Successfully", Colors.black);
 updateVideoPlayer(file);
 } else {
 Navigator.pop(context);
 }
 }).then((executionId) {
 });
 });
 }




method to get ffmpeg command (images into video with scale transition)


static String generateImagesToVideoScript(
 String image1Path,
 String image2Path,
 String image3Path,
 String videoFilePath,
 String videoCodec,
 String customOptions,
 String backgroundColor
 ) {

 // ignore: prefer_interpolation_to_compose_strings
 return "-hide_banner -y -loop 1 -i '" +
 image1Path +
 "' " +
 "-loop 1 -i \"" +
 image2Path +
 "\" " +
 "-loop 1 -i \"" +
 image3Path +
 "\" " +
 "-filter_complex " +
 "\" " +
 "[0:v]setpts=PTS-STARTPTS,scale=w=640:h=424,setsar=sar=1/1,split=2[stream1out1][stream1out2];" +
 "[1:v]setpts=PTS-STARTPTS,scale=w=640:h=424,setsar=sar=1/1,split=2[stream2out1][stream2out2];" +
 "[2:v]setpts=PTS-STARTPTS,scale=w=640:h=424,setsar=sar=1/1,split=2[stream3out1][stream3out2];" +
 "[stream1out1]pad=width=640:height=427:x=(640-iw)/2:y=(427-ih)/2:color=#$backgroundColor,trim=duration=3,select=lte(n\\,90)[stream1overlaid];" +
 "[stream1out2]pad=width=640:height=427:x=(640-iw)/2:y=(427-ih)/2:color=#$backgroundColor,trim=duration=1,select=lte(n\\,30)[stream1ending];" +
 "[stream2out1]pad=width=640:height=427:x=(640-iw)/2:y=(427-ih)/2:color=#$backgroundColor,trim=duration=2,select=lte(n\\,60)[stream2overlaid];" +
 "[stream2out2]pad=width=640:height=427:x=(640-iw)/2:y=(427-ih)/2:color=#$backgroundColor,trim=duration=1,select=lte(n\\,30),split=2[stream2starting][stream2ending];" +
 "[stream3out1]pad=width=640:height=427:x=(640-iw)/2:y=(427-ih)/2:color=#$backgroundColor,trim=duration=2,select=lte(n\\,60)[stream3overlaid];" +
 "[stream3out2]pad=width=640:height=427:x=(640-iw)/2:y=(427-ih)/2:color=#$backgroundColor,trim=duration=1,select=lte(n\\,30)[stream3starting];" +
 "[stream2starting][stream1ending]blend=all_expr='if(gte(X,(W/2)*T/1)*lte(X,W-(W/2)*T/1),B,A)':shortest=1[stream2blended];" +
 "[stream3starting][stream2ending]blend=all_expr='if(gte(X,(W/2)*T/1)*lte(X,W-(W/2)*T/1),B,A)':shortest=1[stream3blended];" +
 "[stream1overlaid][stream2blended][stream2overlaid][stream3blended][stream3overlaid]concat=n=5:v=1:a=0,scale=w=640:h=424,format=yuv420p[video]\"" +
 " -map [video] -vsync 2 -async 1 " +
 customOptions +
 "-c:v " +
 videoCodec +
 " -r 30 " +
 videoFilePath;
 }