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

  • Les formats acceptés

    28 janvier 2010, par

    Les commandes suivantes permettent d’avoir des informations sur les formats et codecs gérés par l’installation local de ffmpeg :
    ffmpeg -codecs ffmpeg -formats
    Les format videos acceptés en entrée
    Cette liste est non exhaustive, elle met en exergue les principaux formats utilisés : h264 : H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 m4v : raw MPEG-4 video format flv : Flash Video (FLV) / Sorenson Spark / Sorenson H.263 Theora wmv :
    Les formats vidéos de sortie possibles
    Dans un premier temps on (...)

  • Configuration spécifique d’Apache

    4 février 2011, par

    Modules spécifiques
    Pour la configuration d’Apache, il est conseillé d’activer certains modules non spécifiques à MediaSPIP, mais permettant d’améliorer les performances : mod_deflate et mod_headers pour compresser automatiquement via Apache les pages. Cf ce tutoriel ; mode_expires pour gérer correctement l’expiration des hits. Cf ce tutoriel ;
    Il est également conseillé d’ajouter la prise en charge par apache du mime-type pour les fichiers WebM comme indiqué dans ce tutoriel.
    Création d’un (...)

Sur d’autres sites (9168)

  • Read/Manipulate data from an audio file and write it to a new audio file

    13 avril 2021, par Dr-Zee

    For this question I'm looking less for specific code and more for pointers and recommendations. What I'm doing is custom enough that asking for code samples seems unfair.

    


    I want to take the amplitude data from an audio track and use it to modulate the frequency of a tone. I'd like to record that modulated tone to a separate audio track.

    


    At the moment I'm looking into pyaudio and pydub to run these tasks via a script.

    


    I took this task for granted having used software that allows you to easily link track properties together. Or by manipulating data in real-time with an Arduino. Now that I'm looking into the scripting process I'm realizing how specialized what I'm trying to do is.

    


    Any guidance would be appreciated.

    


  • FFMpeg compress with wrong frame rate while sending raw pixel data from java application

    11 janvier 2014, par Marco

    I am trying to create a compressed h264 video file from a series of raw rgb24 pixel data.
    Pixel data is streamed from java application to ffmpeg.exe which is its subprocess.

    For testing purposes I've created a byte array with rgb24 pixel data and then sent it to ffmpeg's input stream.

    Everything works fine except one issue.

    It looks like the frame rate of the encoded file is wrong.
    FFMpeg should compress the video file with 30fps rate (-r 30).

    I am sending 30*20 frames. So I supposed to get a video file with length of 20 seconds.
    But instead of that the video file's length is 24 seconds.
    When I check the compressed file properties, it shows 30fps as expected.

    It looks like the ratio between expected and actual frame rate is 5 to 6 (20 —> 24,30 —> 36).
    I have also tried to stream rgb32 pixel data but I had the same results.

    code :

       ByteArrayOutputStream byteArray = new ByteArrayOutputStream();
       //building the frame
       for (int i=0; i<1024*800; i++)
       {
           byteArray.write(i&0xFF);    //r
           byteArray.write(i&0xFF);    //g
           byteArray.write(i&0xFF);    //b
       }

       byte pixelData[] = byteArray.toByteArray();

       File ffmpeg_output_msg = new File("ffmpeg_output_msg.txt");

       ProcessBuilder pb = new ProcessBuilder("ffmpeg.exe","-vcodec","rawvideo","-f","rawvideo","-pix_fmt","rgb24","-s","1024x800","-i","pipe:0","-r","30","-y","-c:v","libx264","out.mkv");

       pb.redirectErrorStream(true);
       pb.redirectOutput(ffmpeg_output_msg);

       Process p = pb.start();
       OutputStream ffmpegInput = p.getOutputStream();

       //30fps, 20secs
       for(int i=0;i<30*20;i++)
       {
           ffmpegInput.write(pixelData);
       }
       ffmpegInput.flush();
       ffmpegInput.close();

    Any ideas what could be the origin of that problem ?
    Thanks in advance

    UPDATE
    I have changed the frame rate to other values and it looks like the ffmpeg completely ignores that parameter. It always uses 25fps.
    using "-r 30" effects only on the data that's written in file's properties
    (Video : MPEG4 Video (H264) 1024x800 30fps [Video])

    Is it possible that there are two different framerates in the encoded file ?

  • Evolution #4695 : Pouvoir filtrer selon divers critère. Principalement : mise-à-jour disponible

    15 mars 2021

    Alors si tu te lance là-dedans, tu as des éléments dans
    https://git.spip.net/spip/svp/commit/a58c4d19f6f67a6973f291f8e458320a940ee62a
    et https://git.spip.net/spip/svp/commit/edad1fbc8bdb7c30829ad57df0b3a8703cdbb83c

    Mais en fait, il faudrait revoir toute la logique de filtrage :

    • Que le clic sur la case à cocher, ou le keyup du texte de filtrage appellent tous les 2 la même fonction.
    • Et que cette fonction calcule un tableau de ce qui est filtré par l’un, et un autre tableau par l’autre, et fournisse l’intersection des 2 (ou des N si plus de critères)
    • et rafraichisse l’affichage ou non (si 0) de la case à cocher et du nombre de plugins mettables à jour dans la vue

    De plus, comme ça ne fait que cacher les lignes hors du filtre, il faut qu’à l’envoi du formulaire, ça n’envoie que les lignes visibles.
    Ou pas d’ailleurs, parce que l’on peut utiliser le champ de recherche pour cocher plusieurs plugins et vouloir faire l’action sur tous, pas seulement le dernier que l’on est en train de voir.
    Ça, ça pourrait d’ailleurs se résoudre en changeant le filtrage pour toujours garder visibles les plugins déjà cochés…

    Des tas de questions qui se posent moins avec mon implémentation.