Recherche avancée

Médias (91)

Autres articles (60)

  • Pas question de marché, de cloud etc...

    10 avril 2011

    Le vocabulaire utilisé sur ce site essaie d’éviter toute référence à la mode qui fleurit allègrement
    sur le web 2.0 et dans les entreprises qui en vivent.
    Vous êtes donc invité à bannir l’utilisation des termes "Brand", "Cloud", "Marché" etc...
    Notre motivation est avant tout de créer un outil simple, accessible à pour tout le monde, favorisant
    le partage de créations sur Internet et permettant aux auteurs de garder une autonomie optimale.
    Aucun "contrat Gold ou Premium" n’est donc prévu, aucun (...)

  • Gestion générale des documents

    13 mai 2011, par

    MédiaSPIP ne modifie jamais le document original mis en ligne.
    Pour chaque document mis en ligne il effectue deux opérations successives : la création d’une version supplémentaire qui peut être facilement consultée en ligne tout en laissant l’original téléchargeable dans le cas où le document original ne peut être lu dans un navigateur Internet ; la récupération des métadonnées du document original pour illustrer textuellement le fichier ;
    Les tableaux ci-dessous expliquent ce que peut faire MédiaSPIP (...)

  • Gestion des droits de création et d’édition des objets

    8 février 2011, par

    Par défaut, beaucoup de fonctionnalités sont limitées aux administrateurs mais restent configurables indépendamment pour modifier leur statut minimal d’utilisation notamment : la rédaction de contenus sur le site modifiables dans la gestion des templates de formulaires ; l’ajout de notes aux articles ; l’ajout de légendes et d’annotations sur les images ;

Sur d’autres sites (6118)

  • Trying to produce a stream of OGG encoded audio originating from microphone yields a completely quiet file

    3 décembre 2019, par Dan

    Basically title. I want to produce a constant stream of audio data encoded in OGG coming from my microphone. This is my current setup :

    var mic = require('mic');
    var fs = require('fs');
    var { exec } = require('child_process')

    var micInstance = mic({
       rate: '44100',
       channels: '1',
       debug: true,
       exitOnSilence: 0,
       device: 'pulse',

    });

    var micInputStream = micInstance.getAudioStream();
    var outputFileStream = fs.createWriteStream('output.final.ogg');
    var transcode = exec('ffmpeg -loglevel panic -i pipe: -f ogg -')

    micInputStream.pipe(transcode.stdin)
    transcode.stdout.pipe(outputFileStream)

    When I pipe micInputStream directly to process.stdout then use a unix pipe to pipe the data to a output.wav file, I can play it back.

    When I pipe micInputStream directly to process.stdout then use a unix pipe to pipe the data to ffmpeg, then unix-pipe all that data into a output.ogg file, I can also play it back.

    But when I try my code, I get an OGG file, but when I play it back, it’s quiet.

    I’m at a loss, how do I just create a readableStream containing an endless stream of audio coming from the mic, encoded in OGG ?

  • Camera Rendering Buffers and Stutters When Processing Large Video Files with FFmpeg

    20 avril 2023, par TIANYU HU

    When rendering a real-time camera, I use ffmpeg to process a large video file(like 4G or even larger) at the same time. However, I noticed that the video frames are buffering and stuttering, indicated they are probably competing for limited system resources, like cpu, memory or I/O bandwidth etc.

    


    I‘ve tried a lot of experiments to figure out the root cause. Firstly I limit the cpu usage of ffmpeg to 25%, but sadly it’s not getting better.

    


    Then I suspect that ffmpeg would read the large video file from disk to page cache in memory as much as it can before processing, and the generated files are going to be written back from page cache to disk. The RAM of our computer is 8G, apparently it needs to swap in and swap out pages between memory and disk. This process is costly for the CPU, and other processes are likely to trigger an interrupt named “Page Fault” when they access pages that are not actually loaded into memory. If the time taken for “page fault” is too long, the program may lag.

    


    Lastly I configure the system parameters related to “write back dirty pages to disk”, such as vm.dirty_writeback_centisecs and vm.dirty_background_ratio, to try to write back the dirty (Disk I/O) more frequently or infrequently. But I’m not quite sure what would happen if I modify these parameters.

    


    Expection :
The requirement can be summarized as “real-time video rendering has higher priority, and the low rate of large file processing is accepted”, are there any possible solutions of this issue from your perspective ? Thanks in advance.

    


  • Bash script : Cycle script until ffmpeg command restarts successfully

    13 août 2023, par Bellacoda

    I have a IP Camera and the recordings are saved with ffmpeg RTSP into a raspberry pi.

    


    Sometimes, when the electricity shuts off and comes back on, the raspberry boots faster than the IP Camera and the ffmpeg command (saved on a crontab to run every reboot) fails to execute because it can't reach the IP Camera (that is still turning on).

    


    I tried to put a sleep command before the command but that doesn't work either.

    


    It also happened that when the IP Camera reboots, the raspberry closes the command, but when the camera comes back online, I have to manually lauch the command.

    


    Is there a way to make a script that waits to run the ffmpeg command until the camera is fully online (I assume with the $ ? variable for command exit status), and to wait to restart the ffmpeg command when the camera reboots ?

    


    The setup I have now is a crontab :
SHELL=/bin/bash
@reboot sleep 120s ; sudo ffmpeg ...