Recherche avancée

Médias (91)

Autres articles (55)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

  • Keeping control of your media in your hands

    13 avril 2011, par

    The vocabulary used on this site and around MediaSPIP in general, aims to avoid reference to Web 2.0 and the companies that profit from media-sharing.
    While using MediaSPIP, you are invited to avoid using words like "Brand", "Cloud" and "Market".
    MediaSPIP is designed to facilitate the sharing of creative media online, while allowing authors to retain complete control of their work.
    MediaSPIP aims to be accessible to as many people as possible and development is based on expanding the (...)

  • Ajouter notes et légendes aux images

    7 février 2011, par

    Pour pouvoir ajouter notes et légendes aux images, la première étape est d’installer le plugin "Légendes".
    Une fois le plugin activé, vous pouvez le configurer dans l’espace de configuration afin de modifier les droits de création / modification et de suppression des notes. Par défaut seuls les administrateurs du site peuvent ajouter des notes aux images.
    Modification lors de l’ajout d’un média
    Lors de l’ajout d’un média de type "image" un nouveau bouton apparait au dessus de la prévisualisation (...)

Sur d’autres sites (9658)

  • 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 ?

  • 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 ?