Recherche avancée

Médias (1)

Mot : - Tags -/école

Autres articles (48)

  • 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

  • Personnaliser les catégories

    21 juin 2013, par

    Formulaire de création d’une catégorie
    Pour ceux qui connaissent bien SPIP, une catégorie peut être assimilée à une rubrique.
    Dans le cas d’un document de type catégorie, les champs proposés par défaut sont : Texte
    On peut modifier ce formulaire dans la partie :
    Administration > Configuration des masques de formulaire.
    Dans le cas d’un document de type média, les champs non affichés par défaut sont : Descriptif rapide
    Par ailleurs, c’est dans cette partie configuration qu’on peut indiquer le (...)

  • 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

Sur d’autres sites (8391)

  • How do I set ffmpeg pipe output ?

    5 décembre 2019, par mr_blond

    I need to read ffmpeg output as pipe.
    There is a code example :

       public static void PipeTest()
       {
           Process proc = new Process();
           proc.StartInfo.FileName = Path.Combine(WorkingFolder, "ffmpeg");
           proc.StartInfo.Arguments = String.Format("$ ffmpeg -i input.mp3 pipe:1");
           proc.StartInfo.UseShellExecute = false;
           proc.StartInfo.RedirectStandardInput = true;
           proc.StartInfo.RedirectStandardOutput = true;
           proc.Start();

           FileStream baseStream = proc.StandardOutput.BaseStream as FileStream;
           byte[] audioData;
           int lastRead = 0;

           using (MemoryStream ms = new MemoryStream())
           {
               byte[] buffer = new byte[5000];
               do
               {
                   lastRead = baseStream.Read(buffer, 0, buffer.Length);
                   ms.Write(buffer, 0, lastRead);
               } while (lastRead > 0);

               audioData = ms.ToArray();
           }

           using(FileStream s = new FileStream(Path.Combine(WorkingFolder, "pipe_output_01.mp3"), FileMode.Create))
           {
               s.Write(audioData, 0, audioData.Length);
           }
       }

    It’s log from ffmpeg, the first file is readed :

    Input #0, mp3, from ’norm.mp3’ :
    Metadata :
    encoder : Lavf58.17.103
    Duration : 00:01:36.22, start : 0.023021, bitrate : 128 kb/s
    Stream #0:0 : Audio : mp3, 48000 Hz, stereo, fltp, 128 kb/s
    Metadata :
    encoder : Lavc58.27

    Then pipe :

    [NULL @ 0x7fd58a001e00] Unable to find a suitable output format for ’$’
    $ : Invalid argument

    If I run "-i input.mp3 pipe:1", the log is :

    Unable to find a suitable output format for ’pipe:1’ pipe:1 : Invalid
    argument

    How do I set correct output ? And how should ffmpeg know what the output format is at all ?

  • Stream real-time video flux in HTML video tag

    26 septembre 2018, par c.censier

    I want to stream a real-time video flux that come from udp into a HTML video tag.
    I made some research but I got a lot of informations and I struggle to have a clear overview of what I can do and what I can’t.

    The video flux use H.264 and AAC codecs, MP4 container and has a 3840x2160 (4K) resolution. I’d like to play it on Chrome (latest version).

    As I understand from now, HTML video tag can natively read H.264/AAC videos. I made it work with the video direclty on my server (I’m using Meteor JS + React).

    I learnt to use FFmpeg to stream an udp flux read by VLC player, and then I used FFserver (I know it’s deprecated) to create an HTTP flux also read by VLC but not by the HTML video tag.

    So... my question is : is HTML video can natively read video stream from HTTP ?

    I’ve seen a lot of discussions about HLS and DASH, but I didn’t understand if (and why) they’re mandatory.

    I read a post about someone creating a HLS m3u8 using only FFmpeg, is it a viable solution ?

    FFserver configuration

    HTTPPort                        8090
    HTTPBindAddress                 0.0.0.0
    MaxHTTPConnections              20
    MaxClients                      10
    MaxBandwidth                    100000

    <feed>
     File                          /tmp/feed.ffm
     FileMaxSize                   1g
     ACL allow                     127.0.0.1
    </feed>

    <stream>
     Feed                          feed.ffm
     Format                        mpeg
     AudioCodec                    aac
     AudioBitRate                  256
     AudioChannels                 1
     VideoCodec                    libx264
     VideoBitRate                  10000      // Total random here
     VideoBitRateRange             5000-15000 // And here...
     VideoFrameRate                30
     VideoQMin                     1
     VideoQMax                     50
     VideoSize                     3840x2160
     VideoBufferSize               20000      // Not sure either
     AVOptionVideo                 flags +global_header
    </stream>

    I had to specify QMin and QMax to avoid error message but I don’t really understand what is it.

    FFmpeg command line

    ffmpeg -re -i bbb_sunflower_2160p_30fps_normal.mp4 -strict -2 -r 30 -vcodec libx264 http://localhost:8090/feed.ffm

    This work with VLC. I’m working with a file on my computer before moving to an udp stream.

  • H264/MP4 live stream from ffmpeg gets delayed

    1er octobre 2018, par paunescuionica

    I’m transcoding a MJPEG stream to H264/MP4 using ffmpeg. As client I’m using VLC.

    I use this command line :

    ffmpeg \
     -use_wallclock_as_timestamps 1 \
     -f mjpeg \
     -i "http://127.0.0.1:4100/getMjpegStream=L" \
     -f mp4 \
     -vcodec libx264 \
     -movflags frag_keyframe+empty_moov+faststart \
     -tune zerolatency \
     -crf 30 \
     -preset ultrafast \
     -g 1 \
     -reset_timestamps 1 \
     -vsync 1 \
     -flags global_header \
     -r 15 \
     -listen 1 \
     -fflags flush_packets \
     -avioflags direct \
     -flush_packets 1 \
     *output_URL*

    If I set the output_URL to this :

    udp://127.0.0.1:5000?pkt_size=1316

    it works just fine. I start ffmpeg, then after some time I start VLC with this URL udp://@127.0.0.1:5000, and it plays (almost) real time. The delay is 1-2 seconds, which is acceptable. And this delay is constant, it does not depend on when I start VLC. I can stop and reopen VLC and it keeps going realtime.

    But I need this stream to also be viewed in browser (in a HTML5 video), so I normally use this for output_URL :

    http://127.0.0.1:5000

    In VLC I use this URL http://127.0.0.1:5000 and it also works fine, but only if I start VLC immediately after I start ffmpeg. If there is a significant delay between the start of ffmpeg and the start of VLC, then that delay will be noticeable in the playback. Let’s say that I start ffmpeg at time T then after 10 seconds (at T+10) I start VLC. I have this behavior in VLC :

    • It starts, and it displays the frame at time T and then the stream freezes
    • After 10 seconds, the streaming resumes in VLC and it starts playing, but the image is 10 second behind ‘realtime’
    • This delays is constant, it does not recover from it

    Is there a way to solve this ?

    • Instruct ffmpeg to start transcoding only when the client connects ?
    • Instruct ffmpeg to not buffer transcoded stream until the client connects ? (with current command line, it clearly buffers because when VLC starts at T+10, the first frame displayed is from time T) ?

    Thank you !