
Recherche avancée
Autres articles (112)
-
Personnaliser en ajoutant son logo, sa bannière ou son image de fond
5 septembre 2013, parCertains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;
-
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 (...) -
Ajouter des informations spécifiques aux utilisateurs et autres modifications de comportement liées aux auteurs
12 avril 2011, parLa manière la plus simple d’ajouter des informations aux auteurs est d’installer le plugin Inscription3. Il permet également de modifier certains comportements liés aux utilisateurs (référez-vous à sa documentation pour plus d’informations).
Il est également possible d’ajouter des champs aux auteurs en installant les plugins champs extras 2 et Interface pour champs extras.
Sur d’autres sites (11468)
-
Evolution #4552 (En cours) : Appliquer tout le temps la classe demandée à lien_ou_expose
17 février 2021, par cedric -En fait vous voulez cette version là ?
https://git.spip.net/spip-contrib-extensions/bootstrap4/src/branch/master/bootstrap4_fonctions.php#L73Le paramètre on peut recevoir une chaine au lieu d’un bool, dans laquelle on précise la balise et la classe du markup exposé :
strong.on
,a.active
,span.lien-on
... C’est le plus souple que j’ai trouvé et qui est totalement compatible avec la signature d’origine -
Anomalie #4187 (Nouveau) : Connecté en Anglais (langue principale français) pas de bouton pour ajo...
2 octobre 2018, par Jacques BouthierConstaté ce matin en 3.1 et en 3.2.1 [23954] si je change ma langue du site de français vers Anglais et que je cherche à ajouter un plugin, le bouton de téléchargement de plugin n’apparait pas. Testé aussi en Español, langue également configurée dans les langues du site.
Est-ce un problème de css parce que les plugins qui n’ont pas de traduction dans la langue active perdent l’affichage correct ? Voir cette copie d’écran : https://pic.infini.fr/gallery#5uWHoejO/94P3BZkq.png -
How to prevent screen tearing when updating stdin input to ffmpeg for youtube livestream
8 septembre 2021, par Cameron SimaI am working on a livestream application that allows multiple web clients to stream video through webrtc to a 'controller' client which will add their audio track, then be able to switch between these video feeds and output the raw stream data to a server running ffmpeg, which will then send the feed to youtube live.


The 'controller' client simply sets one peer video source as the 'active' stream on button press and all others as 'inactive'.


The data is then sent to a node.js server like so :


this.mediaSources.forEach((source, _) => {
 source.recorder.ondataavailable = (e: BlobEvent) => {
 if (source.active) {
 this.socket.emit('binarystream', e.data)
 }
 }



The node server starts an ffmepg process like so :


export class FfmpegService {
ffmpeg: ChildProcess
youtubeUrl = 'rtmp://a.rtmp.youtube.com/live2'

start(rtmpDestination: string) {
 this.ffmpeg = spawn('ffmpeg', this.getFfmpegOptions(rtmpDestination), 
 { shell: process.env.NODE_ENV !== 'production' }
 )
}

stop() {
 if (this.ffmpeg) {
 this.ffmpeg.stdin.end()
 this.ffmpeg.kill('SIGINT')
 this.ffmpeg = null
 }
}

feedStream(data: any) {
 this.ffmpeg.stdin.write(data)
}

private getFfmpegOptions(streamKey: string): string[] {
 const rtmpDestination = this.youtubeUrl + '/' + streamKey
 return [
 '-i','-',
 '-c:v', 'libx264', 
 '-preset', 'fast', '-tune', 'zerolatency', // video codec config: low latency, adaptive bitrate
 '-c:a', 'aac', '-ar', '44100', '-b:a', '64k', // audio codec config: sampling frequency (11025, 22050, 44100), bitrate 64 kbits
 '-y', //force to overwrite
 '-use_wallclock_as_timestamps', '1', // used for audio sync
 '-async', '1', // used for audio sync
 //'-filter_complex', 'aresample=44100', // resample audio to 44100Hz, needed if input is not 44100
 //'-strict', 'experimental', 
 '-bufsize', '300k',
 '-pix_fmt', 'yuv420p',
 '-f', 'flv', rtmpDestination
 ];
}



Everything works as expected in a youtube live session. The only problem is when switching between input streams, there is about 5 seconds of screen tearing before settling down. From all outward appearances, the switch happens immediately and seamlessly. I feel this can be attenuated/solved by tweaking the ffmpeg options but I'm pretty new to ffmpeg. I have tried increasing/decreasing -bufsize and -preset cli options, but nothing has worked so far.