Recherche avancée

Médias (1)

Mot : - Tags -/remix

Autres articles (51)

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

  • De l’upload à la vidéo finale [version standalone]

    31 janvier 2010, par

    Le chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
    Upload et récupération d’informations de la vidéo source
    Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
    Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...)

  • Support audio et vidéo HTML5

    10 avril 2011

    MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
    Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
    Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
    Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)

Sur d’autres sites (5775)

  • nginx rtmp module fails to stream MP4 format

    23 avril 2019, par Keivan

    I have media server running on Nginx rtmp module + ffmpeg
    It is working 100% fine with FLV format but with MP4 it does not create .m3u8 file and stream chunks.
    here is nginx.conf file :

    worker_processes  auto;

    events {
       worker_connections  1024;
       multi_accept on;
    }

    rtmp {
     server {
       listen 1935;
       chunk_size 4000;

       application live {
           live on;
           record off;

           hls on;
       hls_path        /HLS/live;

           hls_keys on;
           hls_key_path       /HLS/keys;
           hls_key_url        https://fakeurl:8441/keys/;
       hls_fragments_per_key   10;

           hls_fragment 3s;
           hls_playlist_length 10s;
           deny play all;
       }
     }
    }

    http {
       include       mime.types;
       tcp_nopush on;
       directio 512;
       default_type  application/octet-stream;
       sendfile      off;

       server {
           listen       8441 ssl;
       server_name  fakeurl;

           ssl_certificate /home/ubuntu/Keys/server.crt;
           ssl_certificate_key /home/ubuntu/Keys/server.key;

           location /keys {
               root /HLS/;
           }

           location / {
               root   html;
               index  index.html index.htm;
           }

           location /live {

               # Disable cache
               add_header 'Cache-Control' 'no-cache';

               # CORS setup
               add_header 'Access-Control-Allow-Origin' '*' always;
               add_header 'Access-Control-Expose-Headers' 'Content-Length';

               # allow CORS preflight requests
               if ($request_method = 'OPTIONS') {
                   add_header 'Access-Control-Allow-Origin' '*';
                   add_header 'Access-Control-Max-Age' 1728000;
                   add_header 'Content-Type' 'text/plain charset=UTF-8';
                   add_header 'Content-Length' 0;
                   return 204;
               }

               types {
                   application/vnd.apple.mpegurl m3u8;
               }

               root /HLS/;
           }


           #error_page  404              /404.html;

           # redirect server error pages to the static page /50x.html
           #
           error_page   500 502 503 504  /50x.html;
           location = /50x.html {
               root   html;
           }
       }
    }

    and this is FFmpeg command for creating converting my RTP stream to MP4 and stream it to RTMP server :

    ffmpeg -protocol_whitelist 'file,udp,rtp' -i input.sdp -c:v libx264 -pix_fmt yuv420p -profile:v baseline -level 3.0 -g 30 -r 30 -c:a aac -b:v 400k -preset ultrafast -tune zerolatency -movflags frag_keyframe -f mp4 rtmp://0.0.0.0:1935/live/stream1

    I can confirm ffmpeg works fine and it is stable with the input stream, if I change output format to flv, rtmp server creates stream1.m3u8 file and everything is fine. But with mp4, mov or m4v formats nginx does not create anything.

  • rtmp module stream do not , how to solve that ?

    24 avril 2019, par Duxo

    I have some problem with configuring nginx+rtk-©module.
    I need to stream a video from IP camera to web-site. I use MPEG-DASH.My server configuration is lower. Files .m4a, .m4v are creating and I also have stream.mpd file. But in browser it doen’t work, inifinity loading. some logs from dash.js

    Time: 0
    dash.all.js:2:10794
    Array(6) [ {…}, {…}, {…}, {…}, {…}, {…} ]
    dash.all.js:2:10818
    Index for time 0 is -1
    dash.all.js:3:8722
    Checking for stream end...
    dash.all.js:3:8722
    Live never ends! (TODO)
    dash.all.js:3:8722
    Stream finished? false
    dash.all.js:3:8722
    Got a request.
    dash.all.js:3:8722
    null
    dash.all.js:3:8722
    BufferController video setState to:READY
    dash.all.js:3:8722
    Working time is video time: 0
    dash.all.js:3:8722
    BufferController.validate() video | state: READY
    dash.all.js:3:8722
    video Playback rate: 0
    dash.all.js:3:8722
    video Working time: 0
    dash.all.js:3:8722
    video Video time: 0
    dash.all.js:3:8722
    Current video buffer length: 0
    dash.all.js:3:8722
    BufferController video setState to:VALIDATING
    dash.all.js:3:8722
    ABR enabled? (true)
    dash.all.js:3:8722
    Check ABR rules.
    dash.all.js:3:8722
    Checking download ratio rule...
    dash.all.js:3:8722
    Total time: 0.009s
    dash.all.js:3:8722
    Download time: 0.009s
    dash.all.js:3:8722
    The ratios are NaN, bailing.
    dash.all.js:3:8722
    Checking insufficient buffer rule...
    dash.all.js:3:8722
    Not enough information for rule.
    dash.all.js:3:8722
    Array [ {…}, {…} ]
    dash.all.js:3:8722
    New quality of 0
    dash.all.js:3:8722
    video Playback quality: 0
    dash.all.js:3:8722
    Populate video buffers.
    dash.all.js:3:8722
    Quality didn't change.
    dash.all.js:3:8722
    Loading the video fragment for time: 0
    dash.all.js:3:8722
    Getting the request for time: 0
    dash.all.js:3:8722
    Got segments.
    dash.all.js:3:8722
    Array(6) [ {…}, {…}, {…}, {…}, {…}, {…} ]
    dash.all.js:3:8722
    Got a list of segments, so dig deeper.
    dash.all.js:3:8722
    Couldn't figure out a time!
    dash.all.js:2:10751
    Time: 0
    dash.all.js:2:10794
    Array(6) [ {…}, {…}, {…}, {…}, {…}, {…} ]
    dash.all.js:2:10818
    Index for time 0 is -1
    dash.all.js:3:8722
    Checking for stream end...
    dash.all.js:3:8722
    Live never ends! (TODO)
    dash.all.js:3:8722
    Stream finished? false
    dash.all.js:3:8722
    Got a request.
    dash.all.js:3:8722
    null
    dash.all.js:3:8722
    BufferController video setState to:READY
    dash.all.js:3:8722
    Working time is video time: 0
    dash.all.js:3:8722
    BufferController.validate() video | state: READY
    dash.all.js:3:8722
    video Playback rate: 0
    dash.all.js:3:8722
    video Working time: 0
    dash.all.js:3:8722
    video Video time: 0
    dash.all.js:3:8722
    Current video buffer length: 0
    dash.all.js:3:8722
    BufferController video setState to:VALIDATING
    dash.all.js:3:8722
    ABR enabled? (true)
    dash.all.js:3:8722
    Check ABR rules.
    dash.all.js:3:8722
    Checking download ratio rule...
    dash.all.js:3:8722
    Total time: 0.009s
    dash.all.js:3:8722
    Download time: 0.009s
    dash.all.js:3:8722
    The ratios are NaN, bailing.
    user some_user;
    worker_processes  1;

    events {
       worker_connections  1024;
    }

    rtmp {
       live on;
       dash on;
       server {
           listen 1935;
           application cams {
           dash_path /cams;
       }
           exec_static ffmpeg -i
    rtsp://admin:admin@192.168.0.51/1/Streaming/Channels/1/ -c:v libx264 -q:v 31 -an -profile:v baseline -ar 44100
    -f flv rtmp://0.0.0.0/cams/stream;

       }
    }

    http {
       include       mime.types;
       default_type  application/octet-stream;

       sendfile        on;

       #keepalive_timeout  0;
       keepalive_timeout  65;


       server {
           listen       80;
           server_name  localhost;

           location / {
               root /;
           }

           error_page   500 502 503 504  /50x.html;
           location = /50x.html {
               root   html;
           }

    }

    Can someone explain me why stream is not working and how to issue that ?thanks

  • FindOGG.cmake module added

    7 avril 2019, par Vitaliy Kirsanov
    FindOGG.cmake module added
    
    • [DH] CMakeLists.txt
    • [DH] cmake/FindOGG.cmake
    • [DH] flac-config.cmake.in
    • [DH] src/CMakeLists.txt
    • [DH] src/libFLAC/CMakeLists.txt