Recherche avancée

Médias (91)

Autres articles (78)

  • Le profil des utilisateurs

    12 avril 2011, par

    Chaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
    L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...)

  • Configurer la prise en compte des langues

    15 novembre 2010, par

    Accéder à la configuration et ajouter des langues prises en compte
    Afin de configurer la prise en compte de nouvelles langues, il est nécessaire de se rendre dans la partie "Administrer" du site.
    De là, dans le menu de navigation, vous pouvez accéder à une partie "Gestion des langues" permettant d’activer la prise en compte de nouvelles langues.
    Chaque nouvelle langue ajoutée reste désactivable tant qu’aucun objet n’est créé dans cette langue. Dans ce cas, elle devient grisée dans la configuration et (...)

  • XMP PHP

    13 mai 2011, par

    Dixit Wikipedia, XMP signifie :
    Extensible Metadata Platform ou XMP est un format de métadonnées basé sur XML utilisé dans les applications PDF, de photographie et de graphisme. Il a été lancé par Adobe Systems en avril 2001 en étant intégré à la version 5.0 d’Adobe Acrobat.
    Étant basé sur XML, il gère un ensemble de tags dynamiques pour l’utilisation dans le cadre du Web sémantique.
    XMP permet d’enregistrer sous forme d’un document XML des informations relatives à un fichier : titre, auteur, historique (...)

Sur d’autres sites (8830)

  • flient-ffmpeg getting error as "ffmpeg exited with code 1 : pipe:0 : Invalid data found when processing input"

    6 avril 2023, par Abhishek Rawal

    I am trying to create API where i need to get uploaded video and create thumbnail from that video. But conditions are :

    


      

    • Video should not store on local disk
    • 


    • Once thumbnail is create it should not store on local disk, instead it should directly uploaded to AWS s3 bucket.
    • 


    


    Following is the code i am trying with :

    


    

    

    const ffmpeg = require('fluent-ffmpeg');
const stream = require('stream');

router.post('/thumbnail', upload.any(), (req, res) => {
  const videoBuffer = req.files[0].buffer;
  
  let readableVideoBuffer = new stream.PassThrough();
    readableVideoBuffer.write(videoBuffer);
    readableVideoBuffer.end()
    
  let bufferStream = new stream.PassThrough();
  
  ffmpeg(readableVideoBuffer)
    .on('filenames', function(filenames) {
      console.log('Will generate ' + filenames.join(', '))
    })
    .on('end', function() {
      console.log('Screenshots taken');
    })
    .on('error', (err) => {
      console.log(err);
    })
    .screenshots({
      count: 4,
      size: '100x100',
      timestamps: ['00:00:01.000'],
    })
    .writeToStream(bufferStream, { end: true });  /* while using this statement i am getting error */
    
    const buffers = [];
    bufferStream.on('data', function (buf) {
      buffers.push(buf);
    });
    bufferStream.on('end', function () {
      const outputBuffer = Buffer.concat(buffers);
      // use s3 bucket code here
      console.log('outputBuffer===========>', outputBuffer)
    });
})

    


    


    



    so while calling this API my app is crashing and i am getting error as :

    


    


    Error : ffmpeg exited with code 1 : pipe:0 : Invalid data found when
processing input

    


    


    Blockquote

    


    If i am not using this statement :

    


    


    .writeToStream(bufferStream, end : true ) ;

    


    


    then able to save file but in local disk, which is not required in my case.

    


    Please help me to understand what is wrong in this code, how i can resolve it.
Any type of help is appreciated.

    


  • What is the right way to put data to abuffersrc and pull from abufersink when I have multiple inputs with FFMPEG "afir" filter ?

    19 décembre 2022, par Evgenii

    I want to understand why av_buffersink_get_frame() always return AVERROR(EAGAIN).
I use this algorithm :

    


      

    1. Open input file input.mp3, create decoder for input file
    2. 


    3. Open signal file signal.wav, create decoder for signal file
    4. 


    5. Create filter graph and inputs/outputs with function avfilter_graph_parse2("[in0][in1]afir[out], &inputs, &outputs")
    6. 


    7. Create abuffersrc for every inputs with names "in0", "in1"
    8. 


    9. Create one abuffersink for one outputs with name "out"
    10. 


    11. Read and decode samples with methods av_read_frame(), avcodec_send_packet(), avcodec_receive_frame(), put samples to abuffersrc with av_buffersrc_add_frame() and trying to read samples from abuffersink with av_buffersink_get_frame() - HERE I get AVERROR(EAGAIN) for every call
    12. 


    


    Please, help !

    


    I've tried to read all samples and push its to abuffersrc for input and signal pipes in first step and and call av_buffersink_get_frame one time in second step. I got AVERROR(EGAIN) again.

    


    I've tried to config two outputs with names "in0" and "in1" and one input with name "out" and call avfilter_graph_parse_ptr() as done in here :

    


    static AVFilterContext *init_buffersrc(AVCodecContext *decoder, AVFilterGraph *filter_graph, const char *pad_name) {
    AVFilterContext *buffersrc = NULL;
    uint8_t args[1024];

    snprintf(args, sizeof(args),
        "time_base=%d/%d:sample_rate=%d:sample_fmt=%s:channel_layout=0x%"PRIx64"",
        decoder->time_base.num, decoder->time_base.den, decoder->sample_rate, av_get_sample_fmt_name(decoder->sample_fmt), decoder->channel_layout);

    CHECK_AV(avfilter_graph_create_filter(&buffersrc, avfilter_get_by_name("abuffer"), pad_name, args, NULL, filter_graph));
    return buffersrc;
}

static AVFilterContext *init_buffersink(AVFilterGraph *filter_graph) {
    AVFilterContext *buffersink = NULL;

    CHECK_AV(avfilter_graph_create_filter(&buffersink, avfilter_get_by_name("abuffersink"), "out", NULL, NULL, filter_graph));
    return buffersink;
}

static void init_complex_graph(const char *desc, Context *ctx) {

    AVFilterGraph *filter_graph;
    AVFilterInOut *inputs = avfilter_inout_alloc();
    AVFilterInOut **outputs = (AVFilterInOut**) av_malloc(ctx->nb_input_files*sizeof(AVFilterInOut *));
    char *dump;
    uint8_t pad_name[64];

    filter_graph = ctx->filter_graph = avfilter_graph_alloc();
    filter_graph->nb_threads = 1;

    for (int i = 0; i< ctx->nb_input_files; ++i) {
        outputs[i] = avfilter_inout_alloc();
    }

    for (int i = 0; i < ctx->nb_input_files; ++i) {
        AVFilterContext *buffersrc;
        snprintf(pad_name, sizeof(pad_name), "in%d", i);        
        buffersrc = init_buffersrc(ctx->input_files[i]->decoder, filter_graph, pad_name);
        ctx->input_files[i]->buffersrc = buffersrc;
        outputs[i]->name = av_strdup(pad_name);
        outputs[i]->filter_ctx = buffersrc;
        outputs[i]->pad_idx = 0;
        if (i == ctx->nb_input_files - 1) {
            outputs[i]->next = NULL;
        }
        else {
            outputs[i]->next = outputs[i + 1];
        }
    }

    ctx->output_file->buffersink = init_buffersink(filter_graph);

    inputs->name = av_strdup("out");
    inputs->filter_ctx = ctx->output_file->buffersink;
    inputs->pad_idx =0;
    inputs->next = NULL;

    CHECK_AV(avfilter_graph_parse_ptr(filter_graph, desc, &inputs, outputs, NULL));

    CHECK_AV(avfilter_graph_config(filter_graph, NULL));
}   

// Call init_complex_graph("[in0][in1]afir[out]", SOME_CONTEXT);


    


    and still nothing.

    


  • lavc/qsvdec : update HDR side data on output AVFrame

    21 novembre 2022, par Haihao Xiang
    lavc/qsvdec : update HDR side data on output AVFrame
    

    The SDK may provides HDR metadata for HDR streams via mfxExtBuffer
    attached on output mfxFrameSurface1

    Signed-off-by : Haihao Xiang <haihao.xiang@intel.com>

    • [DH] libavcodec/qsv_internal.h
    • [DH] libavcodec/qsvdec.c