Advanced search

Medias (1)

Tag: - Tags -/artwork

Other articles (92)

  • Taille des images et des logos définissables

    9 February 2011, by

    Dans beaucoup d’endroits du site, logos et images sont redimensionnées pour correspondre aux emplacements définis par les thèmes. L’ensemble des ces tailles pouvant changer d’un thème à un autre peuvent être définies directement dans le thème et éviter ainsi à l’utilisateur de devoir les configurer manuellement après avoir changé l’apparence de son site.
    Ces tailles d’images sont également disponibles dans la configuration spécifique de MediaSPIP Core. La taille maximale du logo du site en pixels, on permet (...)

  • Pas question de marché, de cloud etc...

    10 April 2011

    Le vocabulaire utilisé sur ce site essaie d’éviter toute référence à la mode qui fleurit allègrement
    sur le web 2.0 et dans les entreprises qui en vivent.
    Vous êtes donc invité à bannir l’utilisation des termes "Brand", "Cloud", "Marché" etc...
    Notre motivation est avant tout de créer un outil simple, accessible à pour tout le monde, favorisant
    le partage de créations sur Internet et permettant aux auteurs de garder une autonomie optimale.
    Aucun "contrat Gold ou Premium" n’est donc prévu, aucun (...)

  • Supporting all media types

    13 April 2011, by

    Unlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats: images: png, gif, jpg, bmp and more audio: MP3, Ogg, Wav and more video: AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data: OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)

On other websites (7913)

  • hevc: deobfuscate slice/tile boundary handling for DBF

    27 July 2014, by Anton Khirnov
    hevc: deobfuscate slice/tile boundary handling for DBF
    

    Use named constants instead of magic numbers, avoid using variables with
    inverse meaning from what their name implies.

    • [DH] libavcodec/hevc.c
    • [DH] libavcodec/hevc.h
    • [DH] libavcodec/hevc_filter.c
  • Lossless compression of a sequence of similar grayscale images

    25 October 2020, by 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).

    


    What I tried

    


    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.

    


    Example of code used :

    


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



    


    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.

    


    Example of code used :

    


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


    


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

    


    Thanks ;)

    


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

    


  • FFmpeg C Api - Reduce fps but maintain video duration

    25 March 2015, by 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, &decoded_packet)>=0) {

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

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

               if(avcodec_encode_video2(output_stream->codec, &encoded_packet, decoded_frame, &got_frame) < 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, &encoded_packet) < 0) {
                       exit(1);
                   }
                   else {
                       current_frame_num +=1;
                   }
               }
               frame_count+=1;
               av_free_packet(&encoded_packet);
           }
       }
    }