Recherche avancée

Médias (91)

Autres articles (65)

  • Gestion des droits de création et d’édition des objets

    8 février 2011, par

    Par défaut, beaucoup de fonctionnalités sont limitées aux administrateurs mais restent configurables indépendamment pour modifier leur statut minimal d’utilisation notamment : la rédaction de contenus sur le site modifiables dans la gestion des templates de formulaires ; l’ajout de notes aux articles ; l’ajout de légendes et d’annotations sur les images ;

  • Dépôt de média et thèmes par FTP

    31 mai 2013, par

    L’outil MédiaSPIP traite aussi les média transférés par la voie FTP. Si vous préférez déposer par cette voie, récupérez les identifiants d’accès vers votre site MédiaSPIP et utilisez votre client FTP favori.
    Vous trouverez dès le départ les dossiers suivants dans votre espace FTP : config/ : dossier de configuration du site IMG/ : dossier des média déjà traités et en ligne sur le site local/ : répertoire cache du site web themes/ : les thèmes ou les feuilles de style personnalisées tmp/ : dossier de travail (...)

  • Keeping control of your media in your hands

    13 avril 2011, par

    The vocabulary used on this site and around MediaSPIP in general, aims to avoid reference to Web 2.0 and the companies that profit from media-sharing.
    While using MediaSPIP, you are invited to avoid using words like "Brand", "Cloud" and "Market".
    MediaSPIP is designed to facilitate the sharing of creative media online, while allowing authors to retain complete control of their work.
    MediaSPIP aims to be accessible to as many people as possible and development is based on expanding the (...)

Sur d’autres sites (5963)

  • how to pass custom values into this Android ffmpeg method

    28 août 2014, par kc ochibili

    i am trying to call this method. but i dont know how to pass my own values into it
    Like : the output length, or FrameRate.

    The code uses some letters like "-y" "-i" which they explained without really explaining what the letters meant

    here is the method from https://github.com/guardianproject/android-ffmpeg-java/blob/master/src/org/ffmpeg/android/FfmpegController.java#L488

     /*
        * ffmpeg -y -loop 0 -f image2 -r 0.5 -i image-%03d.jpg -s:v 1280x720 -b:v 1M \
      -i soundtrack.mp3 -t 01:05:00 -map 0:0 -map 1:0 out.avi

      -loop_input – loops the images. Disable this if you want to stop the encoding when all images are used or the soundtrack is finished.

    -r 0.5 – sets the framerate to 0.5, which means that each image will be shown for 2 seconds. Just take the inverse, for example if you want each image to last for 3 seconds, set it to 0.33.

    -i image-%03d.jpg – use these input files. %03d means that there will be three digit numbers for the images.

    -s 1280x720 – sets the output frame size.

    -b 1M – sets the bitrate. You want 500MB for one hour, which equals to 4000MBit in 3600 seconds, thus a bitrate of approximately 1MBit/s should be sufficient.

    -i soundtrack.mp3 – use this soundtrack file. Can be any format.

    -t 01:05:00 – set the output length in hh:mm:ss format.

    out.avi – create this output file. Change it as you like, for example using another container like MP4.
        */

    public Clip createSlideshowFromImagesAndAudio (ArrayList<clip> images, Clip audio,  Clip out, int durationPerSlide, ShellCallback sc) throws Exception
       {

           final String imageBasePath = new File(mFileTemp,"image-").getCanonicalPath();
           final String imageBaseVariablePath = imageBasePath + "%03d.jpg";


           ArrayList<string> cmd = new ArrayList<string>();


           String newImagePath = null;
           int imageCounter = 0;

           Clip imageCover = images.get(0); //add the first image twice

           cmd = new ArrayList<string>();
           cmd.add(mFfmpegBin);
           cmd.add("-y");

           cmd.add("-i");
           cmd.add(new File(imageCover.path).getCanonicalPath());

           if (out.width != -1 &amp;&amp; out.height != -1)
           {
               cmd.add("-s");
               cmd.add(out.width + "x" + out.height);
           }

           newImagePath = imageBasePath + String.format(Locale.US, "%03d", imageCounter++) + ".jpg";
           cmd.add(newImagePath);

           execFFMPEG(cmd, sc);

           for (Clip image : images)
           {
               cmd = new ArrayList<string>();
               cmd.add(mFfmpegBin);
               cmd.add("-y");

               cmd.add("-i");
               cmd.add(new File(image.path).getCanonicalPath());

               if (out.width != -1 &amp;&amp; out.height != -1)
               {
                   cmd.add("-s");
                   cmd.add(out.width + "x" + out.height);
               }

               newImagePath = imageBasePath + String.format(Locale.US, "%03d", imageCounter++) + ".jpg";
               cmd.add(newImagePath);

               execFFMPEG(cmd, sc);


           }

           //then combine them
           cmd = new ArrayList<string>();

           cmd.add(mFfmpegBin);
           cmd.add("-y");

           cmd.add("-loop");
           cmd.add("0");

           cmd.add("-f");
           cmd.add("image2");

           cmd.add("-r");
           cmd.add("1/" + durationPerSlide);

           cmd.add("-i");
           cmd.add(imageBaseVariablePath);

           cmd.add("-strict");
           cmd.add("-2");//experimental

           String fileTempMpg = new File(mFileTemp,"tmp.mpg").getCanonicalPath();

           cmd.add(fileTempMpg);

           execFFMPEG(cmd, sc);

           //now combine and encode
           cmd = new ArrayList<string>();

           cmd.add(mFfmpegBin);
           cmd.add("-y");

           cmd.add("-i");
           cmd.add(fileTempMpg);

           if (audio != null &amp;&amp; audio.path != null)
           {
               cmd.add("-i");
               cmd.add(new File(audio.path).getCanonicalPath());

               cmd.add("-map");
               cmd.add("0:0");

               cmd.add("-map");
               cmd.add("1:0");

               cmd.add(Argument.AUDIOCODEC);
               cmd.add("aac");

               cmd.add(Argument.BITRATE_AUDIO);
               cmd.add("128k");

           }

           cmd.add("-strict");
           cmd.add("-2");//experimental

           cmd.add(Argument.VIDEOCODEC);


           if (out.videoCodec != null)
               cmd.add(out.videoCodec);
           else
               cmd.add("mpeg4");

           if (out.videoBitrate != -1)
           {
               cmd.add(Argument.BITRATE_VIDEO);
               cmd.add(out.videoBitrate + "k");
           }

           cmd.add(new File(out.path).getCanonicalPath());


           execFFMPEG(cmd, sc);

           return out;
       }
    </string></string></string></string></string></string></clip>

    so, say i want an out put video that has a

    framerate -->           2sec
    output frame size -->   480 x 480
    output lenght of-->     02:08:00
    and output file type --> .mp4

    How can i do call this method with these values ?
    and how do they relate to the letters used above.

  • ffmpeg encoder (h264) example yields invalid video

    18 mai 2017, par Jason M

    I am trying to implement the h264 encoder (no audio) for my c++ program with ffmpeg (3.24). I started out with running the supposed official example but got a unplayable video. When I probed it with my ffmpeg decoder, which works nicely on other h264 videos, it shows that the video has a time_base = 1/1200000, nb_frames = 0, avg_frame_rate = 25 and duration and start_time of large negative numbers.

    What may have caused the problem ? Is there other up-to-date encoder examples out there ?

  • Merge commit '8a34f3659371680ca523aecfd9098c28f0f809eb'

    5 mai 2017, par James Almer
    Merge commit '8a34f3659371680ca523aecfd9098c28f0f809eb'
    

    * commit '8a34f3659371680ca523aecfd9098c28f0f809eb' :
    build : Add version numbers to "Requires" entries in pkg-config files

    This commit is a noop, see 6fdd35a3126f6ecbe4ebab12bdf8867e4f544958

    Merged-by : James Almer <jamrial@gmail.com>