
Recherche avancée
Autres articles (48)
-
Création définitive du canal
12 mars 2010, parLorsque votre demande est validée, vous pouvez alors procéder à la création proprement dite du canal. Chaque canal est un site à part entière placé sous votre responsabilité. Les administrateurs de la plateforme n’y ont aucun accès.
A la validation, vous recevez un email vous invitant donc à créer votre canal.
Pour ce faire il vous suffit de vous rendre à son adresse, dans notre exemple "http://votre_sous_domaine.mediaspip.net".
A ce moment là un mot de passe vous est demandé, il vous suffit d’y (...) -
Utilisation et configuration du script
19 janvier 2011, parInformations spécifiques à la distribution Debian
Si vous utilisez cette distribution, vous devrez activer les dépôts "debian-multimedia" comme expliqué ici :
Depuis la version 0.3.1 du script, le dépôt peut être automatiquement activé à la suite d’une question.
Récupération du script
Le script d’installation peut être récupéré de deux manières différentes.
Via svn en utilisant la commande pour récupérer le code source à jour :
svn co (...) -
Les tâches Cron régulières de la ferme
1er décembre 2010, parLa gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
Le super Cron (gestion_mutu_super_cron)
Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...)
Sur d’autres sites (5690)
-
CPU usage and memory of Gstreamer pipleline
10 mars 2013, par Myles MegyesiI'm using gstreamer to capture video from a webcam, encode it with x264 and stream it using a gstrtpbin. It works great. However, it uses about 50% of all four of my cores and a lot of memory. Is there anything I can do to lower the CPU and memory usage ? Here's the pipeline.
pipeline_description = "gstrtpbin latency=0 max-latency=100 drop-on-latency=true use-pipeline-clock=true ntp-sync=true name=rtpbin " \
"autovideosrc ! video/x-raw-yuv,width=640,height=480,framerate=30/1 ! " \
"tee name=t_vid ! queue ! fpsdisplaysink name=fpssink text-overlay=false video-sink=xvimagesink signal-fps-measurements=true t_vid. ! " \
"queue ! videorate ! ffmpegcolorspace ! x264enc pass=qual tune=zerolatency quantizer=40 ! queue ! rtph264pay ! rtpbin.send_rtp_sink_0 " \
"rtpbin.send_rtp_src_0 ! udpsink port=%d host=%s sync=false async=false rtpbin.send_rtcp_src_0 ! " \
"udpsink port=%d host=%s sync=false async=false name=vrtcpsink udpsrc port=%d ! " \
"rtpbin.recv_rtcp_sink_0 autoaudiosrc ! queue ! audioresample ! audioconvert ! alawenc ! rtppcmapay ! rtpbin.send_rtp_sink_1 " \
"rtpbin.send_rtp_src_1 ! udpsink port=%d host=%s sync=false async=false rtpbin.send_rtcp_src_1 ! " \
"udpsink port=%d host=%s sync=false async=false udpsrc port=%d ! rtpbin.recv_rtcp_sink_1" % (VRTP_SEND_PORT, DEST,
VRTCP_SEND_PORT, DEST, VRTCP_RECV_PORT, ARTP_SEND_PORT, DEST, ARTCP_SEND_PORT, DEST, ARTCP_RECV_PORT) -
Extract 5th frame of video & merge into a video using ffmpeg C#
6 juillet 2022, par mobile devteamI am trying to extract every 5th frame of a video and try to merge it in another video using ffmpeg.


So far, I have tried 2 separate commands & processes :


- 

- For extracting every 5th frame & storing it in a folder.





 

string argumentStrFinal = "-i {0} -vf \"select = not(mod(n\\, 5))\" -vsync vfr {1}/img_%03d.jpg";
 argumentStrFinal = String.Format(argumentStrFinal, inputPath, filePath);
 ProcessStartInfo startInfo5 = new ProcessStartInfo()
 {
 FileName = ffmpegPath,
 Arguments = argumentStrFinal,
 UseShellExecute = false,
 CreateNoWindow = true
 //RedirectStandardError = true,
 };

 string outputPathFps = Path.Combine(filePath, "outputtemp_" + DateTime.UtcNow.Ticks + ".avi");
 Process exeProcess5 = Process.Start(startInfo5);

 exeProcess5.WaitForExit();




2.For creating the video from the folder of frame images


string argumentStrFinalMerge = "-framerate {2} -i {0}\\img_%03d.jpg {1}";
 argumentStrFinalMerge = String.Format(argumentStrFinalMerge, filePath, outputPath, standardFrameRate);
 
 ProcessStartInfo startInfo6 = new ProcessStartInfo()
 {
 FileName = ffmpegPath,
 Arguments = argumentStrFinalMerge,
 UseShellExecute = false,
 CreateNoWindow = true
 //RedirectStandardError = true,
 };

 Process exeProcess6 = Process.Start(startInfo6);



The problem is the two different processes are taking longer time so I want to merge this commands in single process.


Please suggest me a way to do it.


-
How to get webam frames one by one but also compressed ?
29 mars, par VoracI need to grab frames from the webcam of a laptop, transmit them one by one and the receiving side stitch them into a video. I picked
ffmpeg-python
as wrapper of choice and the example from the docs works right away :

#!/usr/bin/env python

# In this file: reading frames one by one from the webcam.


import ffmpeg

width = 640
height = 480


reader = (
 ffmpeg
 .input('/dev/video0', s='{}x{}'.format(width, height))
 .output('pipe:', format='rawvideo', pix_fmt='yuv420p')
 .run_async(pipe_stdout=True)
)

# This is here only to test the reader.
writer = (
 ffmpeg
 .input('pipe:', format='rawvideo', pix_fmt='yuv420p', s='{}x{}'.format(width, height))
 .output('/tmp/test.mp4', format='h264', pix_fmt='yuv420p')
 .overwrite_output()
 .run_async(pipe_stdin=True)
)


while True:
 chunk = reader.stdout.read(width * height * 1.5) # yuv
 print(len(chunk))
 writer.stdin.write(chunk)



Now for the compression part.


My reading of the docs is that the input to the reader perhaps needs be
rawvideo
but nothing else does. I tried replacingrawvideo
withh264
in my code but that resulted in empty frames. I'm considering a third invocation looking like this but is that really the correct approach ?

encoder = ( 
 ffmpeg 
 .input('pipe:', format='rawvideo', pix_fmt='yuv420p', s='{}x{}'.format(width, height))
 .output('pipe:', format='h264', pix_fmt='yuv420p') 
 .run_async(pipe_stdin=True, pipe_stdout=True)