Recherche avancée

Médias (3)

Mot : - Tags -/plugin

Autres articles (81)

  • Amélioration de la version de base

    13 septembre 2013

    Jolie sélection multiple
    Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
    Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...)

  • Menus personnalisés

    14 novembre 2010, par

    MediaSPIP utilise le plugin Menus pour gérer plusieurs menus configurables pour la navigation.
    Cela permet de laisser aux administrateurs de canaux la possibilité de configurer finement ces menus.
    Menus créés à l’initialisation du site
    Par défaut trois menus sont créés automatiquement à l’initialisation du site : Le menu principal ; Identifiant : barrenav ; Ce menu s’insère en général en haut de la page après le bloc d’entête, son identifiant le rend compatible avec les squelettes basés sur Zpip ; (...)

  • Gestion de la ferme

    2 mars 2010, par

    La ferme est gérée dans son ensemble par des "super admins".
    Certains réglages peuvent être fais afin de réguler les besoins des différents canaux.
    Dans un premier temps il utilise le plugin "Gestion de mutualisation"

Sur d’autres sites (12872)

  • ffmpeg nginx "Past duration ... too large" [duplicate]

    25 août 2017, par Philip Kirkbride

    This question already has an answer here :

    I have nginx compiled with the rtmp module. I start nginx and run the following to start streaming my webcam :

    ffmpeg -i /dev/video0 -f flv rtmp://localhost/live/test    

    Which works, I can then connect to my stream at rtmp://localhost/live/test

    The logs look like :

    frame=51 fps=34 q=31.0 size=203kB time=00:00:02.60 bitrate=638.9
    frame=66 fps=33 q=31.0 size=239kB time=00:00:03.10 bitrate=632.0
    frame=82 fps=33 q=31.0 size=271kB time=00:00:03.63 bitrate=611.6
    ...

    With a new line being output every second or so. After streaming for 3-4 minutes I start getting logs like these about 5 per second :

    Past duration 0.987877 too large
    Past duration 0.911079 too large
    Past duration 0.949013 too large

    Despite the warnings the stream still seems to be live and working.

    I believe nginx is triggering the following ffmpeg command :

    exec ffmpeg -i rtmp://localhost:1935/encode/$name
     -c:a libfdk_aac -b:a 128k -c:v libx264 -b:v 1000k -f flv -g 30 -r 30 -s 854x480 -preset superfast -profile:v baseline rtmp://localhost:1935/live/$name
    ;

    Complete nginx.conf file.

    Does anyone know what this warning is referring to ?

  • FFmpeg HLS input stream shows "Packet corrupt" and "timestamp discontinuity" errors when pushing to RTMP server [closed]

    22 mai, par Amul Bhatia

    I'm trying to restream an HLS URL (https://cache.fastcdn.com.my/edge/53-1.stream/index_0.m3u8?misc=87uq4HjbDEDE3TzIY95ja1ZMxA-Cm1PbOXAk16riVlU&uid=139322&ts=1747931206&e=43200&lat=1747931206&sil=5&sk=no&uip=MTEwLjIyNC4yNDIuOTg&head=aHR0cF94X2ZvcndhcmRlZF9mb3I&chid=53-1') into my RTMP server with FFmpeg. The command I use is :

    


    ffmpeg -i "https://cache.fastcdn.com.my/edge/53-1.stream/index_0.m3u8?misc=87uq4HjbDEDE3TzIY95ja1ZMxA-Cm1PbOXAk16riVlU&uid=139322&ts=1747931206&e=43200&lat=1747931206&sil=5&sk=no&uip=MTEwLjIyNC4yNDIuOTg&head=aHR0cF94X2ZvcndhcmRlZF9mb3I&chid=53-1" -c:v libx264 -preset veryfast -b:v 1000k -c:a aac -b:a 128k -f flv rtmp://69.62.85.241/live/streamkey


    


    getting error

    


    ffmpeg version 6.1.1-3ubuntu5 Copyright (c) 2000-2023 the FFmpeg developers
  built with gcc 13 (Ubuntu 13.2.0-23ubuntu3)
  configuration: --prefix=/usr --extra-version=3ubuntu5 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --disable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared
  libavutil      58. 29.100 / 58. 29.100
  libavcodec     60. 31.102 / 60. 31.102
  libavformat    60. 16.100 / 60. 16.100
  libavdevice    60.  3.100 / 60.  3.100
  libavfilter     9. 12.100 /  9. 12.100
  libswscale      7.  5.100 /  7.  5.100
  libswresample   4. 12.100 /  4. 12.100
  libpostproc    57.  3.100 / 57.  3.100
[hls @ 0x60992c0c8880] Skip ('#EXT-X-VERSION:3')
[hls @ 0x60992c0c8880] Skip ('#EXT-X-DISCONTINUITY')
    Last message repeated 9 times
[hls @ 0x60992c0c8880] Opening 'https://cache.fastcdn.com.my/error/chunks/407.ts' for reading
    Last message repeated 1 times
Input #0, hls, from 'https://cache.fastcdn.com.my/edge/53-1.stream/index_0.m3u8?misc=87uq4HjbDEDE3TzIY95ja1ZMxA-Cm1PbOXAk16riVlU&uid=139322&ts=1747931206&e=43200&lat=1747931206&sil=5&sk=no&uip=MTEwLjIyNC4yNDIuOTg&head=aHR0cF94X2ZvcndhcmRlZF9mb3I&chid=53-1':
  Duration: 00:01:00.00, start: 1.466667, bitrate: 0 kb/s
  Program 0
    Metadata:
      variant_bitrate : 0
  Stream #0:0: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p(tv, unknown/bt709/iec61966-2-1), 854x480 [SAR 1:1 DAR 427:240], 30 fps, 30 tbr, 90k tbn
    Metadata:
      variant_bitrate : 0
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
Press [q] to stop, [?] for help
[libx264 @ 0x60992cd68b00] using SAR=1/1
[libx264 @ 0x60992cd68b00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 AVX512
[libx264 @ 0x60992cd68b00] profile High, level 3.1, 4:2:0, 8-bit
[libx264 @ 0x60992cd68b00] 264 - core 164 r3108 31e19f9 - H.264/MPEG-4 AVC codec - Copyleft 2003-2023 - http://www.videolan.org/x264.html - options: cabac=1 ref=1 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=2 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=3 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=1 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=10 rc=abr mbtree=1 bitrate=1000 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, flv, to 'rtmp://69.62.85.241/live/streamkey':
  Metadata:
    encoder         : Lavf60.16.100
  Stream #0:0: Video: h264 ([7][0][0][0] / 0x0007), yuv420p(tv, unknown/bt709/iec61966-2-1, progressive), 854x480 [SAR 1:1 DAR 427:240], q=2-31, 1000 kb/s, 30 fps, 1k tbn
    Metadata:
      variant_bitrate : 0
      encoder         : Lavc60.31.102 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/1000000 buffer size: 0 vbv_delay: N/A
[https @ 0x60992c48fc40] Opening 'https://cache.fastcdn.com.my/error/chunks/407.ts' for reading
[mpegts @ 0x60992c161940] Packet corrupt (stream = 0, dts = 663000).
[hls @ 0x60992c0c8880] Packet corrupt (stream = 0, dts = 660000).
[in#0/hls @ 0x60992c0c8780] corrupt input packet in stream 0
[vist#0:0/h264 @ 0x60992c47ae80] timestamp discontinuity (stream id=0): -6000000, new offset= 6000000
[https @ 0x60992c4a9d40] Opening 'https://cache.fastcdn.com.my/error/chunks/407.ts' for reading
[mpegts @ 0x60992c161940] Packet corrupt (stream = 0, dts = 663000).
[hls @ 0x60992c0c8880] Packet corrupt (stream = 0, dts = 660000).
[in#0/hls @ 0x60992c0c8780] corrupt input packet in stream 0
[vist#0:0/h264 @ 0x60992c47ae80] timestamp discontinuity (stream id=0): -6000000, new offset= 12000000
[https @ 0x60992c48fc40] Opening 'https://cache.fastcdn.com.my/error/chunks/407.ts' for reading
[mpegts @ 0x60992c161940] Packet corrupt (stream = 0, dts = 663000).
[hls @ 0x60992c0c8880] Packet corrupt (stream = 0, dts = 660000).
[in#0/hls @ 0x60992c0c8780] corrupt input packet in stream 0
[vist#0:0/h264 @ 0x60992c47ae80] timestamp discontinuity (stream id=0): -6000000, new offset= 18000000
[https @ 0x60992c4a9d40] Opening 'https://cache.fastcdn.com.my/error/chunks/407.ts' for reading
[mpegts @ 0x60992c161940] Packet corrupt (stream = 0, dts = 663000).
[hls @ 0x60992c0c8880] Packet corrupt (stream = 0, dts = 660000).
[in#0/hls @ 0x60992c0c8780] corrupt input packet in stream 0
[vist#0:0/h264 @ 0x60992c47ae80] timestamp discontinuity (stream id=0): -6000000, new offset= 24000000
[https @ 0x60992c48fc40] Opening 'https://cache.fastcdn.com.my/error/chunks/407.ts' for reading
[mpegts @ 0x60992c161940] Packet corrupt (stream = 0, dts = 663000).
[hls @ 0x60992c0c8880] Packet corrupt (stream = 0, dts = 660000).
[in#0/hls @ 0x60992c0c8780] corrupt input packet in stream 0
[vist#0:0/h264 @ 0x60992c47ae80] timestamp discontinuity (stream id=0): -6000000, new offset= 30000000
[https @ 0x60992c4a9d40] Opening 'https://cache.fastcdn.com.my/error/chunks/407.ts' for reading
[mpegts @ 0x60992c161940] Packet corrupt (stream = 0, dts = 663000).
[hls @ 0x60992c0c8880] Packet corrupt (stream = 0, dts = 660000).
[in#0/hls @ 0x60992c0c8780] corrupt input packet in stream 0
[vist#0:0/h264 @ 0x60992c47ae80] timestamp discontinuity (stream id=0): -6000000, new offset= 36000000
[https @ 0x60992c48fc40] Opening 'https://cache.fastcdn.com.my/error/chunks/407.ts' for reading
[mpegts @ 0x60992c161940] Packet corrupt (stream = 0, dts = 663000).
[hls @ 0x60992c0c8880] Packet corrupt (stream = 0, dts = 660000).
[in#0/hls @ 0x60992c0c8780] corrupt input packet in stream 0
[vist#0:0/h264 @ 0x60992c47ae80] timestamp discontinuity (stream id=0): -6000000, new offset= 42000000
[https @ 0x60992c4a9d40] Opening 'https://cache.fastcdn.com.my/error/chunks/407.ts' for reading
[mpegts @ 0x60992c161940] Packet corrupt (stream = 0, dts = 663000).
[hls @ 0x60992c0c8880] Packet corrupt (stream = 0, dts = 660000).
[in#0/hls @ 0x60992c0c8780] corrupt input packet in stream 0
[vist#0:0/h264 @ 0x60992c47ae80] timestamp discontinuity (stream id=0): -6000000, new offset= 48000000
[mpegts @ 0x60992c161940] Packet corrupt (stream = 0, dts = 663000).
[hls @ 0x60992c0c8880] Packet corrupt (stream = 0, dts = 660000).
[in#0/hls @ 0x60992c0c8780] corrupt input packet in stream 0
[vist#0:0/h264 @ 0x60992c47ae80] timestamp discontinuity (stream id=0): -6000000, new offset= 54000000
[flv @ 0x60992c88a340] Failed to update header with correct duration.44.8kbits/s speed=22.6x
[flv @ 0x60992c88a340] Failed to update header with correct filesize.
[out#0/flv @ 0x60992cc36180] video:304kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 11.671993%
frame= 1800 fps=685 q=-1.0 Lsize=     339kB time=00:00:59.90 bitrate=  46.4kbits/s speed=22.8x
[libx264 @ 0x60992cd68b00] frame I:8     Avg QP: 2.07  size: 20330
[libx264 @ 0x60992cd68b00] frame P:454   Avg QP: 0.23  size:   218
[libx264 @ 0x60992cd68b00] frame B:1338  Avg QP: 0.21  size:    37
[libx264 @ 0x60992cd68b00] consecutive B-frames:  0.9%  0.0%  0.0% 99.1%
[libx264 @ 0x60992cd68b00] mb I  I16..4: 86.7%  0.3% 13.0%
[libx264 @ 0x60992cd68b00] mb P  I16..4:  0.1%  0.0%  0.0%  P16..4:  1.4%  0.0%  0.0%  0.0%  0.0%    skip:98.6%
[libx264 @ 0x60992cd68b00] mb B  I16..4:  0.0%  0.0%  0.0%  B16..8:  0.1%  0.0%  0.0%  direct: 0.1%  skip:99.8%  L0:59.9% L1:40.1% BI: 0.0%
[libx264 @ 0x60992cd68b00] final ratefactor: -25.04
[libx264 @ 0x60992cd68b00] 8x8 transform intra:0.3% inter:1.8%
[libx264 @ 0x60992cd68b00] coded y,uvDC,uvAC intra: 13.5% 0.0% 0.0% inter: 0.2% 0.0% 0.0%
[libx264 @ 0x60992cd68b00] i16 v,h,dc,p: 90%  6%  4%  0%
[libx264 @ 0x60992cd68b00] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 59% 12% 28%  0%  1%  1%  0%  0%  0%
[libx264 @ 0x60992cd68b00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 41% 18% 19%  4%  4%  4%  3%  4%  3%
[libx264 @ 0x60992cd68b00] i8c dc,h,v,p: 100%  0%  0%  0%
[libx264 @ 0x60992cd68b00] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x60992cd68b00] kb/s:41.38


    


    However, I get repeated errors like :

    


    Packet corrupt (stream = 0, dts = xxxx)

    


    timestamp discontinuity (stream id=0)

    


    corrupt input packet in stream 0

    


    The stream partially works but seems unstable. How can I fix this error ?

    


    my nginx.conf

    


    rtmp {
    server {
        listen 1935;
        chunk_size 4096;

        application live {
            live on;
            record off;

            hls on;
            hls_path /var/www/hls;
            hls_fragment 5;                  # each TS segment = 5s
            hls_playlist_length 120;         # keep last 2 minutes of stream
            hls_cleanup off;                 # do not delete old segments
        }
    }
}

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

    sendfile on;
    keepalive_timeout 65;

    server {
        listen 81;

        location /hls {
            root /var/www;
            types {
                application/vnd.apple.mpegurl m3u8;
                video/mp2t ts;
            }

            add_header Cache-Control no-cache;
            add_header Access-Control-Allow-Origin *;
            add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
            add_header Access-Control-Allow-Headers 'Range';
            add_header Access-Control-Expose-Headers 'Content-Length, Content-Range';
        }
    }
}


    


    The same url is working fine when used in browser, but extracting the stream and putting it in RTMP server and accessing my RTMP server at rtmp ://69.62.85.241/live/streamkey not working

    


  • Audio recorded with MediaRecorder on Chrome missing duration

    3 juin 2017, par suppp111

    I am recording audio (oga/vorbis) files with MediaRecorder. When I record these file through Chrome I get problems : I cannot edit the files on ffmpeg and when I try to play them on Firefox it says they are corrupt (they do play fine on Chrome though).

    Looking at their metadata on ffmpeg I get this :

    Input #0, matroska,webm, from '91.oga':
     Metadata:
       encoder         : Chrome
     Duration: N/A, start: 0.000000, bitrate: N/A
       Stream #0:0(eng): Audio: opus, 48000 Hz, mono, fltp (default)
    [STREAM]
    index=0
    codec_name=opus
    codec_long_name=Opus (Opus Interactive Audio Codec)
    profile=unknown
    codec_type=audio
    codec_time_base=1/48000
    codec_tag_string=[0][0][0][0]
    codec_tag=0x0000
    sample_fmt=fltp
    sample_rate=48000
    channels=1
    channel_layout=mono
    bits_per_sample=0
    id=N/A
    r_frame_rate=0/0
    avg_frame_rate=0/0
    time_base=1/1000
    start_pts=0
    start_time=0.000000
    duration_ts=N/A
    duration=N/A
    bit_rate=N/A
    max_bit_rate=N/A
    bits_per_raw_sample=N/A
    nb_frames=N/A
    nb_read_frames=N/A
    nb_read_packets=N/A
    DISPOSITION:default=1
    DISPOSITION:dub=0
    DISPOSITION:original=0
    DISPOSITION:comment=0
    DISPOSITION:lyrics=0
    DISPOSITION:karaoke=0
    DISPOSITION:forced=0
    DISPOSITION:hearing_impaired=0
    DISPOSITION:visual_impaired=0
    DISPOSITION:clean_effects=0
    DISPOSITION:attached_pic=0
    TAG:language=eng
    [/STREAM]
    [FORMAT]
    filename=91.oga
    nb_streams=1
    nb_programs=0
    format_name=matroska,webm
    format_long_name=Matroska / WebM
    start_time=0.000000
    duration=N/A
    size=7195
    bit_rate=N/A
    probe_score=100
    TAG:encoder=Chrome

    As you can see there are problems with the duration. I have looked at posts like this :
    How can I add predefined length to audio recorded from MediaRecorder in Chrome ?

    But even trying that, I got errors when trying to chop and merge files.For example when running :

    ffmpeg -f concat  -i 89_inputs.txt -c copy final.oga

    I get a lot of this :

    [oga @ 00000000006789c0] Non-monotonous DTS in output stream 0:0; previous: 57612, current: 1980; changing to 57613. This may result in incorrect timestamps in the output file.
    [oga @ 00000000006789c0] Non-monotonous DTS in output stream 0:0; previous: 57613, current: 2041; changing to 57614. This may result in incorrect timestamps in the output file.
    DTS -442721849179034176, next:42521 st:0 invalid dropping
    PTS -442721849179034176, next:42521 invalid dropping st:0
    [oga @ 00000000006789c0] Non-monotonous DTS in output stream 0:0; previous: 57614, current: 2041; changing to 57615. This may result in incorrect timestamps in the output file.
    [oga @ 00000000006789c0] Timestamps are unset in a packet for stream 0. This is deprecated and will stop working in the future. Fix your code to set the timestamps properly
    DTS -442721849179031296, next:42521 st:0 invalid dropping
    PTS -442721849179031296, next:42521 invalid dropping st:0

    Does anyone know what we need to do to audio files recorded from Chrome for them to be useful ? Or is there a problem with my setup ?

    Recorder js :

    if (navigator.getUserMedia) {
     console.log('getUserMedia supported.');

     var constraints = { audio: true };
     var chunks = [];

     var onSuccess = function(stream) {
       var mediaRecorder = new MediaRecorder(stream);

       record.onclick = function() {
         mediaRecorder.start();
         console.log(mediaRecorder.state);
         console.log("recorder started");
         record.style.background = "red";

         stop.disabled = false;
         record.disabled = true;

         var aud = document.getElementById("audioClip");
         start = aud.currentTime;
       }

       stop.onclick = function() {
         console.log(mediaRecorder.state);
         console.log("Recording request sent.");
         mediaRecorder.stop();
       }

       mediaRecorder.onstop = function(e) {
         console.log("data available after MediaRecorder.stop() called.");

         var audio = document.createElement('audio');
         audio.setAttribute('controls', '');
         audio.setAttribute('id', 'audioClip');

         audio.controls = true;
         var blob = new Blob(chunks, { 'type' : 'audio/ogg; codecs="vorbis"' });
         chunks = [];
         var audioURL = window.URL.createObjectURL(blob);
         audio.src = audioURL;

         sendRecToPost(blob);   // this just send the audio blob to the server by post
         console.log("recorder stopped");

       }