Recherche avancée

Médias (91)

Autres articles (17)

  • 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 (...)

  • Configuration spécifique pour PHP5

    4 février 2011, par

    PHP5 est obligatoire, vous pouvez l’installer en suivant ce tutoriel spécifique.
    Il est recommandé dans un premier temps de désactiver le safe_mode, cependant, s’il est correctement configuré et que les binaires nécessaires sont accessibles, MediaSPIP devrait fonctionner correctement avec le safe_mode activé.
    Modules spécifiques
    Il est nécessaire d’installer certains modules PHP spécifiques, via le gestionnaire de paquet de votre distribution ou manuellement : php5-mysql pour la connectivité avec la (...)

  • Contribute to documentation

    13 avril 2011

    Documentation is vital to the development of improved technical capabilities.
    MediaSPIP welcomes documentation by users as well as developers - including : critique of existing features and functions articles contributed by developers, administrators, content producers and editors screenshots to illustrate the above translations of existing documentation into other languages
    To contribute, register to the project users’ mailing (...)

Sur d’autres sites (5045)

  • Webrtc streaming issue with Wowza and FFMPEG

    26 juin 2018, par Diego T

    I am trying to stream video and audio from a Camera in a browser using Webrtc and Wowza Media Server (4.7.3 version).

    The camera stream (h264/aac) is first of all transcoded by using FFMPEG (version N-89681-g2477bfe built with gcc 4.8.5, last available version on ffmpeg website) in VP8/OPUS and then pushed to the Wowza Server.
    By using the small Wowza webpage I ask for the Wowza stream to be displayed in the browser (Chrome Version 66.0.3336.5 Build officiel canary 32 bits).

    FFMPEG used command :

    ffmpeg -rtsp_transport tcp -i rtsp:// -vcodec libvpx -vb 600000 -crf 10 -qmin 0 -qmax 50 -acodec libopus -ab 32000 -ar 48000 -ac 2 -f rtsp rtsp://://test

    When I click on Play stream I have a very bad quality video and audio (jerky video and very bad audio).

    If I use this FFMPEG command :

    ffmpeg -rtsp_transport tcp -i rtsp:// -vcodec libvpx -vb 600000 -crf 10 -qmin 0 -qmax 50 -acodec copy -f rtsp rtsp://://test

    I will have a good video (flowing, smooth) but no audio (the camera micro is ON).

    If libopus is the problem (as this test first shows), I tried libvorbis but with Chrome console I have this error "Failed to set remote offer sdp : Session error code : ERROR_CONTENT". Weird, cause libvorbis is one of the available codecs for Webrtc.

    Is someone experiencing the same issue ? Did someone experience the same issue ?

    Thanks in advance.

  • QOpenGLWidget video rendering perfomance in multiple processes

    24 novembre 2018, par MasterAler

    My problem may seem vague without code, but it actually isn’t.

    So, there I’ve got an almost properly-working widget, which renders video frames.

    Qt 5.10 and QOpenGLWidget subclassing worked fine, I didn’t make any sophisticated optimizations — there are two textures and a couple of shaders, converting YUV pixel format to RGB — glTexImage2D() + shaders, no buffers.

    Video frames are obtained from FFMPEG, it shows great performance due to hardware acceleration... when there is only one video window.

    The piece of software is a "video wall" — multiple independent video windows on the same screen. Of course, multi-threading would be the preferred solution, but legacy holds for now, I can’t change it.

    So, 1 window with Full HD video consumes 2% CPU & 8-10% GPU regardless of the size of the window. But 7-10 similar windows, launched from the same executable at the same time consume almost all the CPU. My math says that 2 x 8 != 100...

    My best guesses are :

    • This is a ffmpeg decoder issue, hardware acceleration still is not magic, some hardware pipeline stalls
    • 7-8-9 independent OpenGL contexts cost a lot more than 1 cost x N
    • I’m not using PUBO or some other complex techniques to improve OpenGL rendering. It still explains nothing, but at least it is a guess

    The behavior is the same on Ubuntu, where decoding uses different codec (I mean that using GPU accelerated or CPU accelerated codecs makes no difference !), so, it makes more probable that I’m missing something about OpenGL... or not, because launching 6-7 Qt examples with dynamic textures shows normal growth of CPU usages — it is approximately a sum for the number of windows.

    Anyway, it becomes quite tricky for me to profile the case, so I hope someone could have been solving the similar problem before and could share his experience with me. I’d be appreciated for any ideas, how to deal with the described riddle.

    I can add any pieces of code if that helps.

  • Interact with ffmpeg from a .NET program - Write Input

    7 mai 2015, par Shimmy

    In reference to this question, as you can see I managed to run and receive data from the program.

    However I didn’t manage to submit data to it, for instance, while converting a file, pressing q immediately stop conversion and stops the program.
    I need my application to support stopping the process as well, and I think this should be done by passing this parameter to the ffmpeg app, since I want it to take care of all uncollected resource or whatever dust it would leave behind if I would just go and use process.Kill()

    Here is what I’ve tried :

    static int lineCount = 0;
    static bool flag;
    static void process_ErrorDataReceived(object sender, DataReceivedEventArgs e)
    {
     Console.WriteLine("Error ({1:m:s:fff}: {0})", lineCount++,
         DateTime.Now);

     if (e.Data != null && string.Equals(e.Data,"Press [q] to stop, [?] for help"))
       flag = true;

     if (flag)
     {
       flag = false;
       Console.WriteLine("Stopping ({0:m:s:fff})...", DateTime.Now);
       process.CancelErrorRead();
       process.CancelOutputRead();
       process.StandardInput.WriteLine("q");
     }  

     Console.WriteLine(e.Data);
     Console.WriteLine();
    }

    But it doesn’t do anything, seems that once the conversion has been requested, I have no control on it any more, I can only receive output from it. Running it as stand alone does allow me interaction of course.

    What am I missing here, is it a different trick in submitting the output or the code in previous answer is wrong, or I should have chosen a different approach ?

    For your attention, RedirectStandardInput is on.

    NOTE : as you can see in the answer of my previous question, ffmpeg interacts differently, I think the one who knows the answer will be (maybe I’m wrong) someone with experience in ffmpeg.