Recherche avancée

Médias (0)

Mot : - Tags -/xml-rpc

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

Autres articles (65)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
    The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
    For older browsers the Flowplayer flash fallback is used.
    MediaSPIP allows for media playback on major mobile platforms with the above (...)

Sur d’autres sites (10258)

  • How do I configure Janus to accept H.264 video with periodic intra refresh enabled ?

    31 août 2021, par CompuCat

    I have a Janus server set up to accept H.264 video over RTP and stream it to clients over WebRTC. This is for a low-latency application, so I would like to enable libx264's periodic intra refresh option, which minimizes "keyframe pumping" and avoids bitrate spikes on keyframes. (When streaming at low latency, there is not much wiggle room in the playback buffer, and bitrate spikes tend to cause playback stutters or dropouts.)

    


    If I enable periodic intra refresh, however, a video client cannot play back the stream unless it is listening form the very beginning of the stream. In other words, a client cannot start viewing video mid-stream. I suspect this is because WebRTC is waiting for a full keyframe to start video...which never comes, as periodic intra refresh replaces keyframes.

    


    The stream is being sent from ffmpeg using these parameters :

    


    ffmpeg -i  -an -s 426x240 -c:v libx264 -profile:v baseline -preset superfast -tune zerolatency -pix_fmt yuv420p -minrate 1000 -maxrate 1000 -bufsize 100 -crf 20 -intra-refresh 1 -f rtp rtp://:<port>?pkt_size=1300</port>

    &#xA;

    yuv420p is being set to force a color conversion, since my input video is 4:2:2 encoded, and 4:2:2 H.264 over WebRTC causes a segfault on Chrome. ?pkg_size=1300 is being applied to avoid packets exceeding the MTU per this StackOverflow thread.

    &#xA;

    What can I do to allow clients to start viewing video mid-stream without disabling periodic intra refresh ?

    &#xA;

  • ffmpeg encoding slowly, not using much CPU

    30 juin 2012, par eblume

    I am using the latest (as of this post) version of ffmpeg on OS X as installed via homebrew (an OS X 3rd-party package manager with a good reputation.) I am trying to encode video that was recorded using Fraps on another machine to reduce the file size while preserving as much quality as is reasonably possible.

    Fraps records video in a .avi container and I believe does absolutely no encoding - instead, it's just a stream of image files. The resulting files are often enormous, obviously. I want to set up a cron job that finds recorded files and encodes them to H.264 with some sort of audio codec (I'm currently using libmp3lame but will revisit it when I get video working right - will probably switch to a lossless audio codec.)

    My problem is that while encoding seems to be working exactly how I want it - very few compression artifacts but about 5% of the original size - the encoding is taking forever. I'm averaging about 1.5 encoded frames per second, and these are 2-3 hours of 30FPS video. On top of that, my CPU is never fully utilized. On my dual-core CPU I am getting a median usage of about 40% of one core, with occasional peaks of 140% to 160%.

    So the question is : How can I speed up encoding ? I'm sure there's got to be some options I'm missing out on.

    Here's the command I use :

    ffmpeg -i INFILE -c copy -c:a libmp3lame -ar 44100 -q:a 5 \
                 -threads 0 -c:v libx264 OUTFILE

    Thanks !

    EDIT : Actually, it looks like this command isn't compressing that well either - I'll do some digging but it seems that this might be being too generous with the bitrate for H.264. At first I was getting around 2Mb/s but it's gone up to almost 20Mb/s - looks like I'm basically not compressing at all.

  • Cancelling ffpeg launched as a C# process

    22 avril 2016, par DarwinIcesurfer

    I’m launching ffmpeg in a c# process to encode a video. In a command window, ffmpeg can be interrupted by pressing CTRL-C. I have tried to achieve the same effect by closing the process, however ffmpeg does not appear to close (it is still visible in task manager and it does not release the handle on the file it was encoding)

    How can ffmpeg be interrupted programatically ?

    static Process proc;
    static BackgroundWorker bw;    

    public void EncodeVideoWithProgress(string filename, string arguments, BackgroundWorker worker, DoWorkEventArgs e)
    {
       proc = new Process();

       // assign the backgroud worker to a class member variable so all function within the class will have access
       bw = worker;

       proc.StartInfo.FileName = "ffmpeg";
       proc.StartInfo.Arguments = "-i " + " \"" + filename + "\" " + arguments;

       proc.StartInfo.UseShellExecute = false;
       proc.EnableRaisingEvents = true;
       proc.StartInfo.RedirectStandardError = true;
       proc.StartInfo.RedirectStandardOutput = false;
       proc.StartInfo.CreateNoWindow = true;

       proc.ErrorDataReceived += new DataReceivedEventHandler(NetErrorDataHandler);

       proc.Start();
       proc.BeginErrorReadLine();

       proc.WaitForExit();
    }

    private static void NetErrorDataHandler(object sendingProcess,
              DataReceivedEventArgs errLine)
    {
       if (bw.CancellationPending)
       {
           proc.CloseMainWindow();
           proc.Close();  
       }
       else
       {
        // do other tasks
       }
    }