Recherche avancée

Médias (0)

Mot : - Tags -/alertes

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (75)

  • MediaSPIP version 0.1 Beta

    16 avril 2011, par

    MediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

  • Mise à jour de la version 0.1 vers 0.2

    24 juin 2013, par

    Explications des différents changements notables lors du passage de la version 0.1 de MediaSPIP à la version 0.3. Quelles sont les nouveautés
    Au niveau des dépendances logicielles Utilisation des dernières versions de FFMpeg (>= v1.2.1) ; Installation des dépendances pour Smush ; Installation de MediaInfo et FFprobe pour la récupération des métadonnées ; On n’utilise plus ffmpeg2theora ; On n’installe plus flvtool2 au profit de flvtool++ ; On n’installe plus ffmpeg-php qui n’est plus maintenu au (...)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

Sur d’autres sites (13439)

  • split video (avi/h264) on keyframe

    30 novembre 2012, par m.sr

    Hallo.

    I have a big video file. ffmpeg, tcprobe and other tool say, it is an h264-stream in an AVI-container.

    Now i'd like to cut out small chunks form the video.

    1. Problem : The index of the video seam corrupted/destroyed. I kind of fixed this via mplayer -forceidx -saveidx <indexfile> <bigvideofile></bigvideofile></indexfile>. The Problem here is, that I'm now stuck with mplayer/mencoder which can use this index file via -loadidx <indexfile></indexfile>. I have tried correcting the index like described in man aviindex (mplayer -frames 0 -saveidx mpidx broken.avi ; aviindex -i mpidx -o tcindex ; avimerge -x tcindex -i broken.avi -o fixed.avi), but this didn't fix my video - meaning that most tools i've tested couldn't search in the video file.

    2. Problem : I cut out parts of the video via following command : mencoder -loadidx in.idx -ss 8578 -endpos 20 -oac faac -ovc x264 -sws 9 -lavfopts format=mp4 -x264encopts <lotsofopts> -of lavf -vf scale=800:-10,harddup in.avi -o out.mp4</lotsofopts>. Now here the problem is, that some videos are corrupted at the beginning. I think this is because the fact, that i do not necessarily cut at keyframe.

    Questions :

    1. What is the best way to fix the index of an avi "inline" so that every tool can again work as expected with it ?

    2. How can i split at the keyframes ? Is there an mencoder-option for this ?

    3. Are Keyframes coming in a frequency ? How to find out this frequency ? (So with a bit of math it should be possible to calculate the next keyframe and cut there)

    4. Is ther perhaps some completely other way to split this movie ? Doing it by hand is no option, i've to cut out 1000+ chunks ...

    Thanks a lot !

  • Lossless compression of a sequence of similar grayscale images

    25 octobre 2020, par damien200

    I would like to have the best compression ratio of a sequence of similar grayscale images. I note that I need an absolute lossless solution (meaning I should be able to check it with an hash algorithm).

    &#xA;

    What I tried

    &#xA;

    I had the idea to convert my images into a video because there is a chronology between images. The encoding algorithm would compress using the fact that not all the scene change between 2 pictures. So I tried using ffmpeg but I had several problems due to sRGB -> YUV colorspace compression. I didn't understand all the thing but it's seems like a nightmare.

    &#xA;

    Example of code used :

    &#xA;

    ffmpeg -i %04d.png -c:v libx265 -crf 0 video.mp4 #To convert into video&#xA;ffmpeg -i video.mp4 %04d.png #To recover images&#xA;&#xA;

    &#xA;

    My second idea was to do it by hand with imagemagik. So I took the first image as reference and create a new image that is the difference between image1 and image2. Then I tried to add the difference image with the image 1 (trying to recover image 2) but it didn't work. Noticing the size of the recreated picture, it's clear that the image is not the same. I think there was an unwanted compression during the process.

    &#xA;

    Example of code used :

    &#xA;

    composite -compose difference 0001.png 0002.png diff.png #To create the diff image&#xA;composite -compose difference 0001.png diff.png recover.png #To recover image 2&#xA;

    &#xA;

    Do you have any idea about my problem ?&#xA;And why I don't manage to do the perfect recover with iamgemagik ?

    &#xA;

    Thanks ;)

    &#xA;

    Here are 20 samples images : https://cloud.damien.gdn/d/f1a7954a557441989432/

    &#xA;

  • FFmpeg C Api - Reduce fps but maintain video duration

    25 mars 2015, par Justin Bradley

    Using the FFmpeg C API I’m trying to convert an input video into a video that looks like an animated gif - meaning no audio stream and a video stream of 4/fps.

    I have the decode/encode part working. I can drop the audio stream from the output file, but I’m having trouble reducing the fps. I can change the output video stream’s time_base to 4/fps, but it increases the video’s duration - basically playing it in slow mo.

    I think I need to drop the extra frames before I write them to the output container.

    Below is the loop where I read the input frames, and then write them to output container.

    Is this where I’d drop the extra frames ? How do I determine which frames to drop (I,P,B frames) ?

    while(av_read_frame(input_container, &amp;decoded_packet)>=0) {

       if (decoded_packet.stream_index == video_stream_index) {
           len = avcodec_decode_video2(input_stream->codec, decoded_frame, &amp;got_frame, &amp;decoded_packet);
           if(len &lt; 0) {
               exit(1);
           }

           if(got_frame) {
               av_init_packet(&amp;encoded_packet);
               encoded_packet.data =  NULL;
               encoded_packet.size =  0;

               if(avcodec_encode_video2(output_stream->codec, &amp;encoded_packet, decoded_frame, &amp;got_frame) &lt; 0) {
                   exit(1);
               }
               if(got_frame) {
                   if (output_stream->codec->coded_frame->key_frame) {
                       encoded_packet.flags |= AV_PKT_FLAG_KEY;
                   }

                   encoded_packet.stream_index = output_stream->index;
                   encoded_packet.pts = av_rescale_q(current_frame_num, output_stream->codec->time_base, output_stream->time_base);
                   encoded_packet.dts = av_rescale_q(current_frame_num, output_stream->codec->time_base, output_stream->time_base);

                   if(av_interleaved_write_frame(output_container, &amp;encoded_packet) &lt; 0) {
                       exit(1);
                   }
                   else {
                       current_frame_num +=1;
                   }
               }
               frame_count+=1;
               av_free_packet(&amp;encoded_packet);
           }
       }
    }