Recherche avancée

Médias (3)

Mot : - Tags -/spip

Autres articles (27)

  • Librairies et binaires spécifiques au traitement vidéo et sonore

    31 janvier 2010, par

    Les logiciels et librairies suivantes sont utilisées par SPIPmotion d’une manière ou d’une autre.
    Binaires obligatoires FFMpeg : encodeur principal, permet de transcoder presque tous les types de fichiers vidéo et sonores dans les formats lisibles sur Internet. CF ce tutoriel pour son installation ; Oggz-tools : outils d’inspection de fichiers ogg ; Mediainfo : récupération d’informations depuis la plupart des formats vidéos et sonores ;
    Binaires complémentaires et facultatifs flvtool2 : (...)

  • Support audio et vidéo HTML5

    10 avril 2011

    MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
    Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
    Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
    Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)

  • De l’upload à la vidéo finale [version standalone]

    31 janvier 2010, par

    Le chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
    Upload et récupération d’informations de la vidéo source
    Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
    Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...)

Sur d’autres sites (4366)

  • Running Background Process using FFMPEG on Google Cloud Run stopping in middle

    7 juillet 2021, par pashaplus

    I have an external bash script that transcodes audio files using FFmpeg and then uploads the files to google cloud storage. I am using the google cloud run platform for this process but the process is stopping in the middle and not getting any clue from the logs. I am using the node js spawn command to execute the bash script

    


        const createHLSVOD = spawn('/bin/bash', [script, file.path, file.destination, contentId, EPPO_MUSIC_HSL_URL, 'Content', speed]);
    createHLSVOD.stdout.on('data', d => console.log(`stdout info: ${d}`));
    createHLSVOD.stderr.on('data', d => console.log(`stderr error: ${d}`));
    createHLSVOD.on('error', d => console.log(`error: ${d}`));
    createHLSVOD.on('close', code => console.log(`child process ended with code ${code}`));


    


    on cloud run beginning the process itself taking a lot of time but in my local machine transcoding and uploading is very fast. after some time transcoding logs are being stopped and no new logs appear. I have no clue what is happening

    


    Google Cloud run logs

    


    so what is happening here ? why it is very slow in the first place and why the process is being stopped in middle without any error

    


    node js script

    


    Transcoding script

    


    Dockerfile

    


  • Passing streams from Fluent-ffmpeg to Google Cloud Storage

    31 octobre 2019, par Emilio Faria

    Is there a way to pass a stream from Fluent-mmpeg to Google Cloud Storage ? I’m trying to allow the user to upload any kind of media (audio or video), and I want to convert it to flac before uploading it to GCS.

    I’m using a few middlewares on my route, such as :

    routes.post(
     '/upload',
     multer.single('audio'),
     ConvertController.convert,
     UploadController.upload,
     FileController.save,
     (req, res, next) => res.send('ok')
    );

    I was able to stream from Multer to Fluent-mmpeg and save to a file using this code on ConvertController :

    async convert(req, res, next) {
       ffmpeg(streamifier.createReadStream(req.file.buffer))
         .format('flac')
         .output('outputfile.flac')
         .audioChannels(1)
         .on('progress', function(progress) {
           console.log(progress);
         })
         .run();
     }

    But I would like to use .pipe() to pass it to UploadController, where I would then upload to GCS :

    class UploadController {
     async upload(req, res, next) {
       const gcsHelpers = require('../helpers/google-cloud-storage');
       const { storage } = gcsHelpers;

       const DEFAULT_BUCKET_NAME = 'my-bucket-name';

       const bucketName = DEFAULT_BUCKET_NAME;
       const bucket = storage.bucket(bucketName);
       const fileName = `test.flac`;
       const newFile = bucket.file(fileName);

       newFile.createWriteStream({
         metadata: {
           contentType: file.mimetype
         }
       })

       file.on('error', err => {
         throw err;
       });

       file.on('finish', () => console.log('finished'));
     }

    The problem is that I cannot find anywhere explaining how I can pass down a stream to the next middleware.

    Is it possible ?

  • error : `FFMPEG` can not read `` in google colab

    3 avril 2023, par 5opka

    the error occurs when loading a video file (mp4) previously the code worked with this video.
to run https://colab.research.google.com/github/AliaksandrSiarohin/first-order-model/blob/master/demo.ipynb
you need to put !pip install -U scikit-image==0.18.0 in the first cell.
video can download this https://youtu.be/smQvWpqX13I (144p).
enter image description here

    


    InitializationError         Traceback (most recent call last)&#xA;/usr/local/lib/python3.9/dist-packages/imageio/core/imopen.py &#xA;in imopen(uri, io_mode, plugin, extension, format_hint, &#xA;legacy_mode, **kwargs)&#xA;    141         try:&#xA;--> 142             return loader(request, **kwargs)&#xA;    143         except InitializationError as class_specific:&#xA;    &#xA;20 frames&#xA;    &#xA;InitializationError: `FFMPEG` can not read `<bytes>`.&#xA;&#xA;The above exception was the direct cause of the following &#xA;exception:&#xA;&#xA;RuntimeError           Traceback (most recent call last)&#xA;/usr/local/lib/python3.9/dist-packages/imageio/core/imopen.py &#xA;in imopen(uri, io_mode, plugin, extension, format_hint, &#xA;legacy_mode, **kwargs)&#xA;    158 &#xA;    159         request.finish()&#xA;--> 160         raise err_type(err_msg) from err_from&#xA;    161 &#xA;    162     # fast-path based on format_hint&#xA;&#xA;RuntimeError: `FFMPEG` can not handle the given uri.&#xA;</bytes>

    &#xA;