Recherche avancée

Médias (0)

Mot : - Tags -/content

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (65)

  • Mise à jour de la version 0.1 vers 0.2

    24 juin 2013, par

    Explications des différents changements notables lors du passage de la version 0.1 de MediaSPIP à la version 0.3. Quelles sont les nouveautés
    Au niveau des dépendances logicielles Utilisation des dernières versions de FFMpeg (>= v1.2.1) ; Installation des dépendances pour Smush ; Installation de MediaInfo et FFprobe pour la récupération des métadonnées ; On n’utilise plus ffmpeg2theora ; On n’installe plus flvtool2 au profit de flvtool++ ; On n’installe plus ffmpeg-php qui n’est plus maintenu au (...)

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

  • Ecrire une actualité

    21 juin 2013, par

    Présentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
    Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
    Vous pouvez personnaliser le formulaire de création d’une actualité.
    Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)

Sur d’autres sites (12859)

  • Convert video to mp3 audio using ffmpeg

    24 mai 2021, par Abdull Rahman Adnan

    I am developing an app for Android that converts video to mp3 audio using ffmpeg.
Found too many commands to convert.
The problem is that all commands work slowly on long videos.
That is 40 minutes in length.

    



    What I want is commands that converts video to mp3 quickly.

    


  • NodeJS fluent-ffmpeg error : Output stream closed

    30 décembre 2020, par Japser36

    We are running a NodeJS server that does some audio processing. Specifically, we have audio data returned by google's text to speech API, which we have in the form of a Buffer.

    


    In our application, we have to send this audio data through FFMPEG to format it and extract audio duration. We do this by first converting it into a stream, piping it into ffmpeg, and then storing the data in an output buffer :

    


    const toWav = function (input: Buffer): Promise<buffer> {&#xA;    return new Promise((res, rej): void => {&#xA;        const bufs = [];&#xA;        const myReadable = new Readable();&#xA;        myReadable._read = (): void => {}; // we already have all data in memory, so no-op this function;&#xA;        myReadable.push(input); // stream all data in the buffer to the stream&#xA;        myReadable.push(null); // end the stream&#xA;        const output = ffmpeg(myReadable)&#xA;            .inputFormat(&#x27;mp3&#x27;)&#xA;            .toFormat(&#x27;wav&#x27;)&#xA;            .on(&#x27;start&#x27;, function (commandLine) {&#xA;                console.log(&#x27;SPAWNED ARG: &#x27; &#x2B; commandLine);&#xA;            })&#xA;            .on(&#x27;error&#x27;, (err: object): void => {&#xA;                console.error(&#x27;FFMPEG error on wav transform&#x27;);&#xA;                rej(err);&#xA;            })&#xA;            .on(&#x27;end&#x27;, (): void => {&#xA;                console.debug(&#x27;FFMPEG finished wav transform&#x27;);&#xA;                res(Buffer.concat(bufs));&#xA;            })&#xA;            .pipe();&#xA;        output.on(&#x27;data&#x27;, (d: object): void => {&#xA;            bufs.push(d);&#xA;        });&#xA;    });&#xA;};&#xA;</buffer>

    &#xA;

    This code is one of our functions that does the formatting, that our data gets passed through. Most of the time, this code works fine, but sometimes an error is thrown :error and stack trace

    &#xA;

    Looking up this error on google, I found an issue on the FFMPEG library we use, that seems to suggest that using an input and output stream just isn't recommended and doesn't work. Rather, one of the two needs to be a file resource.

    &#xA;

    Some more about this error, it seems to happen consistently when it does happen, but it doesn't happen consistently overall. For me, I got this error every time the code ran, I went and took lunch, and when I came back it was gone.

    &#xA;

    For us it is important that this error won't pop up randomly in production, so the question is, does anyone have any suggestions on how we can be the most certain this error won't happen ?

    &#xA;

    For completeness in how this function is being invoked to result in the error in the screenshot, the structure of the code where the error is caught is like so :

    &#xA;

    await Promise.all(&#xA;    myArray.map(async (item, idx) => {&#xA;        // ...&#xA;        const wavBuffer = await toWav(myBuffer); // toWav is invoked at this level&#xA;    })&#xA;)&#xA;.then(() => {/* ... */})&#xA;.catch((e) => {&#xA;    // ...&#xA;    logger.error(&#x27;[LOOP CRASH] Error at main promise:&#x27;, e);&#xA;    // ...&#xA;});&#xA;

    &#xA;

    Any help would be appreciated, thank you ! Please let me know if I can provide more details, though I cannot share a repo or full source code or anything since this is a private repo.

    &#xA;

  • all pages of the same domain keep loading until background process finish [on hold]

    7 juillet 2013, par Kal

    I upload video files to mydomain_1.com and once the upload finish I store info about the uploaded file in mydomain_1 database under table process_queue.

    I have process.php under mydomain_2.com that connects to mydomain_1 database and check if process_queue table has any new entries. If there is then process.

    notice we are talking two separate domains.

    the moment process.php finds a new entry it starts converting the video using exec with ffmpeg.

    while the process is happening I cannot access any page under mydomain_1.com. all pages keep loading forever. the moment the process is done on mydomain_2.com I get access to pages on mydomain_1.com

    I thought it could be a mysql connection issue so on process.php I used mysql_close($db) immediately after every call to the database.