Recherche avancée

Médias (0)

Mot : - Tags -/upload

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

Autres articles (52)

  • Des sites réalisés avec MediaSPIP

    2 mai 2011, par

    Cette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
    Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page.

  • Support de tous types de médias

    10 avril 2011

    Contrairement à beaucoup de logiciels et autres plate-formes modernes de partage de documents, MediaSPIP a l’ambition de gérer un maximum de formats de documents différents qu’ils soient de type : images (png, gif, jpg, bmp et autres...) ; audio (MP3, Ogg, Wav et autres...) ; vidéo (Avi, MP4, Ogv, mpg, mov, wmv et autres...) ; contenu textuel, code ou autres (open office, microsoft office (tableur, présentation), web (html, css), LaTeX, Google Earth) (...)

  • Ecrire une actualité

    21 juin 2013, par

    Présentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
    Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
    Vous pouvez personnaliser le formulaire de création d’une actualité.
    Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)

Sur d’autres sites (7873)

  • ffmpeg rtp-stream with gsm-codec

    15 octobre 2020, par Birgit

    I want to use ffmpeg for encoding and decoding gsm. I built ffmpeg with the --enable-libgsm option.

    


    I can now use the ffmpeg-command-line-tool to read gsm-encoded files, convert files to gsm, and also receive a gsm-encoded rtp stream.
So therefore I think the gsm-encoder and gsm-decoder are working properly.

    


    But for some reason I am not able to send and gsm-encoded rtp-stream.

    


    I tried the following comands :

    


    ffmpeg -re -i test.wav -c:a libgsm -f rtp rtp://127.0.0.1:5000

    


    ffmpeg -re -i test.wav -c:a gsm -f rtp rtp://127.0.0.1:5000

    


    I receive the error : Unsupported codec gsm. Could not write header for output file.

    


    I tried to use gdb to see what's going on. I think the problem is that in the file libavformat/rtpenc.c:49 gsm is not under the supported codecs. Does that mean it is not possible to use ffmpeg to create a gsm-encoded rtp-stream ? Is there a workaround, to overcome this issue ?

    


    I would appreciate any help and hints what I could try. :)

    


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

    


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