Recherche avancée

Médias (91)

Autres articles (61)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

  • ANNEXE : Les plugins utilisés spécifiquement pour la ferme

    5 mars 2010, par

    Le site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)

  • Librairies et binaires spécifiques au traitement vidéo et sonore

    31 janvier 2010, par

    Les 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 (13122)

  • Using ffmpeg to encode a high quality video

    7 janvier 2013, par CakeMaster

    I have a set of video frames saved as images in a directory, and I'm trying to encode these to a good quality video, however every setting and every format I try produces very noticeable artifacts.

    The basic command is this :

    ffmpeg -r 25 -i %4d.png myvideo.mpg

    and I've tried the minrate and maxrate flags. Any of mpg, avi, mov, flv formats will do.

    Any suggestions for settings ? Final file size is not an issue.

  • Pass a process to a subclass

    16 décembre 2014, par Brett

    I would like to pass a process to a subclass so I may kill it but I can’t figure out how to pass the process. I’m unsure how to store it so I can return it to the form and be able to call the subclass method to kill it. here are my classes

    package my.mashformcnts;
    import java.io.IOException;
    import java.util.Scanner;
    import java.util.regex.Pattern;


    /**
    *
    * @author brett
    */
    public class MashRocks {

       public static Process startThread(MashFormCnts mashFormCnts) throws IOException {
           ProcessBuilder pb = new ProcessBuilder("ffmpeg", "-i", "C:\\Users\\brett\\Documents\\Telegraph_Road.mp4", "C:\\Users\\brett\\Documents\\out.mp4");

           //Here is where i would like to name and store the Process


           final Process p = pb.start();
           // create a new thread to get progress from ffmpeg command , override  
           // it's run method, and start it!  
           Thread t = new Thread() {
               @Override
               public void run() {
                   Scanner sc = new Scanner(p.getErrorStream());
                   // Find duration  
                   Pattern durPattern = Pattern.compile("(?<=Duration: )[^,]*");
                   String dur = sc.findWithinHorizon(durPattern, 0);
                   if (dur == null) {
                       throw new RuntimeException("Could not parse duration.");
                   }
                   String[] hms = dur.split(":");
                   double totalSecs = Integer.parseInt(hms[0]) * 3600 + Integer.parseInt(hms[1]) * 60 + Double.parseDouble(hms[2]);
                   System.out.println("Total duration: " + totalSecs + " seconds.");
                   // Find time as long as possible.  
                   Pattern timePattern = Pattern.compile("(?<=time=)[\\d:.]*");
                   String match;
                   String[] matchSplit;
                   //MashForm pgbar = new MashForm();
                   while (null != (match = sc.findWithinHorizon(timePattern, 0))) {
                       matchSplit = match.split(":");
                       double progress = (Integer.parseInt(matchSplit[0]) * 3600 + Integer.parseInt(matchSplit[1]) * 60 + Double.parseDouble(matchSplit[2])) / totalSecs;
                       int prog = (int) (progress * 100);
                       mashFormCunts.setbar(prog);
                   }
               }
           };
          t.start();
          return p;
       }
      public synchronized static void stop(Thread t) throws IOException{
              Runtime.getRuntime().exec("taskkill /F /IM ffmpeg.exe");  
               t = null;
             //t.interrupt();



      }
    }
      class killMash extends MashRocks{
       public static void Kfpeg(Process p){

         p.destroyForcibly();
       }
    }

    So those are my classes. I’m very new.

    Next there is the event Listener on the form, so when I click this I want to kill the ffmpeg proecess with the Thread t :

     private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                        
           // TODO add your handling code here:
           Thread n = Thread.currentThread();
           System.out.print(n);
           try {
               //MashRocks.stop(n);
                //This isnt working but i think its closer
                killMash.Kfpeg(MashRocks.startThread(this));
    //Not Sure what to do here
     //here is where i want to pass the process sorry for the typo
     killMash.kfpeg(p);
               } catch (IOException ex) {
                   Logger.getLogger(MashFormCunts.class.getName()).log(Level.SEVERE, null, ex);
               }

           }  

    Any help is awesome cheers

  • Using FFMPEG to reliably convert videos to mp4 for iphone/ipod and flash players

    23 avril 2016, par Jake Stevenson

    I need to convert videos for use in both a flash player and the iphone/ipod touch. I’m using the following batch script with ffmpeg :

    @echo off
    ffmpeg.exe -i %1 -s qvga -acodec libfaac -ar 22050 -ab 128k -vcodec libx264 -threads 0 -f ipod %2

    This always outputs an mp4 file, and I can always play it on my PC. The videos also seem to play fine on my iphone 3GS. But with some input files it won’t work for older iphone versions (3G and iPod touch).

    Here’s the ffmpeg output from one such file :

    D:\ffmpeg>encode.bat d:\temp\recording.flv d:\temp\out.m4v
    FFmpeg version SVN-r18709, Copyright (c) 2000-2009 Fabrice Bellard, et al.
     configuration: --enable-memalign-hack --prefix=/mingw --cross-prefix=i686-ming
    w32- --cc=ccache-i686-mingw32-gcc --target-os=mingw32 --arch=i686 --cpu=i686 --e
    nable-avisynth --enable-gpl --enable-zlib --enable-bzlib --enable-libgsm --enabl
    e-libfaac --enable-libfaad --enable-pthreads --enable-libvorbis --enable-libtheo
    ra --enable-libspeex --enable-libmp3lame --enable-libopenjpeg --enable-libxvid -
    -enable-libschroedinger --enable-libx264
     libavutil     50. 3. 0 / 50. 3. 0
     libavcodec    52.27. 0 / 52.27. 0
     libavformat   52.32. 0 / 52.32. 0
     libavdevice   52. 2. 0 / 52. 2. 0
     libswscale     0. 7. 1 /  0. 7. 1
     built on Apr 28 2009 04:04:42, gcc: 4.2.4
    [flv @ 0x187d650]skipping flv packet: type 18, size 164, flags 0
    Input #0, flv, from 'd:\temp\recording.flv':
     Duration: 00:00:07.17, start: 0.001000, bitrate: N/A
       Stream #0.0: Video: flv, yuv420p, 320x240, 1k tbr, 1k tbn, 1k tbc
       Stream #0.1: Audio: nellymoser, 44100 Hz, mono, s16
    [libx264 @ 0x13518b0]using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE
    4.2
    [libx264 @ 0x13518b0]profile Baseline, level 4.2
    Output #0, ipod, to 'd:\temp\out.m4v':
       Stream #0.0: Video: libx264, yuv420p, 320x240, q=2-31, 200 kb/s, 1k tbn, 1k
    tbc
       Stream #0.1: Audio: libfaac, 22050 Hz, mono, s16, 128 kb/s
    Stream mapping:
     Stream #0.0 -> #0.0
     Stream #0.1 -> #0.1
    Press [q] to stop encoding
    frame=   90 fps=  0 q=-1.0 Lsize=     128kB time=6.87 bitrate= 152.4kbits/s
    video:92kB audio:32kB global headers:1kB muxing overhead 2.620892%
    [libx264 @ 0x13518b0]slice I:8     Avg QP:29.62  size:  7047
    [libx264 @ 0x13518b0]slice P:82    Avg QP:30.83  size:   467
    [libx264 @ 0x13518b0]mb I  I16..4: 17.9%  0.0% 82.1%
    [libx264 @ 0x13518b0]mb P  I16..4:  0.6%  0.0%  0.0%  P16..4: 23.1%  0.0%  0.0%
    0.0%  0.0%    skip:76.3%
    [libx264 @ 0x13518b0]final ratefactor: 57.50
    [libx264 @ 0x13518b0]SSIM Mean Y:0.9544735
    [libx264 @ 0x13518b0]kb/s:8412.6

    My suspicion is that it has something to do with the audio encoding. If so, does anyone know how to force it to reencode the audio to the proper format ?

    Any other ideas ?