Recherche avancée

Médias (1)

Mot : - Tags -/book

Autres articles (2)

  • Keeping control of your media in your hands

    13 avril 2011, par

    The vocabulary used on this site and around MediaSPIP in general, aims to avoid reference to Web 2.0 and the companies that profit from media-sharing.
    While using MediaSPIP, you are invited to avoid using words like "Brand", "Cloud" and "Market".
    MediaSPIP is designed to facilitate the sharing of creative media online, while allowing authors to retain complete control of their work.
    MediaSPIP aims to be accessible to as many people as possible and development is based on expanding the (...)

  • Déploiements possibles

    31 janvier 2010, par

    Deux types de déploiements sont envisageable dépendant de deux aspects : La méthode d’installation envisagée (en standalone ou en ferme) ; Le nombre d’encodages journaliers et la fréquentation envisagés ;
    L’encodage de vidéos est un processus lourd consommant énormément de ressources système (CPU et RAM), il est nécessaire de prendre tout cela en considération. Ce système n’est donc possible que sur un ou plusieurs serveurs dédiés.
    Version mono serveur
    La version mono serveur consiste à n’utiliser qu’une (...)

Sur d’autres sites (2814)

  • Creating a live, updating video stream with ffmpeg

    15 avril 2020, par MattJHoughton

    I've set up a data stream from my webcam using the MediaSource api and set it to send data from my webcam in webm format, every 4 seconds. I then grab that on a node server, use createWriteStream to set up a pipe and start streaming !

    



    I'm stuck at converting the media from webm to a live m3u8. Below is the ffmpeg command I'm running (It's been through numerous iterations as I've tried things from the docs).

    



    const cmd = `ffmpeg
    -i ${filepath}
    -profile:v baseline
    -level 3.0
    -s 640x360 -start_number 0
    -hls_time 10
    -hls_list_size 0
    -hls_flags append_list
    -hls_playlist_type event
    -f hls ${directory}playlist.m3u8`

  const ls = exec(cmd.replace(/(\r\n|\n|\r)/gm," "), (err, stdout, stderr) => {
    if(err) {
      console.log(error);
    }

  })


    



    I can't remove the #EXT-X-ENDLIST at the end of the playlist, to keep the stream live for my web players, so when I hit play - the video plays the playlist in its current state and stops at the end.

    



    Thanks

    



    UPDATE

    



    This may be a quality/speed issue. When I reduced the quality down to ;

    



    const cmd = `ffmpeg
    -i ${filepath}
    -vf scale=w=640:h=360:force_original_aspect_ratio=decrease
    -profile:v main
    -crf 51
    -g 48 -keyint_min 48
    -sc_threshold 0
    -hls_time 4
    -hls_playlist_type event
    -hls_segment_filename ${directory}720p_%03d.ts
    ${directory}playlist.m3u8


    



    I was able to get a pixelated live video. However, it quickly crashed... Maybe this is not possible in Node/Web Browsers yet ?

    


  • nginx live adaptive bitrate streaming :- not able to switch quality manuallly ?

    15 juin 2021, par Ashad Nasim

    I am using Nginx for live adaptive bitrate streaming. My live streaming is working fine.
Also, the chunks are getting created and the master playlist is also getting created as you can see in this image.

    


    My config

    


    
        application live {
            live on; # Allows live input

            
            exec_push  /usr/bin/ffmpeg -i rtmp://localhost:1935/$app/$name
                    -force_key_frames "expr:gte(t,n_forced*3)" -c:v libx264 -vprofile baseline -vlevel 3.1 -s 640x360  -b:v 1200k  -strict -2   -c:a aac -ar 44100 -ac 2 -b:a 96k  -f flv rtmp://localhost/show/$name_hi
                -force_key_frames "expr:gte(t,n_forced*3)" -c:v libx264 -vprofile baseline -vlevel 3.1 -s 240x360  -b:v 1200k  -strict -2   -c:a aac -ar 44100 -ac 2 -b:a 96k  -f flv rtmp://localhost/show/$name_low;

                
        }





    


    This is my master playlist
enter image description here

    


    This is my each playlist m3u8 file
enter image description here

    


    But when I point the master playlist to the videojs (hlsjs) added it is showing the quality

    


      

    1. auto
    2. 


    3. undefinedp
    4. 


    


    But when I use some other test stream from online then it is showing me all available quality

    


    using my live stream generated using nginx ffmpeg
    


    


    enter image description here

    


    using other live stream
enter image description here

    


  • Live streaming webvtt subtitles with HLS protocol

    5 mai, par Victor Ruiz

    I need a tool to generate HLS subtitles in live mode. Specifically, I want to create an HTTP server that serves .m3u8 and .webvtt files which are continuously updated over time.
Such HLS stream could be consumed via HTTP requests by HLS JS/ffplay multimedia players.

    


    The .webvtt files will be generated by an automatic transcriber, so the program must update the .m3u8 playlist accordingly whenever a new subtitle is produced.

    


    I only want to stream subtitle channels—no audio. The video channel can simply display a black chroma background.

    


    I attempted to use FFmpeg with a Linux pipe as input for the streaming .webvtt subtitles, along with a video file for the video stream. The output .webvtt and .m3u8 files were written to a folder and served via an NGINX server. However, FFmpeg fails after it reads the initial content of the .webvtt input from the pipe. If I inject more content afterward, it gets skipped.

    


    How can I achieve HLS subtitle streaming in live mode ? Can FFmpeg be used for this purpose, or do I need a different tool ?