Recherche avancée

Médias (91)

Autres articles (99)

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

  • Emballe médias : à quoi cela sert ?

    4 février 2011, par

    Ce plugin vise à gérer des sites de mise en ligne de documents de tous types.
    Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ;

  • Ajouter notes et légendes aux images

    7 février 2011, par

    Pour pouvoir ajouter notes et légendes aux images, la première étape est d’installer le plugin "Légendes".
    Une fois le plugin activé, vous pouvez le configurer dans l’espace de configuration afin de modifier les droits de création / modification et de suppression des notes. Par défaut seuls les administrateurs du site peuvent ajouter des notes aux images.
    Modification lors de l’ajout d’un média
    Lors de l’ajout d’un média de type "image" un nouveau bouton apparait au dessus de la prévisualisation (...)

Sur d’autres sites (9556)

  • ffmpeg posting to nginx hangs after 90 minutes

    22 octobre 2018, par Harnek Gulati

    I’m using a very simple program to push an ffmpeg stream from my raspberry pi camera to a nginx server. However, it fails after 90 minutes, with almost every single Raspberry Pi I use (I have this code on 12 Raspberry Pis).
    Here is my ffmpeg command :

    raspivid -o - -t 0 -w 640 -h 480 -fps 25 | ffmpeg -re -i - -vcodec copy -hls_time 4 -f hls -hls_list_size 5 -hls_wrap 5 -threads 0  -timeout 5000 -max_reload 20000 -method PUT http://{}:{}/live/{}

    And here is my configuration for nginx.conf :

    #user nobody;
    load_module /usr/lib/nginx/modules/ndk_http_module.so;
    load_module /usr/lib/nginx/modules/ngx_http_lua_module.so;

    worker_processes auto;
    env CONTROL_SERVER_IP;


    #error_log /var/log/nginx/error.log;
    error_log /dev/stdout info;
    events {
       worker_connections 1024;
    }

    http {
       include     mime.types;
       default_type    application/octet-stream;
       access_log /dev/stdout;
       sendfile on;
       keepalive_requests 100000;
       keepalive_timeout 30;

     client_max_body_size 10M;
     server {
       listen 80;
       server_name localhost;

       location /live {
         root /var/static;
               client_body_temp_path   /var/static/client_temp;

               dav_methods PUT;
               create_full_put_path on;
               dav_access user:rw  group:r     all:r;

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

               # Disable Cache
               add_header Cache-Control no-cache;
               include cors.conf;
     }
     }
    }

    daemon off;

    If anyone can help me, I would deeply appreciate it. I’ve been pulling my hair out trying to figure out this bug. On the raspberry pi, it hangs on this :

    [hls @ 0x25a8c90] Opening 'http://192.168.8.1:80/live/c35d8935-0a31-4d22-b71a-ad3f4f1d47631.ts' for writing
    frame=105609 fps= 25 q=-1.0 q=1.6 size=N/A time=01:11:40.00 bitrate=N/A dup=0 drop=105518 speed=1.02xframe=105623 fps= 25 q=-1.0 q=1.6 size=N/A time=01:11:40.00 bitrate=N/A dup=0 drop=105532 speed=1.02xframe=105636 fps= 25 q=-1.0 q=1.6 size=N/A time=01:11:40.00 bitrate=N/A dup=0 drop=105545 speed=1.02xframe=105648 fps= 25 q=-1.0 q=1.6 size=N/A time=01:11:40.00 bitrate=N/A dup=0 drop=105557 speed=1.02xframe=105662 fps= 25 q=-1.0 q=1.6 size=N/A time=01:11:40.00 bitrate=N/A dup=0 drop=105571 speed=1.02xframe=105674 fps= 25 q=-1.0 q=1.6 size=N/A time=01:11:40.00 bitrate=N/A dup=0 drop=105583 speed=1.02xframe=105688 fps= 25 q=-1.0 q=1.6 size=N/A time=01:11:40.00 bitrate=N/A dup=0 drop=105597 speed=1.02xframe=105700 fps= 25 q=-1.0 q=1.6 size=N/A time=01:11:40.00 bitrate=N/A dup=0 drop=105609 speed=1.02xframe=105714 fps= 25 q=-1.0 q=1.6 size=N/A time=01:11:40.00 bitrate=N/A dup=0 drop=105623 speed=1.02x[hls muxer @ 0x25a9200] Duplicated segment filename detected: c35d8935-0a31-4d22-b71a-ad3f4f1d47631.ts
    [hls @ 0x25a8c90] Opening 'http://192.168.8.1:80/live/c35d8935-0a31-4d22-b71a-ad3f4f1d47632.ts' for writing

    And on the nginx logs, I get :

    192.168.10.242 - - [21/Oct/2018:22:34:01 +0000] "PUT /live/c35d8935-0a31-4d22-b71a-ad3f4f1d4763.m3u8 HTTP/1.1" 204 0 "-" "Lavf/57.83.100"
    192.168.10.242 - - [21/Oct/2018:22:35:04 +0000] "PUT /live/c35d8935-0a31-4d22-b71a-ad3f4f1d47633.ts HTTP/1.1" 408 0 "-" "Lavf/57.83.100"

    I need to set up a way to either a) keep consistent connections longer than 90 minutes or b) detect when the 408 error happens and stop it from hanging.

    FFMPEG version : 3.4.1

  • PHP code not proceeding to the line after exec ffmpeg

    5 avril 2014, par Sel

    I have this PHP snippet that I call through curl, in order to perform an ffmpeg encoding. I also have another line afterwards that marks this as having been done, using a database. I want this to trigger after the exec finished, which would imply that the file has finished encoding. However, the database is never actually changed (works if I try commenting out the exec) and I can't get a good gauge of when the file is done encoding. The database only changes when you run ANOTHER request on top of this one. Code below.

    $ID=$_POST['ID'];

    exec("/usr/local/bin/ffmpeg -i stockvideos/Intro2.m2v -f image2 -loop 1 -r 24 -i temppics/Intro2pic".$ID.".png -filter_complex \
    '[1:v]fade=in:st=0:d=1:alpha=1,fade=out:st=3:d=1:alpha=1[2wm];
    [0:v][wm]overlay=10:10[outv]' \
    -map [outv] -q 0 tempvideos/Intro2-".$ID.".m2v  >> 1.log 2>&1");

    $query_CreditVideoDone  =sprintf("Update Messages SET CreditTitlesDone=%s WHERE ID=%s", GetSQLValueString(1, "boolean"),GetSQLValueString($ID, "text"));

    $result = mysql_query($query_CreditVideoDone, $MMixer) or die(mysql_error());

    UPDATE : When I check the log (>2), it seems FFMPEG continues running even after the process is finished.

    frame= 4 fps=0.0 q=0.0 size= 103kB time=00:00:00.06 bitrate=12619.2kbits/s
    frame= 12 fps= 12 q=0.0 size= 562kB time=00:00:00.33 bitrate=13806.6kbits/s
    frame= 21 fps= 14 q=0.0 size= 1339kB time=00:00:00.63 bitrate=17307.1kbits/s
    frame= 29 fps= 14 q=0.0 size= 1682kB time=00:00:00.90 bitrate=15291.9kbits/s
    frame= 38 fps= 15 q=0.0 size= 2081kB time=00:00:01.20 bitrate=14192.5kbits/s
    frame= 51 fps= 16 q=0.0 size= 2677kB time=00:00:01.63 bitrate=13415.4kbits/s
    frame= 58 fps= 16 q=0.0 size= 2939kB time=00:00:01.86 bitrate=12884.0kbits/s
    frame= 66 fps= 16 q=0.0 size= 3338kB time=00:00:02.13 bitrate=12803.8kbits/s
    frame= 74 fps= 16 q=0.0 size= 3724kB time=00:00:02.40 bitrate=12700.2kbits/s
    frame= 82 fps= 16 q=0.0 size= 4012kB time=00:00:02.66 bitrate=12311.5kbits/s
    frame= 92 fps= 16 q=0.0 size= 4483kB time=00:00:03.00 bitrate=12229.7kbits/s
    frame= 102 fps= 16 q=0.0 size= 4951kB time=00:00:03.33 bitrate=12154.5kbits/s
    frame= 111 fps= 16 q=0.0 size= 5384kB time=00:00:03.63 bitrate=12126.7kbits/s
    frame= 118 fps= 16 q=0.0 size= 5622kB time=00:00:03.87 bitrate=11900.0kbits/s
    frame= 127 fps= 16 q=0.0 size= 6042kB time=00:00:04.17 bitrate=11867.2kbits/s
    frame= 138 fps= 16 q=0.0 size= 6550kB time=00:00:04.53 bitrate=11823.8kbits/s
    frame= 149 fps= 17 q=0.0 size= 7043kB time=00:00:04.90 bitrate=11763.8kbits/s
    frame= 157 fps= 17 q=0.0 size= 7338kB time=00:00:05.17 bitrate=11622.8kbits/s
    frame= 167 fps= 17 q=0.0 size= 7807kB time=00:00:05.50 bitrate=11616.5kbits/s
    frame= 176 fps= 17 q=0.0 size= 8215kB time=00:00:05.80 bitrate=11591.7kbits/s
    frame= 186 fps= 17 q=0.0 size= 8667kB time=00:00:06.13 bitrate=11564.4kbits/s
    frame= 196 fps= 17 q=0.0 size= 9254kB time=00:00:06.47 bitrate=11710.7kbits/s
    frame= 203 fps= 17 q=0.0 size= 9794kB time=00:00:06.70 bitrate=11962.6kbits/s
    frame= 211 fps= 17 q=0.0 size= 10135kB time=00:00:06.97 bitrate=11905.1kbits/s dup=0 drop=3
    frame= 211 fps= 16 q=0.0 size= 10135kB time=00:00:06.97 bitrate=11905.1kbits/s dup=0 drop=13
    frame= 211 fps= 15 q=0.0 size= 10135kB time=00:00:06.97 bitrate=11905.1kbits/s dup=0 drop=28
    frame= 211 fps= 15 q=0.0 size= 10135kB time=00:00:06.97 bitrate=11905.1kbits/s dup=0 drop=41
    frame= 211 fps= 14 q=0.0 size= 10135kB time=00:00:06.97 bitrate=11905.1kbits/s dup=0 drop=57
    frame= 211 fps= 14 q=0.0 size= 10135kB time=00:00:06.97 bitrate=11905.1kbits/s dup=0 drop=73
    frame= 211 fps= 13 q=0.0 size= 10135kB time=00:00:06.97 bitrate=11905.1kbits/s dup=0 drop=89
    frame= 211 fps= 13 q=0.0 size= 10135kB time=00:00:06.97 bitrate=11905.1kbits/s dup=0 drop=98
    frame= 211 fps= 13 q=0.0 size= 10135kB time=00:00:06.97 bitrate=11905.1kbits/s dup=0 drop=107
    frame= 211 fps= 12 q=0.0 size= 10135kB time=00:00:06.97 bitrate=11905.1kbits/s dup=0 drop=115
    frame= 211 fps= 12 q=0.0 size= 10135kB time=00:00:06.97 bitrate=11905.1kbits/s dup=0 drop=126
    frame= 211 fps= 11 q=0.0 size= 10135kB time=00:00:06.97 bitrate=11905.1kbits/s dup=0 drop=138
    frame= 211 fps= 11 q=0.0 size= 10135kB time=00:00:06.97 bitrate=11905.1kbits/s dup=0 drop=153
    frame= 211 fps= 11 q=0.0 size= 10135kB time=00:00:06.97 bitrate=11905.1kbits/s dup=0 drop=169
    frame= 211 fps= 11 q=0.0 size= 10135kB time=00:00:06.97 bitrate=11905.1kbits/s dup=0 drop=183
    frame= 211 fps= 10 q=0.0 size= 10135kB time=00:00:06.97 bitrate=11905.1kbits/s dup=0 drop=194
    frame= 211 fps= 10 q=0.0 size= 10135kB time=00:00:06.97 bitrate=11905.1kbits/s dup=0 drop=203
    frame= 211 fps=9.8 q=0.0 size= 10135kB time=00:00:06.97 bitrate=11905.1kbits/s dup=0 drop=214
    frame= 211 fps=9.6 q=0.0 size= 10135kB time=00:00:06.97 bitrate=11905.1kbits/s dup=0 drop=224
    frame= 211 fps=9.4 q=0.0 size= 10135kB time=00:00:06.97 bitrate=11905.1kbits/s dup=0 drop=233
    frame= 211 fps=9.1 q=0.0 size= 10135kB time=00:00:06.97 bitrate=11905.1kbits/s dup=0 drop=242
    frame= 211 fps=8.9 q=0.0 size= 10135kB time=00:00:06.97 bitrate=11905.1kbits/s dup=0 drop=251
    frame= 211 fps=8.7 q=0.0 size= 10135kB time=00:00:06.97 bitrate=11905.1kbits/s dup=0 drop=260
    frame= 211 fps=8.6 q=0.0 size= 10135kB time=00:00:06.97 bitrate=11905.1kbits/s dup=0 drop=269
    frame= 211 fps=8.4 q=0.0 size= 10135kB time=00:00:06.97 bitrate=11905.1kbits/s dup=0 drop=278
    frame= 211 fps=8.2 q=0.0 size= 10135kB time=00:00:06.97 bitrate=11905.1kbits/s dup=0 drop=289
    frame= 211 fps=8.0 q=0.0 size= 10135kB time=00:00:06.97 bitrate=11905.1kbits/s dup=0 drop=303
    frame= 211 fps=7.9 q=0.0 size= 10135kB time=00:00:06.97 bitrate=11905.1kbits/s dup=0 drop=315....

    And so on until it times out on the server. Any idea why this happens ? It seems to prevent execution from anything after it. Redirecting to dev/null doesn't help either - there is no error output of course but the process is still hanging the same way.

    Any help would be appreciated. Thanks !

    Thanks !

    Sel

  • avformat/hls : use av_dict_iterate

    26 novembre 2022, par Marvin Scholz
    avformat/hls : use av_dict_iterate
    

    And constify oldentry too while at it.

    Signed-off-by : Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    • [DH] libavformat/hls.c