Recherche avancée

Médias (1)

Mot : - Tags -/publicité

Autres articles (104)

  • Soumettre améliorations et plugins supplémentaires

    10 avril 2011

    Si vous avez développé une nouvelle extension permettant d’ajouter une ou plusieurs fonctionnalités utiles à MediaSPIP, faites le nous savoir et son intégration dans la distribution officielle sera envisagée.
    Vous pouvez utiliser la liste de discussion de développement afin de le faire savoir ou demander de l’aide quant à la réalisation de ce plugin. MediaSPIP étant basé sur SPIP, il est également possible d’utiliser le liste de discussion SPIP-zone de SPIP pour (...)

  • Emballe médias : à quoi cela sert ?

    4 février 2011, par

    Ce plugin vise à gérer des sites de mise en ligne de documents de tous types.
    Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ;

  • ANNEXE : Les plugins utilisés spécifiquement pour la ferme

    5 mars 2010, par

    Le site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)

Sur d’autres sites (10187)

  • input stream error _read() is not implemented : ffmpeg-fluent

    23 mai 2018, par Thomsheer Ahamed

    I have buffer object. I want to pass that buffer as readable stream to ffpmeg.

    var ffmpeg = require('fluent-ffmpeg');
       var ffmpegPath = require("ffmpeg-binaries").ffmpegPath()
       ffmpeg.setFfmpegPath(ffmpegPath);
       var command = new ffmpeg();

       command.input(my_buffer)
           .videoCodec('libx264')
           .size('520x?')
           .aspect('4:3')
           .inputFPS(8)
           .outputFPS(30)
           .output('new_video.mp4')
           .on('start', onStrat)
           .on('progress', onProgress)
           .on('end', onEnd)
           .on('error', onError)
           .run();

    If I pass buffer right away I will get "Error : Invalid input
    at FfmpegCommand.proto.mergeAdd.proto.addInput.proto.input
    "

    So I converted buffer into stream using

    function bufferToStream(buffer) {
       let Duplex = require('stream').Duplex;
       let stream = new Duplex();
       stream.push(new Buffer(buffer));
       stream.push(null);
       return stream;
    }
    var red = bufferToStream(finalResponse.file.buffer);

    and passed this steam to input

    command.input(red)

    Above Command throws "ffmpeg exited with code 1 : Error opening filters !" ;

    If I use my_buffer and save it in locally using fs.writeFile(’path’,my_buffer) and pass this path to input of ffmpeg then it works fine..

    But I dont want to store that file and then delete it after altering video.

    Can some one help me ?

    I Reffered this example

  • Using ffmpeg in node, without using fluent-ffmpeg

    16 mai 2018, par drexdelta

    I am using ffmpeg without using fluent-ffmpeg. I am using ’child_process’ from node.

    First of all I verified how can I pass more than one arguments to the child process command. and I verified it given below code.

    I used copy command like this

    cp vid1.mp4 vid2.mp4

    which successfully copied vid1 into vid2.

    const execFile = require('child_process').execFile;
    const child = execFile('cp', ['vid1.mp4', 'vid3.mp4'], (error, stdout, stderr) => {
       if (error) {
           console.error('stderr: =============================', stderr);
           throw error;
       }
       console.log('stdout: ==========================', stdout);
    });

    console.log('here');

    Above code is content of the ’index.js’(default entry point in node). And running this with node . , which copies vid1 into vid3 successfully.

    Now, I want to do watermarking to the given video. For that I am using this tutorial. Currently link to the actual tutorial is broken, you can see it here.

    This is the command that I am using

    ffmpeg -i input.mp4 -i logo.png -filter_complex "overlay=10:10" output.mp4

    Now the same command I am using like this ,

    const execFile = require('child_process').execFile;

    const child = execFile('ffmpeg', ['-i', 'input.mp4' , '-i' , 'logo.png' , '-filter_complex' , '"overlay=10:10"' , 'output.mp4' ], (error, stdout, stderr) => {
       if (error) {
           console.error('stderr: =============================', stderr);
           throw error;
       }
       console.log('stdout: ==========================', stdout);
    });

    console.log('here');

    and I am getting an error , that ,

    No such filter : ’"overlay’ Error initializing complex filters. Invalid
    argument

    /Users/neerpatel/Desktop/testProjects/childProcess/index.js:7
    throw error ;
    ^

    Error : Command failed : ffmpeg -i input.mp4 -i logo.png
    -filter_complex "overlay=10:10" output.mp4

    You can clearly see that the same command that runs in terminal directly, doesn’t work when I pass it in child process. Why does it happen ?

    Moreover, I wanted to add tag ’watermarking’ , but I can’t create tag since my reputation is below 1500. please, someone do it.

    UPDATE :
    I used EXEC , instead of execFile . and it worked like charm, but parent file kept waiting for child process. Child process never returns END signal. and this is my code.

    const exec = require('child_process').exec;

    const child = exec('ffmpeg -i input.mp4 -i logo.png -filter_complex "overlay=10:10" output.mp4', (error, stdout, stderr) => {
       if (error) {
           console.error('stderr: =============================', stderr);
           throw error;
       }
       console.log('stdout: ==========================', stdout);
    });

    console.log('here');
  • ffmpeg avcodec_find_encoder_by_name failes to find encoder h264_nvenc

    18 septembre 2018, par Yona

    When I run this command "ffmpeg -h encoder=h264_nvenc" in the terminal it gives me the following output

    and I am able to use the encoder through the command line interface but it got a problem when I try to run from the following source code.

    #include <iostream>
    #include
    #include

    extern "C"
    {
    #include <libavcodec></libavcodec>avcodec.h>
    #include <libavformat></libavformat>avformat.h>
    #include <libavutil></libavutil>imgutils.h>
    #include <libavutil></libavutil>mathematics.h>
    #include <libavutil></libavutil>opt.h>
    #include <libswscale></libswscale>swscale.h>
    #include
    }

    int main( int argc, char** argv )
    {

       const AVCodec *codec;
       AVCodecContext *c= NULL;

       av_register_all();

       std::cout &lt;&lt; "Loading codec" &lt;&lt; std::endl;

    //    codec = avcodec_find_encoder_by_name( "libx264" ); // works
       codec = avcodec_find_encoder_by_name( "h264_nvenc" );
      // codec = avcodec_find_decoder_by_name( "h264_cuvid" );
       if( !codec )
       {
           throw std::runtime_error( "Unable to find codec!" );
       }

       std::cout &lt;&lt; "Allocating context" &lt;&lt; std::endl;

       return 0;

    }</iostream>