Recherche avancée

Médias (91)

Autres articles (63)

  • Qu’est ce qu’un éditorial

    21 juin 2013, par

    Ecrivez votre de point de vue dans un article. Celui-ci sera rangé dans une rubrique prévue à cet effet.
    Un éditorial est un article de type texte uniquement. Il a pour objectif de ranger les points de vue dans une rubrique dédiée. Un seul éditorial est placé à la une en page d’accueil. Pour consulter les précédents, consultez la rubrique dédiée.
    Vous pouvez personnaliser le formulaire de création d’un éditorial.
    Formulaire de création d’un éditorial Dans le cas d’un document de type éditorial, les (...)

  • D’autres logiciels intéressants

    12 avril 2011, par

    On ne revendique pas d’être les seuls à faire ce que l’on fait ... et on ne revendique surtout pas d’être les meilleurs non plus ... Ce que l’on fait, on essaie juste de le faire bien, et de mieux en mieux...
    La liste suivante correspond à des logiciels qui tendent peu ou prou à faire comme MediaSPIP ou que MediaSPIP tente peu ou prou à faire pareil, peu importe ...
    On ne les connais pas, on ne les a pas essayé, mais vous pouvez peut être y jeter un coup d’oeil.
    Videopress
    Site Internet : (...)

  • List of compatible distributions

    26 avril 2011, par

    The table below is the list of Linux distributions compatible with the automated installation script of MediaSPIP. Distribution nameVersion nameVersion number Debian Squeeze 6.x.x Debian Weezy 7.x.x Debian Jessie 8.x.x Ubuntu The Precise Pangolin 12.04 LTS Ubuntu The Trusty Tahr 14.04
    If you want to help us improve this list, you can provide us access to a machine whose distribution is not mentioned above or send the necessary fixes to add (...)

Sur d’autres sites (11509)

  • Revision 5c05fbf6bb : Merge "Refactor 4x4 block level rd loop" into experimental

    30 mai 2013, par Jingning Han

    Changed Paths :
     Modify /vp9/encoder/vp9_rdopt.c



    Merge "Refactor 4x4 block level rd loop" into experimental

  • avformat/matroskaenc : Remove unnecessary avio_tell(), avio_seek()

    22 janvier 2020, par Andreas Rheinhardt
    avformat/matroskaenc : Remove unnecessary avio_tell(), avio_seek()
    

    avio_close_dyn_buf() has a bug : When the write pointer does not point to
    the end of the written data when calling it (i.e. when one has performed
    a seek back to update already written data), it would not add padding to
    the end of the buffer, but to the current position, overwriting other
    data ; furthermore the reported size would be wrong (off by the amount of
    data it has overwritten with padding).

    In order not to run into this when updating already written elements or
    elements for which size has only been reserved, the Matroska muxer would
    first record the current position of the dynamic buffer, then seek to
    the desired position, perform the update and seek back to the earlier
    position.

    But now that end_ebml_master_crc32() does not make use of
    avio_close_dyn_buf() any more, this is no longer necessary.

    Signed-off-by : Andreas Rheinhardt <andreas.rheinhardt@gmail.com>

    • [DH] libavformat/matroskaenc.c
  • Encode buffer captured by OpenGL in C

    4 janvier 2020, par M. Ying

    I am trying to use OpenGL to capture the back buffer of my computer’s screen, and then H.264 encode the buffer using FFMPEG’s libavcodec library. The issue I’m having is that I would like to encode the video in AV_PIX_FMT_420P, but the back buffer capture function provided by OpenGL, glReadPixels(), only supports formats like GL_RGB. As you can see below, I try to use FFMPEG’s swscale() function to convert from RGB to YUV, but the following code crashes at the swscale() line. Any ideas on how I can encode the OpenGL backbuffer ?

    // CAPTURE BACK BUFFER USING OPENGL
       int width = 1280, height = 720;
       BYTE* pixels = (BYTE *) malloc(sizeof(BYTE));
       glReadPixels(0, 720, width, height, GL_RGB, GL_UNSIGNED_BYTE, pixels);

    //CREATE FFMPEG VARIABLES
       avcodec_register_all();

       AVCodec *codec;
       AVCodecContext *context;
       struct SwsContext *sws;
       AVPacket packet;
       AVFrame *frame;

       codec = avcodec_find_encoder(AV_CODEC_ID_H264);
       context = avcodec_alloc_context3(encoder->codec);
       context->dct_algo = FF_DCT_FASTINT;
       context->bit_rate = 400000;
       context->width = width;
       context->height = height;
       context->time_base.num = 1;
       context->time_base.den = 30;
       context->gop_size = 1;
       context->max_b_frames = 1;
       context->pix_fmt = AV_PIX_FMT_YUV420P;

       avcodec_open2(context, codec, NULL);

    // CONVERT TO YUV AND ENCODE
       int frame_size = avpicture_get_size(AV_PIX_FMT_YUV420P, out_width, out_height);
       encoder->frame_buffer = malloc(frame_size);
       avpicture_fill((AVPicture *) encoder->frame, (uint8_t *) encoder->frame_buffer, AV_PIX_FMT_YUV420P, out_width, out_height);
       sws = sws_getContext(in_width, in_height, AV_PIX_FMT_RGB32, out_width, out_height, AV_PIX_FMT_YUV420P, SWS_FAST_BILINEAR, 0, 0, 0);

       uint8_t *in_data[1] = {(uint8_t *) pixels};
       int in_linesize[1] = {width * 4};


    // PROGRAM CRASHES HERE


       sws_scale(encoder->sws, in_data, in_linesize, 0, encoder->in_height, encoder->frame->data, encoder->frame->linesize);

       av_free_packet(&amp;packet);
       av_init_packet(&amp;packet);
       int success;

       avcodec_encode_video2(context, &amp;packet, frame, &amp;success);