Recherche avancée

Médias (1)

Mot : - Tags -/artwork

Autres articles (62)

  • Multilang : améliorer l’interface pour les blocs multilingues

    18 février 2011, par

    Multilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
    Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela.

  • 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

  • Les formats acceptés

    28 janvier 2010, par

    Les commandes suivantes permettent d’avoir des informations sur les formats et codecs gérés par l’installation local de ffmpeg :
    ffmpeg -codecs ffmpeg -formats
    Les format videos acceptés en entrée
    Cette liste est non exhaustive, elle met en exergue les principaux formats utilisés : h264 : H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 m4v : raw MPEG-4 video format flv : Flash Video (FLV) / Sorenson Spark / Sorenson H.263 Theora wmv :
    Les formats vidéos de sortie possibles
    Dans un premier temps on (...)

Sur d’autres sites (7445)

  • Simple Question About Subprocess popen + screen +ffmpeg + youtube-dl

    2 juin 2021, par El_Barto_404
    ffmpeg -i "$(youtube-dl -x -g "https://youtu.be/xhXq9BNndhw")" -f s16le -ac 2 -ar 48000 -acodec pcm_s16le input.raw


    


    can anyone put this inside a popen process after a screen -S Convert ?

    


    I tried already with ' ', with commas.. but nothing

    


    I built a bot on telegram which if you send :

    


    .mandala youtubelink


    


    it takes the link and converts the video from YouTube into a uncompressed file, I need it for a music bot which streams those uncompressed files.

    


    if I run in console :

    


    ffmpeg -i "$(youtube-dl -x -g "https://youtu.be/xhXq9BNndhw")" -f s16le -ac 2 -ar 48000 -acodec pcm_s16le input.raw 


    


    it works but when I try with screen and popen it doesn't.. why ?

    


    @helper.register(pattern=r'.mandala (.+)')
async def mu2342sicbfffffffot(e):
    cheater = e.pattern_match.group(1)
    cheat = cheater
    myorder2224 = ''' "$(youtube-dl -x -g "{}")" '''
    doit = (myorder2224.format(cheater))

    ###  I already try to format the variable 
    ###  and put doit after -i and 
    ###  everything was in '' and commas 
    ###  like 'ffmpeg', 'i*, doit, '-f'...
    ###  and so on but nothing.. but nope doesn't work.

    p = subprocess.call(['screen','-S','onveter',' ffmpeg -i "$(youtube-dl -x -g "https://www.youtube.com/watch?v=Sw5HQbYGoCA")" -f s16le -ac 1 -acodec pcm_s16le -ar 96k  input.pcm'],shell=True)
  await helper.control_panel.send_message(config.chat, "La sto a manna")
  time.sleep(14)
  


    


    I REPEAT ONE MORE TIME :
HOW CAN I USE THAT FFMPEG COMMAND INSIDE A POPEN SUBPROCESS AFTER A Screen -S Convert ?

    


    IF SOMEONE WANT TO KNOW WHY :
Because I want to convert youTube videos to file .raw / .pcm

    


  • Node JS partial video streaming to safari

    12 juin 2021, par Thor Bilsby

    I'm trying to stream a video directly to a browser using node.js as the backend. I would like the video to be streamed from a specific time and would also like it to be partially streamed since it is a pretty large file. Right now I am doing this with fluent-ffmpeg, like this :

    


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

app.get('/clock/', (req, res) => {
  const videoPath = 'video.mp4'; 
  const now = new Date();

  ffmpeg(videoPath)
    .videoCodec('libx264')
    .withAudioCodec('aac')
    .setStartTime(`${(now.getHours() - 10) % 24}:${now.getMinutes() - 1}:${now.getSeconds()}`)
    .format('mp4')
    .outputOptions(['-frag_duration 100','-movflags frag_keyframe+faststart','-pix_fmt yuv420p'])
    .on('end', () => {
      console.log("File has been converted succesfully");
    })
    .on('error', (err) => {
      if (err.message.toLowerCase().includes('output stream closed')) return;
      console.log('An error occoured', err);
    })
    .pipe(res, { end: true });
});


    


    This will work with Chrome, but Safari just doesn't want to stream it.
I know that the reason why it doesn't work on Safari is that Safari needs the range header. I've therefore tried to do that, but :

    


      

    1. I can't get it to work with fluent-ffmpeg.
    2. 


    3. When I try to do it the "normal" way, without fluent-ffmpeg, it needs to load the whole video file before it plays.
    4. 


    


    The video doesn't need to start at the specific timestamp. It would be nice tho, but I have a workaround for that if it's not possible :)

    


    So my question is : How can I get the code above to work with Safari. And if that is impossible : How can I code something that doesn't need to be loaded fully, before it can be played in Safari browsers, aka. partial video streaming.

    


  • Put images on video with ffmpeg in Node.js

    27 juin 2022, par Cery

    I am creating a server-side video renderer in node.js. I need to add images on an existing video file every frame. I need to set the specific position of each frame in the rendered video. I am holding all the frames of the images in Readable. This is my code that works, but does not take into account the position of the images. How can I modify it ? Of course I have a list with images coordinates - but I don't know how to make a filter out of this.

    


    this.stream is a list of images.

    


      const filter = ["[1:v]format=argb,setpts=PTS+" + 0 + "/TB[out]",
        {
            filter: "overlay",
            options: {
                enable: "between(t," + 0 + "," + 9 + ")",
                x: "0",
                y: "0",
            },
            inputs: "[0:v][out]",
            outputs: "tmp",
        }

        ]
        const Options = [
            "-crf 16",
            "-f mp4",
            "-vcodec libx264",
            "-movflags frag_keyframe+empty_moov",
            "-pix_fmt yuv420p",
        ];

        var ffmpeg = require('fluent-ffmpeg');
        ffmpeg.setFfmpegPath(ffm.path);
        var command = ffmpeg();

        const outputStream = fs.createWriteStream(this.Path + "test.mp4");

        command.input(this.Path + "input.mp4");
        command.input(this.stream).inputFPS(23);
        command.outputOptions(Options);
        command.fps(23);

        command.complexFilter(filter, "tmp");

        command.output(outputStream);