
Recherche avancée
Médias (91)
-
Head down (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
Echoplex (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
Discipline (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
Letting you (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
1 000 000 (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
999 999 (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
Autres articles (45)
-
Des sites réalisés avec MediaSPIP
2 mai 2011, parCette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page. -
MediaSPIP v0.2
21 juin 2013, parMediaSPIP 0.2 is the first MediaSPIP stable release.
Its official release date is June 21, 2013 and is announced here.
The zip file provided here only contains the sources of MediaSPIP in its standalone version.
To get a working installation, you must manually install all-software dependencies on the server.
If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...) -
Librairies et binaires spécifiques au traitement vidéo et sonore
31 janvier 2010, parLes 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 : (...)
Sur d’autres sites (7631)
-
Spawned ffmpeg process in nodejs Transform stream with flow control doesn't process input stream
30 septembre 2022, par user1832894I have implemented a node.js Transform stream class that spawns ffmpeg and streams out the transformed stream at a controlled realtime rate. Below is my _transform() method.


this.rcvd += chunk.length
console.log('received bytes %d', this.rcvd)
const ready = this.ffmpeg.stdin.write(chunk, encoding, err => err
 ? cb(err)
 : ready
 ? cb
 : this.ffmpeg.stdin.once('drain', cb))



I want to write to ffmpeg's stdin stream till it returns false, at which point I wait for the drain event to write more data.


Concurrently, I have a timer that fires every 40 milliseconds that reads ffmpeg's stdout and pushes it to the Transform stream's output (the readable side). Code not complete, but the folllowing describes it well.


const now = Date.now()
const bytesToTransmit = (now - this.lastTx) * 32

const buf = this.ffmpeg.stdout.read()

if (buf == null) return

if (buf.length <= bytesToTransmit) {
 this.push(buf)
 this.lastTx += buf.length * 32
 return
}

this.push(buf.slice(0, bytesToTransmit))
this.lastTx = now

// todo(handle pending buffer)
this.pending = buf.slice(bytesToTransmit)



The issue I am facing is that the first write (of 65k bytes) returns false, and after that I never receive the drain event. FFMpeg doesn't start processing the data until certain amount of data (256k bytes in my case) has been written, and once I start waiting for the drain event, I never recover control.


I've tried a few ffmpeg options like nobuffer but to no avail. What am I doing wrong ? Any ideas would be super helpful.


Thanks !


-
Revision 87599 : $GLOBALS[’visiteur_session’] au lieu de global $auteur_session ; et ...
22 février 2015, par kent1@… — Log$GLOBALSvisiteur_session ? au lieu de global $auteur_session ; et $auteur_session
Indentation / Formatage -
Revision 87599 : $GLOBALS[’visiteur_session’] au lieu de global $auteur_session ; et ...
22 février 2015, par kent1@… — Log$GLOBALSvisiteur_session ? au lieu de global $auteur_session ; et $auteur_session
Indentation / Formatage