
Recherche avancée
Médias (1)
-
Rennes Emotion Map 2010-11
19 octobre 2011, par
Mis à jour : Juillet 2013
Langue : français
Type : Texte
Autres articles (111)
-
Script d’installation automatique de MediaSPIP
25 avril 2011, parAfin de palier aux difficultés d’installation dues principalement aux dépendances logicielles coté serveur, un script d’installation "tout en un" en bash a été créé afin de faciliter cette étape sur un serveur doté d’une distribution Linux compatible.
Vous devez bénéficier d’un accès SSH à votre serveur et d’un compte "root" afin de l’utiliser, ce qui permettra d’installer les dépendances. Contactez votre hébergeur si vous ne disposez pas de cela.
La documentation de l’utilisation du script d’installation (...) -
Les statuts des instances de mutualisation
13 mars 2010, parPour des raisons de compatibilité générale du plugin de gestion de mutualisations avec les fonctions originales de SPIP, les statuts des instances sont les mêmes que pour tout autre objets (articles...), seuls leurs noms dans l’interface change quelque peu.
Les différents statuts possibles sont : prepa (demandé) qui correspond à une instance demandée par un utilisateur. Si le site a déjà été créé par le passé, il est passé en mode désactivé. publie (validé) qui correspond à une instance validée par un (...) -
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs
Sur d’autres sites (9010)
-
HTML5 : Apply volume to cloned sounds in HTML5 multiShot case.
18 août 2013, par scottschillerHTML5 : Apply volume to cloned sounds in HTML5 multiShot case.
-
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 !


-
FFmpeg amix-filter always does "volume normalization". How to prevent it and what are the possible drawbacks of it ?
14 juin 2020, par ChitrangThere are many questions on this topic link1, link2, and link3. However, I am asking for suggestions on the probable solution and if it has some drawbacks.



Problem Definition : amix-filter always does "volume normalization" and can't be turned off



Reference : Please read comments over here by @Reino. He also had opened a ticket on the FFmpeg forum to explain the situation.



Hacky Solution : amix=inputs=13:dropout_transition=1000,volume=13



Reference : Answered here, and also in the ticket.



Questions :



1) "amix scales each input's volume by 1/n where n = no. of active inputs. This is evaluated for each audio frame. So when an input drops out, the volume of the remaining inputs is scaled by a smaller amount, hence their volumes increase."Refer



For example, if I am merging 10 audio streams then, the 1st audio stream will be scaled by 1/10, 2nd by 1/9, 3rd by 1/8 .. 9th by 1/2 and last 10th by 1. Have I understood this correctly or let me know if I am missing something ?



2) dropout_transition : The transition time, in seconds, for volume renormalization when an input stream ends. The default value is 2 seconds.



dropout_transition means it will SKIP given seconds, right ? So if I set dropout_transition=1000(very large number) then regardless of video length FFmpeg will drop/skip audio transition for provided seconds. Again, please do correct me if I have made wrong assumption.



3) I have tried many other solutions without any luck and now I am relying profoundly on the provided solution. Is there any drawback to the above hacky solution ?