
Recherche avancée
Médias (1)
-
Collections - Formulaire de création rapide
19 février 2013, par
Mis à jour : Février 2013
Langue : français
Type : Image
Autres articles (69)
-
Gestion de la ferme
2 mars 2010, parLa ferme est gérée dans son ensemble par des "super admins".
Certains réglages peuvent être fais afin de réguler les besoins des différents canaux.
Dans un premier temps il utilise le plugin "Gestion de mutualisation" -
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 (...) -
Gestion des droits de création et d’édition des objets
8 février 2011, parPar 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 (7404)
-
Is it possible to use something other than a circular buffer when using ffmpeg to pass RTSP video to a WebRTC client ?
3 novembre 2024, par DocticoI have a Node application that uses ffmpeg to receive the RTSP stream of an ip camera (h264), and then pass send it using node-webrtc to a remote client. However, in my current implementation, ffmpeg only outputs 8192 byte chunks, which must be buffered in order to create the full frame that my current node-webrtc flow expects. This circular buffer results in a 1-2 second delay when the client is viewing the video. Is there any way to pass the stream through node-webrtc as the chunks come in, or at least extract complete frames so that circular buffering is not necessary ?


So far, I have tried this, which works but has a 1-2 second delay, and even higher delay with higher resolution cameras :


async startStream() {

 const rtspUrl = 'rtsp://my-rtsp-url';

 const videoSource = new wrtc.nonstandard.RTCVideoSource();
 const videoTrack = videoSource.createTrack();

 const width = 640;
 const height = 480;
 const frameSize = width * height * 1.5; // YUV420p format

 //circular buffer:
 let frameBuffer = Buffer.alloc(0);
 const frameStream = new Writable({
 write: (chunk, encoding, callback) => {
 frameBuffer = Buffer.concat([frameBuffer, chunk]);

 while (frameBuffer.length >= frameSize) {
 const frame = frameBuffer.slice(0, frameSize);
 frameBuffer = frameBuffer.slice(frameSize);

 videoSource.onFrame({
 width: width,
 height: height,
 data: new Uint8ClampedArray(frame)
 });
 }
 callback();
 }
 });

 const ffmpegProcess = ffmpeg(rtspUrl)
 .inputOptions([
 `-fflags nobuffer`,
 `-flags low_delay`,
 `-rtsp_transport tcp`,
 `-strict experimental`,
 `-analyzeduration 0`,
 `-threads 0`,
 `-hwaccel auto`
 ])
 .outputOptions([
 `-f rawvideo`,
 `-c:v rawvideo`,
 '-b:v', streamId === 1 ? '2000k' : '1000k',
 '-bf', '0',
 `-s ${width}x${height}`,
 `-pix_fmt yuv420p`,
 `-tune zerolatency`
 ])
 .on('start', (cmd) => console.log('FFmpeg started:', cmd))
 .on('error', error => {
 console.error('FFmpeg error:', error);
 this.stopStream();
 })
 .on('end', () => {
 console.log('FFmpeg stream ended');
 this.stopStream();
 })

 ffmpegProcess
 .pipe(frameStream);

 return videoTrack;
 }



-
How to make circular waveform video with background image using ffmpeg ?
20 août 2024, par Ansh RathodHi I want to make a circular waveform video using ffmpeg but want to use the background image. I tried this command many times but didn't work, I tried using ChatGPT over and over but didn't work at all now I'm questioning whether is it even possible to make it in a single command or not.


ffmpeg -i input.mp3 -i background.png -filter_complex "[0:a]showwaves=size=100x100:colors=white:draw=full:mode=p2p[v];[v]format=rgba,geq='p(mod((2*W/(2*PI))*(PI+atan2(0.5*H-Y,X-W/2)),W), H-2*hypot(0.5*H-Y,X-W/2))'[vout];[1:v][vout]overlay=(W-w)/2:(H-h)/2[outv]" -map "[outv]" -map 0:a -pix_fmt yuv420p output.mp4



I used this command without bg it works :



ffmpeg -i input.mp3 -filter_complex "[0:a]showwaves=size=100x100:colors=white:draw=full:mode=p2p[v]; \[v]format=rgba,geq='p(mod((2*W/(2*PI))*(PI+atan2(0.5*H-Y,X-W/2)),W), H-2*hypot(0.5*H-Y,X-W/2))'[vout]" -map "[vout]" -map 0:a -pix_fmt yuv420p output.mp4




-
avutil/hwcontext_d3d12va : add Flags for resource creation
26 septembre 2023, par Tong Wu