Recherche avancée

Médias (1)

Mot : - Tags -/biomaping

Autres articles (48)

  • Submit bugs and patches

    13 avril 2011

    Unfortunately a software is never perfect.
    If you think you have found a bug, report it using our ticket system. Please to help us to fix it by providing the following information : the browser you are using, including the exact version as precise an explanation as possible of the problem if possible, the steps taken resulting in the problem a link to the site / page in question
    If you think you have solved the bug, fill in a ticket and attach to it a corrective patch.
    You may also (...)

  • Contribute to translation

    13 avril 2011

    You can help us to improve the language used in the software interface to make MediaSPIP more accessible and user-friendly. You can also translate the interface into any language that allows it to spread to new linguistic communities.
    To do this, we use the translation interface of SPIP where the all the language modules of MediaSPIP are available. Just subscribe to the mailing list and request further informantion on translation.
    MediaSPIP is currently available in French and English (...)

  • MediaSPIP v0.2

    21 juin 2013, par

    MediaSPIP 0.2 is the first MediaSPIP stable release.
    Its official release date is June 21, 2013 and is announced here.
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

Sur d’autres sites (6611)

  • Decoder return of av_find_best_stream vs. avcodec_find_decoder

    7 octobre 2016, par Jason C

    The docs for libav’s av_find_best_stream function (libav 11.7, Windows, i686, GPL) specify a parameter that can be used to receive a pointer to an appropriate AVCodec :

    decoder_ret - if non-NULL, returns the decoder for the selected stream

    There is also the avcodec_find_decoder function which can find an AVCodec given an ID.

    However, the official demuxing + decoding example uses av_find_best_stream to find a stream, but chooses to use avcodec_find_decoder to find the codec in lieu of av_find_best_stream’s codec return parameter :

    ret = av_find_best_stream(fmt_ctx, type, -1, -1, NULL, 0);
    ...
    stream_index = ret;
    st = fmt_ctx->streams[stream_index];
    ...
    /* find decoder for the stream */
    dec = avcodec_find_decoder(st->codecpar->codec_id);

    As opposed to something like :

    ret = av_find_best_stream(fmt_ctx, type, -1, -1, &dec, 0);

    My question is pretty straightforward : Is there a difference between using av_find_best_stream’s return parameter vs. using avcodec_find_decoder to find the AVCodec ?

    The reason I ask is because the example chose to use avcodec_find_decoder rather than the seemingly more convenient return parameter, and I can’t tell if the example did that for a specific reason or not. The documentation itself is a little spotty and disjoint, so it’s hard to tell if things like this are done for a specific important reason or not. I can’t tell if the example is implying that it "should" be done that way, or if the example author did it for some more arbitrary personal reason.

  • RuntimeError : abort(OOM). Build with -s ASSERTIONS=1 for more info

    26 avril 2021, par KhoPhi

    I'm using ffmpeg.wasm 0.9.7 (at the time of this question).
Browser is Brave (Version 1.23.71 Chromium : 90.0.4430.72 (Official Build) (64-bit))

    


    I get this error running an overlay ffmpeg command in the browser, slapping an png over an hevc mp4 4K video of size, almost 40 Megabyte.

    


    RuntimeError: abort(OOM). Build with -s ASSERTIONS=1 for more info.

    


    Here's my code in Angular. Stripped down for brevity

    


    async generatePreviews(event: any) {

    if (!ffmpeg.isLoaded()) {
      await ffmpeg.load();
    }

    for (let index = 0; index < this.files.length; index++) {

      this.video = this.files[index];
      const file_name = this.video.name.split('.')[0] + '-preview.mp4';

      ffmpeg.FS('writeFile', 'tempLogo.png', await fetchFile(this.watermark));
      ffmpeg.FS('writeFile', 'tempVideo.mp4', await fetchFile(this.video));


      // working command in normal terminal
      // ffmpeg -i tempVideo.mp4 -i tempLogo.png -filter_complex "overlay=(W-w)/2:(H-h)/2" temp.mp4

      await ffmpeg.run(
        '-i',
        'tempVideo.mp4',
        '-i',
        'tempLogo.png',
        '-filter_complex',
        'overlay=(W-w)/2:(H-h)/2',
        'temp.mp4'
      );

      const data = ffmpeg.FS('readFile', 'temp.mp4');

      var blob = new Blob([data.buffer], { type: 'video/mp4' });
      saveAs(blob, file_name); // using filesaver.js to save the blob

    }
  }
}



    


    In chrome, I read up to 2Gb of file is possible to convert. Not sure why the OOM issues. Any settings I need to set or changes I need to do ?

    


    Update (4/26/2021)

    


    This thread offered a solution, by building the ffmpeg wasm with a few tweaks. I am able to build, but using the built files even causes the OOM faster than the npm built from the ffmpeg wasm repo.

    


  • Can't open encoder when use libavcodec

    1er novembre 2013, par liuyanghejerry

    I’m using libavcodec, version 9.7, to write a simple demo, almost exactly like example in official example.

    However, I can’t open encoder. Also, av_opt_set(context->priv_data, "preset", "slow", 0) always leads to crush.

    This is my code :

    // other code...
    int ret = 0;
    avcodec_register_all();
    AVCodec* codec = NULL;
    AVCodecContext* context = NULL;
    AVFrame* frame = NULL;
    uint8_t endcode[] = { 0, 0, 1, 0xb7 };
    codec = avcodec_find_encoder(AV_CODEC_ID_H264);
    if(!codec){
       qDebug()<<"cannot find encoder";
       return;
    }
    qDebug()<<"encoder found";

    context = avcodec_alloc_context3(codec);
    if(!context){
       qDebug()<<"cannot alloc context";
       return;
    }
    qDebug()<<"context allocted";

    context->bit_rate = 400000;
    /* resolution must be a multiple of two */
    context->width = 352;
    context->height = 288;
    /* frames per second */
    context->time_base= (AVRational){1,25};
    context->gop_size = 10; /* emit one intra frame every ten frames */
    context->max_b_frames=1;
    context->pix_fmt = AV_PIX_FMT_YUV420P;
    qDebug()<<"context init";

    // av_opt_set(context->priv_data, "preset", "slow", 0); // this will crush
    AVDictionary *d = NULL;
    av_dict_set(&d, "preset", "ultrafast",0); // this won't

    ret = avcodec_open2(context, codec, &d);
    if ( ret < 0) {
       qDebug()<<"cannot open codec"</ other code...

    This outputs :

    encoder found

    context allocted

    context init

    cannot open codec -22

    [libx264 @ 0340B340] [IMGUTILS @ 0028FC34] Picture size 0x10 is invalid

    [libx264 @ 0340B340] ignoring invalid width/height values

    [libx264 @ 0340B340] Specified pix_fmt is not supported

    I don’t think the width/height is invalid and format there either. I have no idea what’s wrong here.

    Any help. plz ?