Recherche avancée

Médias (1)

Mot : - Tags -/sintel

Autres articles (40)

  • Librairies et logiciels spécifiques aux médias

    10 décembre 2010, par

    Pour un fonctionnement correct et optimal, plusieurs choses sont à prendre en considération.
    Il est important, après avoir installé apache2, mysql et php5, d’installer d’autres logiciels nécessaires dont les installations sont décrites dans les liens afférants. Un ensemble de librairies multimedias (x264, libtheora, libvpx) utilisées pour l’encodage et le décodage des vidéos et sons afin de supporter le plus grand nombre de fichiers possibles. Cf. : ce tutoriel ; FFMpeg avec le maximum de décodeurs et (...)

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

  • Encoding and processing into web-friendly formats

    13 avril 2011, par

    MediaSPIP automatically converts uploaded files to internet-compatible formats.
    Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
    Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
    Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
    All uploaded files are stored online in their original format, so you can (...)

Sur d’autres sites (5991)

  • FFMPEG when live streaming sends a message and exits after some frames were sent

    30 octobre 2020, par jstuardo

    when doing an streaming with FFMPEG all works perfectly until I get these messages and then, ffmpeg.exe exits :

    


    av_interleaved_write_frame(): Unknown error

frame= 1224 fps=3.4 q=13.0 size=    2758kB time=00:01:21.94 bitrate= 275.8kbits/s speed=0.226x    

av_interleaved_write_frame(): Unknown error

[flv @ 000001e310e8a1c0] Failed to update header with correct duration.

[flv @ 000001e310e8a1c0] Failed to update header with correct filesize.

Error writing trailer of rtmp://example.com/s/2b32abdc-130c-43e5-997e-079e69d1fd7f: Error number -10053 occurred

frame= 1224 fps=3.4 q=13.0 Lsize=    2758kB time=00:01:21.98 bitrate= 275.6kbits/s speed=0.226x    

video:2481kB audio:221kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 2.084671%

[libx264 @ 000001e310ad6080] frame I:41    Avg QP:10.29  size: 57664

[libx264 @ 000001e310ad6080] frame P:1183  Avg QP:13.52  size:   148

[libx264 @ 000001e310ad6080] mb I  I16..4: 100.0%  0.0%  0.0%

[libx264 @ 000001e310ad6080] mb P  I16..4:  0.1%  0.0%  0.0%  P16..4:  0.2%  0.0%  0.0%  0.0%  0.0%    skip:99.7%

[libx264 @ 000001e310ad6080] coded y,uvDC,uvAC intra: 10.9% 7.1% 5.4% inter: 0.0% 0.1% 0.0%

[libx264 @ 000001e310ad6080] i16 v,h,dc,p: 84%  6%  6%  4%

[libx264 @ 000001e310ad6080] i8c dc,h,v,p: 91%  6%  3%  1%

[libx264 @ 000001e310ad6080] kb/s:248.98

[aac @ 000001e310a46d40] Qavg: 108.454

Conversion failed!


    


    Normally, the messages I received are similar to this :

    


    frame= 1196 fps=3.4 q=13.0 size=    2692kB time=00:01:20.08 bitrate= 275.4kbits/s speed=0.227x    


    


    Which are the expected messages. Sometimes, I received this message, but this does not cause ffmpeg.exe to exit :

    


    Input #0, matroska,webm, from 'pipe:':

  Metadata:

    encoder         : Chrome

  Duration: N/A, start: 0.000000, bitrate: N/A

    Stream #0:0(eng): Audio: opus, 48000 Hz, mono, fltp (default)

    Stream #0:1(eng): Video: h264 (Constrained Baseline), yuv420p(progressive), 1920x1080, SAR 1:1 DAR 16:9, 30.30 fps, 14.99 tbr, 1k tbn, 60 tbc (default)


    


    What may be happening ? maybe it is a problem of the RTMP server ? or something is wrong with FFMPEG ?

    


    This version of FFMPEG.EXE is for windows. The programming language is C# from where I am launching FFMPEG.EXE process.

    


    As I told, this happens after several frames sent to the server. Only once, this problem occured after a few frames sent. That is why I suspect that the RTMP server is the problem.

    


    EDIT : This is the command :

    


    FFMPEG -i - -c:v libx264 -preset ultrafast -tune zerolatency -max_muxing_queue_size 1000 -bufsize 5000 -r 15 -g 30 -keyint_min 30 -x264opts keyint=30 -crf 25 -pix_fmt yuv420p -profile:v baseline -level 3 -c:a aac -b:a 22k -ar 22050 -f flv rtmp://rtmp.xxxx.yyyy


    


    Regards
Jaime

    


  • How to restream multicast stream with ffmpeg

    26 octobre 2020, par verb

    I am new to ffmpeg and need to restream multicast and scale it. Tried different parameters and i have managed to restream and scale but it always appear some pat,pmt or pcr error and som interuptions in the stream appear.The input stream is cbr 14Mbit and i try to set the bitrate as 6Mbit please check my config and if you notice something wrong let me know :

    


    


    ffmpeg -re -i "udp ://@238.252.250.9:5000 ?overrun_nonfatal=1&fifo_size=1000000&bitrate=70000000&pkt_size=188" -map 0:0 -map 0:2 -b:v 3000k -minrate 3000k -maxrate 4000k -bufsize 8000K -pcr_period 20 -flush_packets 0 -tune zerolatency -preset ultrafast -threads 2 -c:a copy -qmax 12 -f mpegts -muxrate 6M "udp ://@239.253.251.13:5505 ?pkt_size=188&overrun_nonfatal=1&localaddr=10.253.251.66&bitrate=6000000"

    


    


    here is the input stream :

    


    Input #0, mpegts, from 'udp://@238.252.250.9:5000':
  Duration: N/A, start: 46612.831967, bitrate: N/A
  Program 2002 
    Metadata:
      service_name    : RT Doc HD
      service_provider: GLOBECAST
    Stream #0:0[0x7e5]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709, top first), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 50 tbr, 90k tbn, 50 tbc
    Stream #0:1[0x7e6](eng): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 192 kb/s
    Stream #0:2[0x7e7](eng): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, fltp, 192 kb/s


    


    I don't understand all parameters especially the parameters concerning input/output udp stream so please help me to solve the correct command.

    


  • how to send the input data to FFMPEG from a C# program

    18 octobre 2020, par jstuardo

    I need to send a binary stream to FFMPEG so that it sends to an RTMP server.

    


    I did it in a nodejs script using socket.io library and in Linux. It works perfectly.

    


    I need to do the same, but in a Windows Forms application using C#.

    


    This is how I run the ffmpeg.exe application :

    


            _currentProcess = new Process();
        _currentProcess.StartInfo.FileName = _ffmpegExe;
        _currentProcess.StartInfo.Arguments = BuildOptions(framesPerSecond, audioBitRate, audioEncoding, rtmpServer);
        _currentProcess.StartInfo.UseShellExecute = false;
        _currentProcess.StartInfo.CreateNoWindow = true;
        _currentProcess.StartInfo.RedirectStandardInput = true;
        _currentProcess.StartInfo.RedirectStandardError = true;
        _currentProcess.ErrorDataReceived += CurrentProcess_ErrorDataReceived;
        _currentProcess.Start();
        _currentProcess.BeginErrorReadLine();


    


    BuildOptions method is defined this way :

    


        private string BuildOptions(int framesPerSecond, int audioBitRate, string audioEncoding, string rtmpServer)
    {
        string options;
        if (framesPerSecond == 1)
        {
            options = $"-i - -c:v libx264 -preset ultrafast -tune zerolatency -r 1 -g 2 -keyint_min 2 -x264opts keyint=2 -crf 25 -pix_fmt yuv420p -profile:v baseline -level 3 -c:a aac -b:a {audioEncoding} -ar {audioBitRate}-f flv {rtmpServer}";
        }
        else if (framesPerSecond == 15)
        {
            options = $"-i - -c:v libx264 -preset ultrafast -tune zerolatency max_muxing_queue_size 1000 -bufsize 5000 -r 15 -g 30 -keyint_min 30 -x264opts keyint=30 -crf 25 -pix_fmt yuv420p -profile:v baseline -level 3 -c:a aac -b:a {audioEncoding} -ar {audioBitRate} -f flv {rtmpServer}";
        }
        else
        {
            options = $"-i - -c:v libx264 -preset ultrafast -tune zerolatency -c:a aac -ar {audioBitRate} -b:a {audioEncoding} -bufsize 5000 -f flv {rtmpServer}";
        }

        return options;
    }


    


    I am sending the data to the standard input this way :

    


        public void EncodeAndSend(byte[] data)
    {
        if (_currentProcess != null)
        {
            var streamWriter = _currentProcess.StandardInput;
            streamWriter.Write(Encoding.GetEncoding("ISO-8859-1").GetChars(data));
        }
    }


    


    And finally, this method is for receiving the standard error which receives the result from ffmpeg.exe :

    


        private void CurrentProcess_ErrorDataReceived(object sender, DataReceivedEventArgs e)
    {
        Console.WriteLine(e.Data);
    }


    


    When I run the application, this is shown in the console :

    


    ffmpeg version 4.3.1-2020-10-01-essentials_build-www.gyan.dev Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 10.2.0 (Rev3, Built by MSYS2 project)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-lzma --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-sdl2 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-libass --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libgme --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libtheora --enable-libvo-amrwbenc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-librubberband
  libavutil      56. 51.100 / 56. 51.100
  libavcodec     58. 91.100 / 58. 91.100
  libavformat    58. 45.100 / 58. 45.100
  libavdevice    58. 10.100 / 58. 10.100
  libavfilter     7. 85.100 /  7. 85.100
  libswscale      5.  7.100 /  5.  7.100
  libswresample   3.  7.100 /  3.  7.100
  libpostproc    55.  7.100 / 55.  7.100
pipe:: Invalid data found when processing input


    


    If I change the EncodeAndSend method to be :

    


        public void EncodeAndSend(byte[] data)
    {
        if (_currentProcess != null)
        {
            var streamWriter = _currentProcess.StandardInput;
            streamWriter.Write(data);
        }
    }


    


    pipe:: Invalid data found when processing input error is not produced, but no more outputs are shown so it seems it is not working.

    


    What is wrong with this ? how can I send the data to the FFMPEG process ?

    


    Finally, I tell you that the binary stream comes from the camera by mean of MediaRecorder in a web page (the same used for my program in nodejs server, so that it is not the issue here)