Recherche avancée

Médias (91)

Autres articles (39)

  • Personnaliser les catégories

    21 juin 2013, par

    Formulaire de création d’une catégorie
    Pour ceux qui connaissent bien SPIP, une catégorie peut être assimilée à une rubrique.
    Dans le cas d’un document de type catégorie, les champs proposés par défaut sont : Texte
    On peut modifier ce formulaire dans la partie :
    Administration > Configuration des masques de formulaire.
    Dans le cas d’un document de type média, les champs non affichés par défaut sont : Descriptif rapide
    Par ailleurs, c’est dans cette partie configuration qu’on peut indiquer le (...)

  • Ajouter notes et légendes aux images

    7 février 2011, par

    Pour pouvoir ajouter notes et légendes aux images, la première étape est d’installer le plugin "Légendes".
    Une fois le plugin activé, vous pouvez le configurer dans l’espace de configuration afin de modifier les droits de création / modification et de suppression des notes. Par défaut seuls les administrateurs du site peuvent ajouter des notes aux images.
    Modification lors de l’ajout d’un média
    Lors de l’ajout d’un média de type "image" un nouveau bouton apparait au dessus de la prévisualisation (...)

  • 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 (7562)

  • electron fluent-ffmpeg mergeToFile() command promise not triggering

    12 septembre 2020, par Martin

    I am trying to use fluent-ffmpeg with my electron app to concatenate multiple audio files together with an image in a video. So if i have three files :

    


    song1.mp3 1:00
song2.mp3 0:30
song3.mp3 2:00
front.jpg

    


    I could create output.mp4 which would be 3:30 seconds long, and play each file one after the other in order. With front.jpg set as the background image.

    


    I am trying to create the concatenated audio file first for this video, then I can just render a vid with two inputs ; image and the 3:30second long concatenated audio file. But I'm having difficulty getting my electron app to wait for the ffmpeg job to run and complete.

    


    I know how to do all of these ffmpeg jobs on the command-line, but I've been following this guide for how to package ffmpeg into an electron app that can run on mac/win10/linux environments. I'm developing it on win10 right now.
gur.com/LtykP.png

    


    I have a button :&#xA;<button>FULLALBUM</button>

    &#xA;

    that when I click runs the fullAlbum() function that calls combineMp3FilesOrig to run the actual ffmpeg job :

    &#xA;

    async function fullAlbum(uploadName) {&#xA;    //document.getElementById("buttonId").disabled = true;&#xA;&#xA;    //get table&#xA;    var table = $(`#upload_${uploadNumber}_table`).DataTable()&#xA;    //get all selected rows&#xA;    var selectedRows = table.rows( &#x27;.selected&#x27; ).data()&#xA;    //get outputFile location&#xA;    var path = require(&#x27;path&#x27;);&#xA;    var outputDir = path.dirname(selectedRows[0].audioFilepath)&#xA;    //create outputfile&#xA;    var timestamp = new Date().getUTCMilliseconds();&#xA;    let outputFilepath = `${outputDir}/output-${timestamp}.mp3` &#xA;&#xA;    &#xA;    console.log(&#x27;fullAlbum() button pressed: &#x27;, timestamp)&#xA;&#xA;    await combineMp3FilesOrig(selectedRows, outputFilepath, &#x27;320k&#x27;, timestamp);&#xA;    //document.getElementById("buttonId").disabled = false;&#xA;&#xA;    console.log(`fullAlbum() /output-${timestamp}.mp3 should be created now`)&#xA;}&#xA;&#xA;function combineMp3FilesOrig(selectedRows, outputFilepath, bitrate, timestamp) {&#xA;    console.log(`combineMp3FilesOrig(): ${outputFilepath}`)&#xA;    &#xA;    //begin get ffmpeg info&#xA;    const ffmpeg = require(&#x27;fluent-ffmpeg&#x27;);&#xA;    //Get the paths to the packaged versions of the binaries we want to use&#xA;    const ffmpegPath = require(&#x27;ffmpeg-static&#x27;).replace(&#x27;app.asar&#x27;,&#x27;app.asar.unpacked&#x27;);&#xA;    const ffprobePath = require(&#x27;ffprobe-static&#x27;).path.replace(&#x27;app.asar&#x27;,&#x27;app.asar.unpacked&#x27;);&#xA;    //tell the ffmpeg package where it can find the needed binaries.&#xA;    ffmpeg.setFfmpegPath(ffmpegPath);&#xA;    ffmpeg.setFfprobePath(ffprobePath);&#xA;    //end set ffmpeg info&#xA;&#xA;    //create ffmpeg command&#xA;    console.log(`combineMp3FilesOrig(): create command`)&#xA;    const command = ffmpeg();&#xA;    //set command inputs&#xA;    command.input(&#x27;C:\\Users\\marti\\Documents\\martinradio\\uploads\\CharlyBoyUTurn\\5. Akula (Club Mix).flac&#x27;)&#xA;    command.input(&#x27;C:\\Users\\marti\\Documents\\martinradio\\uploads\\CharlyBoyUTurn\\4. Civilian Barracks.flac&#x27;)&#xA;&#xA;    return new Promise((resolve, reject) => {&#xA;        console.log(`combineMp3FilesOrig(): command status logging`)&#xA;        command.on(&#x27;progress&#x27;, function(progress) {&#xA;            console.info(`Processing : ${progress.percent} % done`);&#xA;        })&#xA;        .on(&#x27;codecData&#x27;, function(data) {&#xA;            console.log(&#x27;codecData=&#x27;,data);&#xA;        })&#xA;        .on(&#x27;end&#x27;, function() {&#xA;            console.log(&#x27;file has been converted succesfully; resolve() promise&#x27;);&#xA;            resolve();&#xA;        })&#xA;        .on(&#x27;error&#x27;, function(err) {&#xA;            console.log(&#x27;an error happened: &#x27; &#x2B; err.message, &#x27;, reject()&#x27;);&#xA;            reject(err);&#xA;        })&#xA;        console.log(`combineMp3FilesOrig(): add audio bitrate to command`)&#xA;        command.audioBitrate(bitrate)&#xA;        console.log(`combineMp3FilesOrig(): tell command to merge inputs to single file`)&#xA;        command.mergeToFile(outputFilepath);&#xA;        console.log(`combineMp3FilesOrig(): end of promise`)&#xA;    });&#xA;    console.log(`combineMp3FilesOrig(): end of function`)&#xA;}&#xA;

    &#xA;

    When I click my button once, my console.logs show the promise is entered, the command is created, but the function just ends without waiting for a resolve() ;&#xA;Waiting a couple minutes doesnt change anything.

    &#xA;

    enter image description here

    &#xA;

    If I press the button again :

    &#xA;

    enter image description here

    &#xA;

    A new command gets created, reaches the end of the promise, but this time actually starts, and triggers the previous command to start. Both jobs then run and their files are rendered at the correct length (12:08) and the correct quality (320k)

    &#xA;

    Is there something with my promise I need to fix involving async functions and promises in an electron app ? I tried editing my ffmpeg command to include

    &#xA;

    command.run()

    &#xA;

    At the end of my promise to ensure it gets triggered ; but that leads to an err in console saying Uncaught (in promise) Error: No output specified because apparently in fluent-ffmpeg command.mergeToFile(outputFilepath); isnt good enough and I need to include .output(outputFilepath) as well. If I change command.run() to command.output(outputFilepath).run(), when i click my button, the ffmpeg job gets triggered and rendered perfectly fine. EXCEPT THAT THE FILE IS ALWAYS 128kbps

    &#xA;

    So I'm trying to figure out why my included code block, my ffmpeg command doesn't run the first time when its created.

    &#xA;

  • avfilter : remove deprecated FF_API_LINK_PUBLIC

    19 février, par James Almer
    avfilter : remove deprecated FF_API_LINK_PUBLIC
    

    Deprecated since 2024-03-08.

    Signed-off-by : James Almer <jamrial@gmail.com>

    • [DH] libavfilter/avfilter.c
    • [DH] libavfilter/avfilter.h
    • [DH] libavfilter/version_major.h
  • Anomalie #1876 : Non prise en compte des guillemets dans le surlignage

    14 juin 2011, par cedric -

    voir aussi #2025