Recherche avancée

Médias (29)

Mot : - Tags -/Musique

Autres articles (89)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

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

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

Sur d’autres sites (11796)

  • nginx.conf with RTMP module : Add watermark on MULTIPLE video streams withh ffmpeg

    16 mai 2023, par Frederick Eyland

    I need to add a watermark in nginx.conf on all my output streams. This is what I found from the documentation from ffmpeg but it is not working.

    



    exec ffmpeg -i rtmp://localhost/$app/$name -i /mnt/pictures/flowtech.png -filter_complex "overlay=10:10,split=5[out1][out2][out3][out4][out5]"
-map '[out1]' -map 0:a -c:v libx264 -c:a aac -ac 1 -strict -2 -b:v 256k -b:a 32k -vf "scale=480:trunc(ow/a/2)*2" -tune zerolatency -preset veryfast -crf 23 -f flv rtmp://localhost/hlsall/$name_low
-map '[out2]' -map 0:a -c:v libx264 -c:a aac -ac 1 -strict -2 -b:v 768k -b:a 96k -vf "scale=720:trunc(ow/a/2)*2" -tune zerolatency -preset veryfast -crf 23 -f flv rtmp://localhost/hlsall/$name_mid
-map '[out3]' -map 0:a -c:v libx264 -c:a aac -ac 1 -strict -2 -b:v 1024k -b:a 128k -vf "scale=960:trunc(ow/a/2)*2" -tune zerolatency -preset veryfast -crf 23 -f flv rtmp://localhost/hlsall/$name_high
-map '[out4]' -map 0:a -c:v libx264 -c:a aac -ac 1 -strict -2 -b:v 1920k -b:a 128k -vf "scale=1280:trunc(ow/a/2)*2" -tune zerolatency -preset veryfast -crf 23 -f flv rtmp://localhost/hlsall/$name_hd720
-map '[out5]' -map 0:a -c copy -f flv rtmp://localhost/hlsall/$name_src 1>>/tmp/rtmp_log;


    


  • Processing Camera stream in Opencv, pushing it over RTMP (NGINX RTMP Module) using FFMPEG

    12 août 2019, par Asymptote

    Output video :
    https://youtu.be/VxfoBQjoY6E

    Explanation :

    I want to : Process camera stream in Opencv and push it over to RTMP server. I already have NGINX (RTMP module) set up and I have tested streaming videos with both RTMP (Flash Player) and HLS.

    I am reading the frames in a loop and using ’subprocess’ in python to execute ffmpeg command. Here’s the command I am using :

    command = [ffmpeg,
       '-y',
       '-f', 'rawvideo',
       '-vcodec','rawvideo',
       '-pix_fmt', 'bgr24',
       '-s', dimension,
       '-i', '-',
       '-c:v', 'libx264',
       '-pix_fmt', 'yuv420p',
       '-preset', 'ultrafast',
       '-f', 'flv',
       'rtmp://10.10.10.80/live/mystream']


    import subprocess as sp
    ...
    proc = sp.Popen(command, stdin=sp.PIPE,shell=False)
    ...
    proc.stdin.write(frame.tostring()) #frame is read using opencv

    Problem :

    I can see the stream fine but it freezes and resumes frequently. Here’s the output of FFMPEG terminal log :

    Stream mapping:
     Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (libx264))
    frame=  117 fps= 16 q=22.0 size=     344kB time=00:00:04.04 bitrate= 697.8kbits/s speed=0.543x  

    It mentions speed at the end. I believe it should be close to 1x. I am not sure how to achieve that.

    And I am on the same network as server, I can post my python code if required. Need some ffmpeg guru to give me some advise.

    EDIT

    My input fps is actually 3.
    With '-use_wallclock_as_timestamps', '1' I can see in the log that speed is close to 1x.
    But HLS is not streaming live there’s 2 min delay, it halts and . Chris’s advise partially worked. I am not sure where exactly is the problem, I am starting to believe it has something to do with nginx-rtmp module.

    Here’s the final output, on left it’s flash and on right it’s hls. I am showing the ffmpeg options at the end.
    https://youtu.be/jsm6XNFOUE4

  • ffmpeg can't work via nginx + nginx-rtmp-module

    2 mai 2018, par Ubunkun

    nginx version : nginx/1.12.2
    ffmpeg version 3.4.2

    I’m trying to below.
    -> nginx -> ffmpeg multi encode -> HLS publish

    nginx configration is below (nginx.conf)

    worker_processes  1;

    events {
       worker_connections  1024;
    }

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

       sendfile        on;

       keepalive_timeout  65;

       server {
           listen       80;
           server_name  localhost;

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

       location ~ \.php$ {
               root           html;
               fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock;
               fastcgi_index  index.php;
               fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
               include        fastcgi_params;
           }

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

    rtmp {
       server {
           listen 1935;
           application hls {
               live on;
               exec /usr/local/sbin/ffscript.sh $name;
           }

           application hls2 {
               live on;
               hls on;
               hls_path /usr/local/nginx/html;
               hls_nested on;
               hls_fragment 9s;
               hls_variant _low  BANDWIDTH=300000;
               hls_variant _mid  BANDWIDTH=700000;
               hls_variant _high BANDWIDTH=1200000;
           }
       }
    }

    (/usr/local/sbin/ffscript.sh)

    export LIBVA_DRIVERS_PATH=/opt/intel/mediasdk/lib64
    export LIBVA_DRIVER_NAME=iHD
    export MFX_HOME=/opt/intel/mediasdk
    export PKG_CONFIG_PATH=/opt/intel/opencl:

    /usr/local/bin/ffmpeg -i rtmp://localhost/hls/${1} -vcodec h264_qsv -init_hw
    _device qsv:hw -b:v 128K -c:a aac -ar 44100 -ac 2 -r 30 -f flv rtmp://localhost/
    hls2/${1}_low -b:v 512k -c:a aac -ar 44100 -ac 2 -r 30 -f flv rtmp://localhost/h
    ls2/${1}_mid -b:v 1024k -c:a aac -ar 44100 -ac 2 -r 30 -f flv rtmp://localhost/h
    ls2/${1}_high

    But it can’t work. The access.log appears just one line.

    192.168.1.121 [02/May/2018:21:52:39 +0900] PUBLISH "hls" "test2" "" - 580840 753 "" "FMLE/3.0 (compatible; Lavf57.55" (21s)

    There is no "hls2" PUBLISH on access log.

    When I tried to run the ffmpeg command line while nginx is running, it was succeed.

    Why ffmpeg called by nginx doesn’t work ? If you have any solution, let me know.

    Bests,