Recherche avancée

Médias (91)

Autres articles (50)

  • Qu’est ce qu’un éditorial

    21 juin 2013, par

    Ecrivez votre de point de vue dans un article. Celui-ci sera rangé dans une rubrique prévue à cet effet.
    Un éditorial est un article de type texte uniquement. Il a pour objectif de ranger les points de vue dans une rubrique dédiée. Un seul éditorial est placé à la une en page d’accueil. Pour consulter les précédents, consultez la rubrique dédiée.
    Vous pouvez personnaliser le formulaire de création d’un éditorial.
    Formulaire de création d’un éditorial Dans le cas d’un document de type éditorial, les (...)

  • Les tâches Cron régulières de la ferme

    1er décembre 2010, par

    La gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
    Le super Cron (gestion_mutu_super_cron)
    Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...)

  • Contribute to translation

    13 avril 2011

    You can help us to improve the language used in the software interface to make MediaSPIP more accessible and user-friendly. You can also translate the interface into any language that allows it to spread to new linguistic communities.
    To do this, we use the translation interface of SPIP where the all the language modules of MediaSPIP are available. Just subscribe to the mailing list and request further informantion on translation.
    MediaSPIP is currently available in French and English (...)

Sur d’autres sites (8390)

  • Added Indonesian (ID) localization

    27 février 2014, par zho
    Added Indonesian (ID) localization
    

    Indonesian language

  • Receiving RTP streaming

    8 décembre 2017, par Thomas Marques

    I’m new to development with support for multimedia content on android. I need to receive an RTP streaming multicast on an android device.
    I’m already sending the streaming from another android device with ffmpeg using this library.
    Does anyone know of any library or any form of streaming ? Even by ffmpeg itself if possible.

  • How to maximize ffmpeg crop and overlay thousand block in same time ?

    22 juin 2022, par yuno saga

    I try to encrypt a frame of video to random of 16x16 block. so the result will be like artifact video. but exactly it can be decode back. only the creation that know the decode algorithm. but my problem is ffmpeg encode so slow. 3 minutes video, 854x480 (480p) https://www.youtube.com/watch?v=dyRsYk0LyA8. this example result frame that have been filter https://i.ibb.co/0nvLzkK/output-9.jpg. each frame have 1589 block. how to speed up this things ? 3 minutes only 24 frame done. the vido have 5000 thousand frame, so for 3 minutes video it takes 10 hours. i dont know why ffmpeg only take my cpu usage 25%.

    


    const { spawn } = require('child_process');
const fs = require('fs');

function shuffle(array) {
    let currentIndex = array.length,  randomIndex;
  
    // While there remain elements to shuffle.
    while (currentIndex != 0) {
  
      // Pick a remaining element.
      randomIndex = Math.floor(Math.random() * currentIndex);
      currentIndex--;
  
      // And swap it with the current element.
      [array[currentIndex], array[randomIndex]] = [
        array[randomIndex], array[currentIndex]];
    }
  
    return array;
  }

function filter(width, height) {
    const sizeBlock = 16;
    let filterCommands = '';
    let totalBlock = 0;
    const widthLengthBlock = Math.floor(width / sizeBlock);
    const heightLengthBlock = Math.floor(height / sizeBlock);
    let info = [];

    for (let i=0; i < widthLengthBlock; i++) {
        for (let j=0; j < heightLengthBlock; j++) {
            const xPos = i*sizeBlock;
            const yPos = j*sizeBlock;
            filterCommands += `[0]crop=${sizeBlock}:${sizeBlock}:${(xPos)}:${(yPos)}[c${totalBlock}];`;

            info.push({
                id: totalBlock,
                x: xPos,
                y: yPos
            });

            totalBlock += 1;
        }   
    }

    info = shuffle(info);

    for (let i=0; i < info.length; i++) {
        if (i == 0) filterCommands += '[0]';
        if (i != 0) filterCommands += `[o${i}]`;

        filterCommands += `[c${i}]overlay=x=${info[i].x}:y=${info[i].y}`;

        if (i != (info.length - 1)) filterCommands += `[o${i+1}];`;     
    }

    return filterCommands;
}

const query = filter(854, 480);

fs.writeFileSync('filter.txt', query);

const task = spawn('ffmpeg', [
    '-i',
    'C:\\Software Development\\ffmpeg\\blackpink.mp4',
    '-filter_complex_script',
    'C:\\Software Development\\project\\filter.txt',
    '-c:v',
    'libx264',
    '-preset',
    'ultrafast',
    '-pix_fmt',
    'yuv420p',
    '-c:a',
    'libopus',
    '-progress',
    '-',
    'output.mp4',
    '-y'
], {
    cwd: 'C:\\Software Development\\ffmpeg'
});

task.stdout.on('data', data => { 
    console.log(data.toString())
})