Recherche avancée

Médias (2)

Mot : - Tags -/doc2img

Autres articles (86)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

  • Encoding and processing into web-friendly formats

    13 avril 2011, par

    MediaSPIP automatically converts uploaded files to internet-compatible formats.
    Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
    Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
    Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
    All uploaded files are stored online in their original format, so you can (...)

  • Librairies et logiciels spécifiques aux médias

    10 décembre 2010, par

    Pour un fonctionnement correct et optimal, plusieurs choses sont à prendre en considération.
    Il est important, après avoir installé apache2, mysql et php5, d’installer d’autres logiciels nécessaires dont les installations sont décrites dans les liens afférants. Un ensemble de librairies multimedias (x264, libtheora, libvpx) utilisées pour l’encodage et le décodage des vidéos et sons afin de supporter le plus grand nombre de fichiers possibles. Cf. : ce tutoriel ; FFMpeg avec le maximum de décodeurs et (...)

Sur d’autres sites (7617)

  • ffmpeg libx264 AVCodecContext settings

    21 mai 2014, par integra753

    I am using a recent windows (Jan 2011) ffmpeg build and trying to record video in H264. It is recording fine in MPEG4 using the following settings :

    c->codec_id = CODEC_ID_MPEG4;
    c->codec_type = AVMEDIA_TYPE_VIDEO;
    c->width = VIDEO_WIDTH;
    c->height = VIDEO_HEIGHT;
    c->bit_rate = c->width * c->height * 4;
    c->time_base.den = FRAME_RATE;
    c->time_base.num = 1;
    c->gop_size = 12;
    c->pix_fmt = PIX_FMT_YUV420P;

    Simply changing CODEC Id to H264 causes avcodec_open() to fail (-1). I found a list of possible settings Encoding h.264 with libavcodec/x264. I have tried these, without setting pix_fmt, avcodec_open() still fails but if I additionally set c->pix_fmt = PIX_FMT_YUV420P ; then I get a divide by zero exception.

    I then came across a few posts on here that say I should set nothing (with exception of code_id, codec_type, width, height and perhaps bit_rate and pix_fmt) as the library now chooses the best settings itself. I have tried various combinations, still avcode_open() fails.

    Does anyone have some advice on what to do or some settings that are current ?

    Thanks.

    Here are one set of H264 settings which give the issue I describe :

    static AVStream* AddVideoStream(AVFormatContext *pOutputFmtCtx,
    int frameWidth, int frameHeight, int fps)
    {
    AVCodecContext* ctx;
    AVStream* stream;

    stream = av_new_stream(pOutputFmtCtx, 0);
    if (!stream)
    {
       return NULL;
    }

    ctx = stream->codec;

    ctx->codec_id = pOutputFmtCtx->oformat->video_codec; //CODEC_ID_H264
    ctx->codec_type = AVMEDIA_TYPE_VIDEO;
    ctx->width = frameWidth;             //704
    ctx->height = frameHeight;           //576
    ctx->bit_rate = frameWidth * frameHeight * 4;

    ctx->coder_type = 1;  // coder = 1
    ctx->flags|=CODEC_FLAG_LOOP_FILTER;   // flags=+loop
    ctx->me_cmp|= 1;  // cmp=+chroma, where CHROMA = 1
    ctx->partitions|=X264_PART_I8X8+X264_PART_I4X4+X264_PART_P8X8+X264_PART_B8X8; // partitions=+parti8x8+parti4x4+partp8x8+partb8x8
    ctx->me_method=ME_HEX;    // me_method=hex
    ctx->me_subpel_quality = 7;   // subq=7
    ctx->me_range = 16;   // me_range=16
    ctx->gop_size = 250;  // g=250
    ctx->keyint_min = 25; // keyint_min=25
    ctx->scenechange_threshold = 40;  // sc_threshold=40
    ctx->i_quant_factor = 0.71; // i_qfactor=0.71
    ctx->b_frame_strategy = 1;  // b_strategy=1
    ctx->qcompress = 0.6; // qcomp=0.6
    ctx->qmin = 10;   // qmin=10
    ctx->qmax = 51;   // qmax=51
    ctx->max_qdiff = 4;   // qdiff=4
    ctx->max_b_frames = 3;    // bf=3
    ctx->refs = 3;    // refs=3
    ctx->directpred = 1;  // directpred=1
    ctx->trellis = 1; // trellis=1
          ctx->flags2|=CODEC_FLAG2_BPYRAMID+CODEC_FLAG2_MIXED_REFS+CODEC_FLAG2_WPRED+CODEC_FLAG2_8X8DCT+CODEC_FLAG2_FASTPSKIP;  // flags2=+bpyramid+mixed_refs+wpred+dct8x8+fastpskip
    ctx->weighted_p_pred = 2; // wpredp=2
    // libx264-main.ffpreset preset
    ctx->flags2|=CODEC_FLAG2_8X8DCT;
    ctx->flags2^=CODEC_FLAG2_8X8DCT;    // flags2=-dct8x8

    // if set this get divide by 0 error on avcodec_open()
    // if don't set it get -1 error on avcodec_open()
    //ctx->pix_fmt = PIX_FMT_YUV420P;

    return stream;

    }

  • ffmpeg libx264 AVCodecContext settings

    21 mai 2014, par integra753

    I am using a recent windows (Jan 2011) ffmpeg build and trying to record video in H264. It is recording fine in MPEG4 using the following settings :

    c->codec_id = CODEC_ID_MPEG4;
    c->codec_type = AVMEDIA_TYPE_VIDEO;
    c->width = VIDEO_WIDTH;
    c->height = VIDEO_HEIGHT;
    c->bit_rate = c->width * c->height * 4;
    c->time_base.den = FRAME_RATE;
    c->time_base.num = 1;
    c->gop_size = 12;
    c->pix_fmt = PIX_FMT_YUV420P;

    Simply changing CODEC Id to H264 causes avcodec_open() to fail (-1). I found a list of possible settings Encoding h.264 with libavcodec/x264. I have tried these, without setting pix_fmt, avcodec_open() still fails but if I additionally set c->pix_fmt = PIX_FMT_YUV420P ; then I get a divide by zero exception.

    I then came across a few posts on here that say I should set nothing (with exception of code_id, codec_type, width, height and perhaps bit_rate and pix_fmt) as the library now chooses the best settings itself. I have tried various combinations, still avcode_open() fails.

    Does anyone have some advice on what to do or some settings that are current ?

    Thanks.

    Here are one set of H264 settings which give the issue I describe :

    static AVStream* AddVideoStream(AVFormatContext *pOutputFmtCtx,
    int frameWidth, int frameHeight, int fps)
    {
    AVCodecContext* ctx;
    AVStream* stream;

    stream = av_new_stream(pOutputFmtCtx, 0);
    if (!stream)
    {
       return NULL;
    }

    ctx = stream->codec;

    ctx->codec_id = pOutputFmtCtx->oformat->video_codec; //CODEC_ID_H264
    ctx->codec_type = AVMEDIA_TYPE_VIDEO;
    ctx->width = frameWidth;             //704
    ctx->height = frameHeight;           //576
    ctx->bit_rate = frameWidth * frameHeight * 4;

    ctx->coder_type = 1;  // coder = 1
    ctx->flags|=CODEC_FLAG_LOOP_FILTER;   // flags=+loop
    ctx->me_cmp|= 1;  // cmp=+chroma, where CHROMA = 1
    ctx->partitions|=X264_PART_I8X8+X264_PART_I4X4+X264_PART_P8X8+X264_PART_B8X8; // partitions=+parti8x8+parti4x4+partp8x8+partb8x8
    ctx->me_method=ME_HEX;    // me_method=hex
    ctx->me_subpel_quality = 7;   // subq=7
    ctx->me_range = 16;   // me_range=16
    ctx->gop_size = 250;  // g=250
    ctx->keyint_min = 25; // keyint_min=25
    ctx->scenechange_threshold = 40;  // sc_threshold=40
    ctx->i_quant_factor = 0.71; // i_qfactor=0.71
    ctx->b_frame_strategy = 1;  // b_strategy=1
    ctx->qcompress = 0.6; // qcomp=0.6
    ctx->qmin = 10;   // qmin=10
    ctx->qmax = 51;   // qmax=51
    ctx->max_qdiff = 4;   // qdiff=4
    ctx->max_b_frames = 3;    // bf=3
    ctx->refs = 3;    // refs=3
    ctx->directpred = 1;  // directpred=1
    ctx->trellis = 1; // trellis=1
          ctx->flags2|=CODEC_FLAG2_BPYRAMID+CODEC_FLAG2_MIXED_REFS+CODEC_FLAG2_WPRED+CODEC_FLAG2_8X8DCT+CODEC_FLAG2_FASTPSKIP;  // flags2=+bpyramid+mixed_refs+wpred+dct8x8+fastpskip
    ctx->weighted_p_pred = 2; // wpredp=2
    // libx264-main.ffpreset preset
    ctx->flags2|=CODEC_FLAG2_8X8DCT;
    ctx->flags2^=CODEC_FLAG2_8X8DCT;    // flags2=-dct8x8

    // if set this get divide by 0 error on avcodec_open()
    // if don't set it get -1 error on avcodec_open()
    //ctx->pix_fmt = PIX_FMT_YUV420P;

    return stream;

    }

  • ffmpeg - extract thumbnail from middle of clip duration

    13 février 2013, par codelove

    Hi I am using the following ffmpeg command to extract a thumbnail from the beginning of a clip with ffmpeg :

    /usr/local/bin/ffmpeg -ss 00:00:1 -i $fileName.flv -s 150x100 -vframes 1 $fileName.jpg

    Is it posible to extract a thumbnail from the middle of the clips duration with ffmpeg alone ?

    Each clip is of a different length.

    If ffmpeg does not supply this option, I know it is possible to get the clips duration into this type of format 00:00:01.26 and then I suppose I can divide it in half, but I am not sure if this is the best approach, and I am also (embarrassed to say) not entirely sure how to divide that format in half with PHP.

    Example code would be appreciated.

    Thank you.