Recherche avancée

Médias (91)

Autres articles (60)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • MediaSPIP v0.2

    21 juin 2013, par

    MediaSPIP 0.2 est la première version de MediaSPIP stable.
    Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Comme pour la version précédente, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

  • 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

Sur d’autres sites (10849)

  • 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>
  • 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');
  • 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