Recherche avancée

Médias (0)

Mot : - Tags -/presse-papier

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (48)

  • Création définitive du canal

    12 mars 2010, par

    Lorsque 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, par

    Informations 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, par

    La 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 Megyesi

    I'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 devteam

    I 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 :

    


      

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


    


    
             

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 Vorac

    I 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 replacing rawvideo with h264 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)