
Recherche avancée
Médias (21)
-
1,000,000
27 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Demon Seed
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
The Four of Us are Dying
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Corona Radiata
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Lights in the Sky
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Head Down
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
Autres articles (95)
-
MediaSPIP 0.1 Beta version
25 avril 2011, parMediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
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 (...) -
MediaSPIP version 0.1 Beta
16 avril 2011, parMediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...) -
Amélioration de la version de base
13 septembre 2013Jolie sélection multiple
Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...)
Sur d’autres sites (10983)
-
dnn-layer-mathunary-test : add unit test for tan
6 juin 2020, par Ting Fu -
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.


-
using ffmpeg on youtube video url php
29 novembre 2014, par kingI am trying to get youtube video from its actual url and convert it into avi using ffmpeg could anyone help me in this
<?php
$video = "http://r3---sn-cxaauxax-cage.googlevideo.com/videoplayback?initcwndbps=471250&ipbits=0&itag=22&sparams=dur%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Cmime%2Cmm%2Cms%2Cmv%2Csource%2Cupn%2Cexpire&expire=1417308390&upn=mdUcarOb9uA&sver=3&mt=1417286760&mime=video%2Fmp4&fexp=3300113%2C3300113%2C3300134%2C3300134%2C3300137%2C3300137%2C3300161%2C3300161%2C3310366%2C3310366%2C3310705%2C3310705%2C3312478%2C3312478%2C900245%2C907259%2C927622%2C932404%2C937427%2C941458%2C943909%2C947209%2C948124%2C951501%2C952302%2C952605%2C952901%2C953000%2C953912%2C957103%2C957105%2C957201&mm=31&key=yt5&signature=5FBF01B3A073A5B1BCEF5FDC480420872E365766.FA2463D05DD20DFE72E4243723D76DC551A8E3F7&id=o-AG_18OU8gTru9RXONTqv_lYhbFcvoJgEzvbFUwObjNY6&dur=2825.984&mv=m&source=youtube&ms=au&ip=27.34.252.158";
$num = 3;
$secpos = 1;
$thumb = "C:\\ffmpeg";
echo "Starting ffmpeg...\n\n";
echo shell_exec("ffmpeg -i $video -ss 90 -t 100 output.avi ");
echo "Done.\n";
?>