Recherche avancée

Médias (0)

Mot : - Tags -/upload

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (33)

  • Contribute to translation

    13 avril 2011

    You can help us to improve the language used in the software interface to make MediaSPIP more accessible and user-friendly. You can also translate the interface into any language that allows it to spread to new linguistic communities.
    To do this, we use the translation interface of SPIP where the all the language modules of MediaSPIP are available. Just subscribe to the mailing list and request further informantion on translation.
    MediaSPIP is currently available in French and English (...)

  • Les tâches Cron régulières de la ferme

    1er décembre 2010, par

    La gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
    Le super Cron (gestion_mutu_super_cron)
    Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...)

  • (Dés)Activation de fonctionnalités (plugins)

    18 février 2011, par

    Pour gérer l’ajout et la suppression de fonctionnalités supplémentaires (ou plugins), MediaSPIP utilise à partir de la version 0.2 SVP.
    SVP permet l’activation facile de plugins depuis l’espace de configuration de MediaSPIP.
    Pour y accéder, il suffit de se rendre dans l’espace de configuration puis de se rendre sur la page "Gestion des plugins".
    MediaSPIP est fourni par défaut avec l’ensemble des plugins dits "compatibles", ils ont été testés et intégrés afin de fonctionner parfaitement avec chaque (...)

Sur d’autres sites (7950)

  • FFMPEG : RTSP re-stream dies randomly

    14 mai 2018, par stevendesu

    I have a security camera streaming RTSP, and I wish to re-stream this to an RTMP ingest server. For now I’m using my laptop as an ffmpeg proxy, but eventually I’ll use a raspberry pi or something similar (cheap/small)

    Here’s the command I’m using (pretty simple) :

    ffmpeg -i rtsp://@10.0.0.16:554/1/h264major -c:v libx264 -c:a none -f flv rtmp://output/camera_stream

    This works but after a minute or two the stream dies. Here’s the output :

    ffmpeg version N-90057-g7c82e0f Copyright (c) 2000-2018 the FFmpeg developers
     built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.6) 20160609
     configuration: --prefix=/home/sbarnett/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/sbarnett/ffmpeg_build/include --extra-ldflags=-L/home/sbarnett/ffmpeg_build/lib --extra-libs='-lpthread -lm' --bindir=/home/sbarnett/bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libspeex --enable-nonfree
     libavutil      56.  7.101 / 56.  7.101
     libavcodec     58. 11.101 / 58. 11.101
     libavformat    58.  9.100 / 58.  9.100
     libavdevice    58.  1.100 / 58.  1.100
     libavfilter     7. 12.100 /  7. 12.100
     libswscale      5.  0.101 /  5.  0.101
     libswresample   3.  0.101 /  3.  0.101
     libpostproc    55.  0.100 / 55.  0.100
    Input #0, rtsp, from 'rtsp://@10.0.0.16:554/1/h264major':
     Metadata:
       title           : h264major
       comment         : h264major
     Duration: N/A, start: 0.360000, bitrate: N/A
       Stream #0:0: Video: h264 (Main), yuvj420p(pc, bt709, progressive), 720x480, 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream mapping:
     Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
    Press [q] to stop, [?] for help
    [libx264 @ 0x38843c0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
    [libx264 @ 0x38843c0] profile High, level 3.0
    [libx264 @ 0x38843c0] 264 - core 155 - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 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=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
    Output #0, flv, to 'rtmp://output/camera_stream':
     Metadata:
       title           : h264major
       comment         : h264major
       encoder         : Lavf58.9.100
       Stream #0:0: Video: h264 (libx264) ([7][0][0][0] / 0x0007), yuvj420p(pc), 720x480, q=-1--1, 25 fps, 1k tbn, 25 tbc
       Metadata:
         encoder         : Lavc58.11.101 libx264
       Side data:
         cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
    Past duration 0.999992 too large
       Last message repeated 29 times
    [rtsp @ 0x3847600] max delay reached. need to consume packet
    [rtsp @ 0x3847600] RTP: missed 48 packets
    Past duration 0.999992 too large
       Last message repeated 4 times
    frame=   44 fps=0.0 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A dup=0 drop=5 speed=   0x    
    frame=   57 fps= 54 q=28.0 size=      43kB time=00:00:00.16 bitrate=2186.4kbits/s dup=0 drop=5 speed=0.153x    
    ... (lots of similar messages) ...  
    frame= 1163 fps= 26 q=28.0 size=    1341kB time=00:00:44.84 bitrate= 245.0kbits/s dup=0 drop=5 speed=0.99x    
    frame= 1177 fps= 26 q=28.0 size=    1353kB time=00:00:45.40 bitrate= 244.2kbits/s dup=0 drop=5 speed=0.99x    
    [rtsp @ 0x3847600] max delay reached. need to consume packet
    [rtsp @ 0x3847600] RTP: missed 2 packets
    frame= 1190 fps= 26 q=28.0 size=    1370kB time=00:00:45.92 bitrate= 244.4kbits/s dup=0 drop=5 speed=0.99x    
    [h264 @ 0x38c08c0] Increasing reorder buffer to 1
    frame= 1201 fps= 26 q=28.0 size=    1381kB time=00:00:46.36 bitrate= 244.0kbits/s dup=0 drop=5 speed=0.989x    
    frame= 1214 fps= 26 q=28.0 size=    1393kB time=00:00:46.88 bitrate= 243.4kbits/s dup=0 drop=5 speed=0.989x    
    ... (lots of similar messages) ...    
    frame= 1761 fps= 25 q=28.0 size=    2030kB time=00:01:08.80 bitrate= 241.7kbits/s dup=0 drop=5 speed=0.993x    
    frame= 1774 fps= 25 q=28.0 size=    2041kB time=00:01:09.32 bitrate= 241.2kbits/s dup=0 drop=5 speed=0.993x    
    [flv @ 0x3884900] Failed to update header with correct duration.
    [flv @ 0x3884900] Failed to update header with correct filesize.
    frame= 1782 fps= 25 q=-1.0 Lsize=    2127kB time=00:01:11.64 bitrate= 243.2kbits/s dup=0 drop=5 speed=1.02x    
    video:2092kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.679417%
    [libx264 @ 0x38843c0] frame I:8     Avg QP:16.89  size: 42446
    [libx264 @ 0x38843c0] frame P:1672  Avg QP:19.54  size:  1065
    [libx264 @ 0x38843c0] frame B:102   Avg QP:23.00  size:   205
    [libx264 @ 0x38843c0] consecutive B-frames: 92.4%  0.0%  0.0%  7.6%
    [libx264 @ 0x38843c0] mb I  I16..4: 12.9% 36.2% 50.9%
    [libx264 @ 0x38843c0] mb P  I16..4:  0.2%  0.2%  0.0%  P16..4: 16.7%  0.7%  1.0%  0.0%  0.0%    skip:81.1%
    [libx264 @ 0x38843c0] mb B  I16..4:  0.1%  0.1%  0.0%  B16..8: 11.7%  0.1%  0.0%  direct: 1.5%  skip:86.5%  L0:62.2% L1:35.3% BI: 2.5%
    [libx264 @ 0x38843c0] 8x8 transform intra:40.8% inter:47.4%
    [libx264 @ 0x38843c0] coded y,uvDC,uvAC intra: 46.5% 53.0% 17.2% inter: 3.9% 8.7% 0.0%
    [libx264 @ 0x38843c0] i16 v,h,dc,p: 21% 56%  8% 15%
    [libx264 @ 0x38843c0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 23% 33% 31%  1%  2%  3%  2%  2%  3%
    [libx264 @ 0x38843c0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 25% 39%  9%  3%  3%  4%  5%  3%  8%
    [libx264 @ 0x38843c0] i8c dc,h,v,p: 43% 33% 21%  3%
    [libx264 @ 0x38843c0] Weighted P-Frames: Y:0.0% UV:0.0%
    [libx264 @ 0x38843c0] ref P L0: 88.0%  1.4%  6.6%  4.0%
    [libx264 @ 0x38843c0] ref B L0: 99.4%  0.5%  0.1%
    [libx264 @ 0x38843c0] ref B L1: 99.4%  0.6%
    [libx264 @ 0x38843c0] kb/s:238.73

    The camera is pretty cheap (from China) so it’s likely I’m getting bad data from it or it’s cutting out for a few seconds at a time. Ideally I would need ffmpeg to handle this well (ignore bad data, wait as long as necessary for good data to resume encoding)

    Using ffplay to check out the RTSP stream, I get output like the following :

    $> ffplay -i rtsp://@10.0.0.16:554/1/h264major
    ffplay version N-90057-g7c82e0f Copyright (c) 2003-2018 the FFmpeg developers
     built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.6) 20160609
     configuration: --prefix=/home/sbarnett/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/sbarnett/ffmpeg_build/include --extra-ldflags=-L/home/sbarnett/ffmpeg_build/lib --extra-libs='-lpthread -lm' --bindir=/home/sbarnett/bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libspeex --enable-nonfree
     libavutil      56.  7.101 / 56.  7.101
     libavcodec     58. 11.101 / 58. 11.101
     libavformat    58.  9.100 / 58.  9.100
     libavdevice    58.  1.100 / 58.  1.100
     libavfilter     7. 12.100 /  7. 12.100
     libswscale      5.  0.101 /  5.  0.101
     libswresample   3.  0.101 /  3.  0.101
     libpostproc    55.  0.100 / 55.  0.100
    Input #0, rtsp, from 'rtsp://@10.0.0.16:554/1/h264major':0B f=0/0
     Metadata:
       title           : h264major
       comment         : h264major
     Duration: N/A, start: 0.320000, bitrate: N/A
       Stream #0:0: Video: h264 (Main), yuvj420p(pc, bt709, progressive), 720x480, 25 fps, 25 tbr, 90k tbn, 50 tbc
    [swscaler @ 0x7f6bbc093180] deprecated pixel format used, make sure you did set range correctly
    [rtsp @ 0x7f6bc0000940] max delay reached. need to consume packet
    [rtsp @ 0x7f6bc0000940] RTP: missed 2 packets
    [h264 @ 0x7f6bc0041080] error while decoding MB 44 28, bytestream -37
    [h264 @ 0x7f6bc0041080] concealing 95 DC, 95 AC, 95 MV errors in I frame
    [rtsp @ 0x7f6bc0000940] max delay reached. need to consume packet
    [rtsp @ 0x7f6bc0000940] RTP: missed 1 packets
    [h264 @ 0x7f6bc0041080] error while decoding MB 43 29, bytestream -49
    [h264 @ 0x7f6bc0041080] concealing 51 DC, 51 AC, 51 MV errors in I frame
    [rtsp @ 0x7f6bc0000940] max delay reached. need to consume packet
    [rtsp @ 0x7f6bc0000940] RTP: missed 2 packets
    [h264 @ 0x7f6bc0041080] Increasing reorder buffer to 1
    [rtsp @ 0x7f6bc0000940] max delay reached. need to consume packet
    [rtsp @ 0x7f6bc0000940] RTP: missed 3 packets
    [h264 @ 0x7f6bc02c3600] error while decoding MB 27 29, bytestream -24
    [h264 @ 0x7f6bc02c3600] concealing 67 DC, 67 AC, 67 MV errors in I frame
    [rtsp @ 0x7f6bc0000940] max delay reached. need to consume packet
    [rtsp @ 0x7f6bc0000940] RTP: missed 2 packets
    [rtsp @ 0x7f6bc0000940] max delay reached. need to consume packet
    [rtsp @ 0x7f6bc0000940] RTP: missed 42 packets
    [rtsp @ 0x7f6bc0000940] max delay reached. need to consume packet
    [rtsp @ 0x7f6bc0000940] RTP: missed 2 packets

    Then eventually the video just freezes. The first time it froze after around 5 minutes, but I wasn’t able to say definitively if it froze the instant 44 packets were dropped or if it froze randomly later. So the second time I stared intently.... for 21 minutes. Then I got bored of it not freezing, turned to pet my cat, and when I looked back 15 seconds later it was frozen. I think it only breaks when no one is watching it.

    What I can say definitively is :

    • While running normally, M-V hovers around 0 (anywhere between -0.01 and +0.01)
    • Once frozen, M-V begins to count down into negative numbers without stopping - although at a rate slower than -1 per second
    • While running normally, aq is 0KB and vq is a positive number (I think it was 30KB or so ?)
    • Once frozen, vq is also 0KB

    It’s a really cheap camera with a crummy power supply that goes out if you breathe on it, so it’s likely the camera is going temporarily offline during this time — but I’d like ffmpeg to wait out a timeout and resume streaming when it sees the camera again.

  • Video merging ffmpeg taking more than 15 minutes for 5mb video

    27 juillet 2018, par stan wyck

    I am using below ffmpeg command by bravobit ffmpeg android library to merge videos with different resolution and bit rate it takes more than 15 minutes for total of 5mb videos

    -i video1.mp4 -i video2.3gp -filter_complex [1:v]scale=iw*min(1920/iw\,1080/ih):ih*min(1920/iw\,1080/ih),
    pad=1920:1080:(1920-iw*min(1920/iw\,1080/ih))/2:(1080-ih*min(1920/iw\,1080/ih))/2,setsar=1[v1];
    [2:v]scale=iw*min(1920/iw\,1080/ih):ih*min(1920/iw\,1080/ih),
    pad=1920:1080:(1920-iw*min(1920/iw\,1080/ih))/2:(1080-ih*min(1920/iw\,1080/ih))/2,setsar=1[v2];
    [v1][1:a][v2][2:a]concat=n=2:v=1:a=1[outv][outa]
    "-ab", "48000", "-ac", "2", "-ar", "22050", "-s", "1920x1080", "-vcodec", "libx264", "-crf", "27", "-q", "4", "-preset", "ultrafast", newVideoPath, "-hide_banner"

    Log onSuccess

    ffmpeg version n4.0-39-gda39990 Copyright (c) 2000-2018 the FFmpeg developers
    built with gcc 4.9.x (GCC) 20150123 (prerelease)
    configuration : —target-os=linux —cross-prefix=/root/bravobit/ffmpeg-android/toolchain-android/bin/arm-linux-androideabi- —arch=arm —cpu=cortex-a8 —enable-runtime-cpudetect —sysroot=/root/bravobit/ffmpeg-android/toolchain-android/sysroot —enable-pic —enable-libx264 —enable-ffprobe —enable-libopus —enable-libvorbis —enable-libfdk-aac —enable-libfreetype —enable-libfribidi —enable-libmp3lame —enable-fontconfig —enable-libvpx —enable-libass —enable-yasm —enable-pthreads —disable-debug —enable-version3 —enable-hardcoded-tables —disable-ffplay —disable-linux-perf —disable-doc —disable-shared —enable-static —enable-runtime-cpudetect —enable-nonfree —enable-network —enable-avresample —enable-avformat —enable-avcodec —enable-indev=lavfi —enable-hwaccels —enable-ffmpeg —enable-zlib —enable-gpl —enable-small —enable-nonfree —pkg-config=pkg-config —pkg-config-flags=—static —prefix=/root/bravobit/ffmpeg-android/build/armeabi-v7a —extra-cflags=’-I/root/bravobit/ffmpeg-android/toolchain-android/include -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-strict-overflow -fstack-protector-all’ —extra-ldflags=’-L/root/bravobit/ffmpeg-android/toolchain-android/lib -Wl,-z,relro -Wl,-z,now -pie’ —extra-cxxflags=
    libavutil 56. 14.100 / 56. 14.100
    libavcodec 58. 18.100 / 58. 18.100
    libavformat 58. 12.100 / 58. 12.100
    libavdevice 58. 3.100 / 58. 3.100
    libavfilter 7. 16.100 / 7. 16.100
    libavresample 4. 0. 0 / 4. 0. 0
    libswscale 5. 1.100 / 5. 1.100
    libswresample 3. 1.100 / 3. 1.100
    libpostproc 55. 1.100 / 55. 1.100
    Input #0, lavfi, from ’anullsrc=channel_layout=stereo:sample_rate=44100’ :
    Duration : N/A, start : 0.000000, bitrate : 705 kb/s
    Stream #0:0 : Audio : pcm_u8, 44100 Hz, stereo, u8, 705 kb/s
    Input #1, mov,mp4,m4a,3gp,3g2,mj2, from ’/sdcard/DigitalDashboard/temp/10.57.08.mp4’ :
    Metadata :
    major_brand : isom
    minor_version : 512
    compatible_brands : isomiso2avc1mp41
    encoder : Lavf58.12.100
    Duration : 00:00:15.00, start : 0.000000, bitrate : 1495 kb/s
    Stream #1:0(und) : Video : h264 (avc1 / 0x31637661), yuv420p, 1024x576 [SAR 1:1 DAR 16:9], 1337 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
    Metadata :
    handler_name : VideoHandler
    Stream #1:1(und) : Audio : aac (mp4a / 0x6134706D), 22050 Hz, stereo, fltp, 153 kb/s (default)
    Metadata :
    handler_name : SoundHandler
    Input #2, mov,mp4,m4a,3gp,3g2,mj2, from ’/sdcard/DigitalDashboard/temp/10.57.19.mp4’ :
    Metadata :
    major_brand : isom
    minor_version : 512
    compatible_brands : isomiso2avc1mp41
    encoder : Lavf58.12.100
    Duration : 00:00:10.03, start : 0.000000, bitrate : 1823 kb/s
    Stream #2:0(und) : Video : h264 (avc1 / 0x31637661), yuv420p, 1024x576 [SAR 1:1 DAR 16:9], 1671 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
    Metadata :
    handler_name : VideoHandler
    Stream #2:1(und) : Audio : aac (mp4a / 0x6134706D), 22050 Hz, stereo, fltp, 152 kb/s (default)
    Metadata :
    handler_name : SoundHandler
    Stream mapping :
    Stream #1:0 (h264) -> scale
    Stream #1:1 (aac) -> concat:in0:a0
    Stream #2:0 (h264) -> scale
    Stream #2:1 (aac) -> concat:in1:a0
    concat:out:v0 -> Stream #0:0 (libx264)
    concat:out:a0 -> Stream #0:1 (aac)
    Press [q] to stop, [?] for help
    [libx264 @ 0xb8b42e90] -qscale is ignored, -crf is recommended.
    [libx264 @ 0xb8b42e90] using SAR=1/1
    [libx264 @ 0xb8b42e90] using cpu capabilities : ARMv6 NEON
    [libx264 @ 0xb8b42e90] profile Constrained Baseline, level 3.1
    [libx264 @ 0xb8b42e90] 264 - core 152 r2851M ba24899 - H.264/MPEG-4 AVC codec - Copyleft 2003-2017 - http://www.videolan.org/x264.html - options : cabac=0 ref=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=25 scenecut=0 intra_refresh=0 rc=crf mbtree=0 crf=27.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=0
    Output #0, mp4, to ’/sdcard/DigitalDashboard/temp/10.57.25.mp4’ :
    Metadata :
    encoder : Lavf58.12.100
    Stream #0:0 : Video : h264 (libx264) (avc1 / 0x31637661), yuv420p(progressive), 1024x576 [SAR 1:1 DAR 16:9], q=-1—1, 25 fps, 12800 tbn, 25 tbc (default)
    Metadata :
    encoder : Lavc58.18.100 libx264
    Side data :
    cpb : bitrate max/min/avg : 0/0/0 buffer size : 0 vbv_delay : -1
    Stream #0:1 : Audio : aac (mp4a / 0x6134706D), 22050 Hz, stereo, fltp, 48 kb/s (default)
    Metadata :
    encoder : Lavc58.18.100 aac
    frame= 7 fps=0.0 q=0.0 size= 0kB time=00:00:00.37 bitrate= 1.0kbits/s speed=0.737x
    frame= 21 fps= 21 q=27.0 size= 0kB time=00:00:00.88 bitrate= 0.4kbits/s speed=0.879x
    frame= 35 fps= 23 q=26.0 size= 256kB time=00:00:01.48 bitrate=1411.5kbits/s speed=0.979x
    frame= 50 fps= 25 q=27.0 size= 256kB time=00:00:02.04 bitrate=1026.5kbits/s speed=1.01x
    frame= 64 fps= 25 q=26.0 size= 512kB time=00:00:02.60 bitrate=1612.9kbits/s speed=1.02x
    frame= 79 fps= 26 q=25.0 size= 768kB time=00:00:03.20 bitrate=1963.5kbits/s speed=1.05x
    frame= 95 fps= 26 q=22.0 size= 768kB time=00:00:03.85 bitrate=1632.3kbits/s speed=1.07x
    frame= 110 fps= 27 q=24.0 size= 1024kB time=00:00:04.45 bitrate=1881.7kbits/s speed=1.08x
    frame= 126 fps= 27 q=23.0 size= 1024kB time=00:00:05.10 bitrate=1642.2kbits/s speed= 1.1x
    frame= 142 fps= 27 q=24.0 size= 1280kB time=00:00:05.75 bitrate=1821.0kbits/s speed=1.11x
    frame= 157 fps= 28 q=23.0 size= 1280kB time=00:00:06.31 bitrate=1660.3kbits/s speed=1.11x
    frame= 173 fps= 28 q=25.0 size= 1536kB time=00:00:06.96 bitrate=1806.4kbits/s speed=1.12x
    frame= 189 fps= 28 q=26.0 size= 1536kB time=00:00:07.61 bitrate=1652.2kbits/s speed=1.13x
    frame= 204 fps= 28 q=25.0 size= 1792kB time=00:00:08.21 bitrate=1786.0kbits/s speed=1.14x
    frame= 220 fps= 28 q=19.0 size= 1792kB time=00:00:08.87 bitrate=1655.1kbits/s speed=1.15x
    frame= 238 fps= 29 q=18.0 size= 2048kB time=00:00:09.56 bitrate=1753.8kbits/s speed=1.16x
    frame= 254 fps= 29 q=26.0 size= 2048kB time=00:00:10.26 bitrate=1634.7kbits/s speed=1.17x
    frame= 271 fps= 29 q=22.0 size= 2048kB time=00:00:10.91 bitrate=1537.3kbits/s speed=1.18x
    frame= 288 fps= 30 q=21.0 size= 2048kB time=00:00:11.56 bitrate=1450.9kbits/s speed=1.19x
    frame= 305 fps= 30 q=19.0 size= 2304kB time=00:00:12.26 bitrate=1539.5kbits/s speed=1.19x
    frame= 320 fps= 30 q=21.0 size= 2304kB time=00:00:12.86 bitrate=1467.3kbits/s speed=1.19x
    frame= 337 fps= 30 q=22.0 size= 2304kB time=00:00:13.51 bitrate=1396.7kbits/s speed=1.19x
    frame= 354 fps= 30 q=22.0 size= 2304kB time=00:00:14.21 bitrate=1328.2kbits/s speed= 1.2x
    frame= 371 fps= 30 q=20.0 size= 2560kB time=00:00:14.90 bitrate=1406.8kbits/s speed=1.21x
    frame= 387 fps= 30 q=25.0 size= 2560kB time=00:00:15.51 bitrate=1352.1kbits/s speed=1.21x
    frame= 402 fps= 30 q=27.0 size= 2816kB time=00:00:16.11 bitrate=1431.6kbits/s speed= 1.2x
    frame= 416 fps= 30 q=27.0 size= 2816kB time=00:00:16.67 bitrate=1383.7kbits/s speed= 1.2x
    frame= 430 fps= 30 q=27.0 size= 3072kB time=00:00:17.27 bitrate=1456.7kbits/s speed= 1.2x
    frame= 444 fps= 30 q=26.0 size= 3072kB time=00:00:17.83 bitrate=1411.2kbits/s speed=1.19x
    frame= 460 fps= 30 q=25.0 size= 3328kB time=00:00:18.43 bitrate=1478.8kbits/s speed=1.19x
    frame= 476 fps= 30 q=21.0 size= 3584kB time=00:00:19.08 bitrate=1538.3kbits/s speed=1.19x
    frame= 493 fps= 30 q=23.0 size= 3584kB time=00:00:19.78 bitrate=1484.1kbits/s speed= 1.2x
    frame= 511 fps= 30 q=24.0 size= 3840kB time=00:00:20.48 bitrate=1536.0kbits/s speed= 1.2x
    frame= 527 fps= 30 q=23.0 size= 4096kB time=00:00:21.13 bitrate=1588.0kbits/s speed= 1.2x
    frame= 542 fps= 30 q=25.0 size= 4096kB time=00:00:21.78 bitrate=1540.6kbits/s speed=1.21x
    frame= 558 fps= 30 q=25.0 size= 4352kB time=00:00:22.38 bitrate=1592.7kbits/s speed=1.21x
    frame= 574 fps= 30 q=25.0 size= 4352kB time=00:00:22.98 bitrate=1550.9kbits/s speed=1.21x
    frame= 590 fps= 30 q=24.0 size= 4608kB time=00:00:23.63 bitrate=1597.0kbits/s speed=1.21x
    frame= 607 fps= 30 q=17.0 size= 4608kB time=00:00:24.38 bitrate=1548.3kbits/s speed=1.21x
    frame= 622 fps= 30 q=19.0 size= 4608kB time=00:00:24.93 bitrate=1513.7kbits/s speed=1.21x
    frame= 625 fps= 30 q=-1.0 Lsize= 4827kB time=00:00:25.03 bitrate=1579.9kbits/s speed=1.21x
    video:4345kB audio:470kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead : 0.251744%
    [libx264 @ 0xb8b42e90] frame I:3 Avg QP:20.33 size : 86455
    [libx264 @ 0xb8b42e90] frame P:622 Avg QP:23.46 size : 6736
    [libx264 @ 0xb8b42e90] mb I I16..4 : 100.0% 0.0% 0.0%
    [libx264 @ 0xb8b42e90] mb P I16..4 : 1.8% 0.0% 0.0% P16..4 : 37.9% 0.0% 0.0% 0.0% 0.0% skip:60.3%
    [libx264 @ 0xb8b42e90] coded y,uvDC,uvAC intra : 41.0% 51.8% 22.0% inter : 15.3% 10.0% 0.8%
    [libx264 @ 0xb8b42e90] i16 v,h,dc,p : 29% 27% 24% 20%
    [libx264 @ 0xb8b42e90] i8c dc,h,v,p : 42% 23% 22% 14%
    [libx264 @ 0xb8b42e90] kb/s:1423.72
    [aac @ 0xb8b81070] Qavg : 472.000

  • HLS Event Stream from Azure Blob Storage

    23 janvier 2019, par nemesis_567

    Alright, so I encode videos of around 30 seconds with ffmpeg, the following flags :

    ffmpeg.exe -i \"{filename}\"  -f hls -hls_segment_type fmp4 -hls_flags single_file -hls_time 5 -g 1 \"{outname}.m3u8\"

    This generates a single playlist with an m4s and m3u8 file :

    #EXTM3U
    #EXT-X-VERSION:7
    #EXT-X-TARGETDURATION:5
    #EXT-X-MEDIA-SEQUENCE:0
    #EXT-X-MAP:URI="1e02982a-c455-40f5-8229-1033a640c91c-0.mp4.m4s",BYTERANGE="818@0"
    #EXTINF:4.781911,
    #EXT-X-BYTERANGE:1398720@5953584
    1e02982a-c455-40f5-8229-1033a640c91c-0.mp4.m4s
    #EXTINF:5.063200,
    #EXT-X-BYTERANGE:1490276@7352304
    1e02982a-c455-40f5-8229-1033a640c91c-0.mp4.m4s
    #EXTINF:5.063200,
    #EXT-X-BYTERANGE:1484824@8842580
    1e02982a-c455-40f5-8229-1033a640c91c-0.mp4.m4s
    #EXTINF:5.063200,
    #EXT-X-BYTERANGE:1468656@10327404
    1e02982a-c455-40f5-8229-1033a640c91c-0.mp4.m4s
    #EXTINF:1.969022,
    #EXT-X-BYTERANGE:576408@11796060
    1e02982a-c455-40f5-8229-1033a640c91c-0.mp4.m4s
    #EXT-X-ENDLIST

    I take this playlist and append several others that are just the same as they come adding a DIscontinuity tag and between each of them and removing unneeded tags. While doing this I replace the filenames with a working SAS URL for the actual files.

    Which results in files of the following type :

    #EXTM3U
    #EXT-X-PLAYLIST-TYPE:EVENT
    #EXT-X-VERSION:7
    #EXT-X-TARGETDURATION:10
    #EXT-X-MEDIA-SEQUENCE:0
    #EXT-X-INDEPENDENT-SEGMENTS
    #EXT-X-MAP:URI="https://vsatstreams.blob.core.windows.net/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/1-frag.m4s?sv=2018-03-28&sr=b&sig=el%2F529BGb4Xjeetiv9kxaHAxGYC%2BwogSYgvCivq1tlc%3D&st=2019-01-10T05%3A09%3A13Z&se=2021-01-10T05%3A14%3A13Z&sp=rw",BYTERANGE="818@0"
    #EXTINF:4.654771,
    #EXT-X-BYTERANGE:1474761@4854677
    https://vsatstreams.blob.core.windows.net/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/1-frag.m4s?sv=2018-03-28&sr=b&sig=el%2F529BGb4Xjeetiv9kxaHAxGYC%2BwogSYgvCivq1tlc%3D&st=2019-01-10T05%3A09%3A13Z&se=2021-01-10T05%3A14%3A13Z&sp=rw
    #EXTINF:5.430566,
    #EXT-X-BYTERANGE:1716825@6329438
    https://vsatstreams.blob.core.windows.net/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/1-frag.m4s?sv=2018-03-28&sr=b&sig=el%2F529BGb4Xjeetiv9kxaHAxGYC%2BwogSYgvCivq1tlc%3D&st=2019-01-10T05%3A09%3A13Z&se=2021-01-10T05%3A14%3A13Z&sp=rw
    #EXTINF:4.654771,
    #EXT-X-BYTERANGE:1479725@8046263
    https://vsatstreams.blob.core.windows.net/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/1-frag.m4s?sv=2018-03-28&sr=b&sig=el%2F529BGb4Xjeetiv9kxaHAxGYC%2BwogSYgvCivq1tlc%3D&st=2019-01-10T05%3A09%3A13Z&se=2021-01-10T05%3A14%3A13Z&sp=rw
    #EXTINF:5.430566,
    #EXT-X-BYTERANGE:1710125@9525988
    https://vsatstreams.blob.core.windows.net/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/1-frag.m4s?sv=2018-03-28&sr=b&sig=el%2F529BGb4Xjeetiv9kxaHAxGYC%2BwogSYgvCivq1tlc%3D&st=2019-01-10T05%3A09%3A13Z&se=2021-01-10T05%3A14%3A13Z&sp=rw
    #EXTINF:3.103181,
    #EXT-X-BYTERANGE:200@11236113
    https://vsatstreams.blob.core.windows.net/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/1-frag.m4s?sv=2018-03-28&sr=b&sig=el%2F529BGb4Xjeetiv9kxaHAxGYC%2BwogSYgvCivq1tlc%3D&st=2019-01-10T05%3A09%3A13Z&se=2021-01-10T05%3A14%3A13Z&sp=rw
    #EXT-X-DISCONTINUITY
    #EXT-X-MAP:URI="https://vsatstreams.blob.core.windows.net/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/2-frag.m4s?sv=2018-03-28&sr=b&sig=s3s3R1sjE6lZRgfmaYdOkOGCr7BYkOrygBy%2F90crwvM%3D&st=2019-01-10T05%3A09%3A53Z&se=2021-01-10T05%3A14%3A53Z&sp=rw",BYTERANGE="819@0"
    #EXTINF:4.897959,
    #EXT-X-BYTERANGE:1506220@6184008
    https://vsatstreams.blob.core.windows.net/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/2-frag.m4s?sv=2018-03-28&sr=b&sig=s3s3R1sjE6lZRgfmaYdOkOGCr7BYkOrygBy%2F90crwvM%3D&st=2019-01-10T05%3A09%3A53Z&se=2021-01-10T05%3A14%3A53Z&sp=rw
    #EXTINF:4.897959,
    #EXT-X-BYTERANGE:1496289@7690228
    https://vsatstreams.blob.core.windows.net/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/2-frag.m4s?sv=2018-03-28&sr=b&sig=s3s3R1sjE6lZRgfmaYdOkOGCr7BYkOrygBy%2F90crwvM%3D&st=2019-01-10T05%3A09%3A53Z&se=2021-01-10T05%3A14%3A53Z&sp=rw
    #EXTINF:4.897959,
    #EXT-X-BYTERANGE:1516854@9186517
    https://vsatstreams.blob.core.windows.net/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/2-frag.m4s?sv=2018-03-28&sr=b&sig=s3s3R1sjE6lZRgfmaYdOkOGCr7BYkOrygBy%2F90crwvM%3D&st=2019-01-10T05%3A09%3A53Z&se=2021-01-10T05%3A14%3A53Z&sp=rw
    #EXTINF:4.897959,
    #EXT-X-BYTERANGE:1492617@10703371
    https://vsatstreams.blob.core.windows.net/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/2-frag.m4s?sv=2018-03-28&sr=b&sig=s3s3R1sjE6lZRgfmaYdOkOGCr7BYkOrygBy%2F90crwvM%3D&st=2019-01-10T05%3A09%3A53Z&se=2021-01-10T05%3A14%3A53Z&sp=rw
    #EXTINF:0.816327,
    #EXT-X-BYTERANGE:219@12195988
    https://vsatstreams.blob.core.windows.net/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/2-frag.m4s?sv=2018-03-28&sr=b&sig=s3s3R1sjE6lZRgfmaYdOkOGCr7BYkOrygBy%2F90crwvM%3D&st=2019-01-10T05%3A09%3A53Z&se=2021-01-10T05%3A14%3A53Z&sp=rw
    #EXT-X-DISCONTINUITY
    #EXT-X-MAP:URI="https://vsatstreams.blob.core.windows.net/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/3-frag.m4s?sv=2018-03-28&sr=b&sig=O%2B%2FQBnVcyIzn2r3T8S7xq2dic9LKW3q7p2bGSYen%2BbI%3D&st=2019-01-10T05%3A10%3A43Z&se=2021-01-10T05%3A15%3A43Z&sp=rw",BYTERANGE="820@0"
    #EXTINF:5.000000,
    #EXT-X-BYTERANGE:1352781@6631869
    https://vsatstreams.blob.core.windows.net/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/3-frag.m4s?sv=2018-03-28&sr=b&sig=O%2B%2FQBnVcyIzn2r3T8S7xq2dic9LKW3q7p2bGSYen%2BbI%3D&st=2019-01-10T05%3A10%3A43Z&se=2021-01-10T05%3A15%3A43Z&sp=rw
    #EXTINF:5.000000,
    #EXT-X-BYTERANGE:1357320@7984650
    https://vsatstreams.blob.core.windows.net/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/3-frag.m4s?sv=2018-03-28&sr=b&sig=O%2B%2FQBnVcyIzn2r3T8S7xq2dic9LKW3q7p2bGSYen%2BbI%3D&st=2019-01-10T05%3A10%3A43Z&se=2021-01-10T05%3A15%3A43Z&sp=rw
    #EXTINF:5.000000,
    #EXT-X-BYTERANGE:1360645@9341970
    https://vsatstreams.blob.core.windows.net/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/3-frag.m4s?sv=2018-03-28&sr=b&sig=O%2B%2FQBnVcyIzn2r3T8S7xq2dic9LKW3q7p2bGSYen%2BbI%3D&st=2019-01-10T05%3A10%3A43Z&se=2021-01-10T05%3A15%3A43Z&sp=rw
    #EXTINF:5.000000,
    #EXT-X-BYTERANGE:1334946@10702615
    https://vsatstreams.blob.core.windows.net/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/3-frag.m4s?sv=2018-03-28&sr=b&sig=O%2B%2FQBnVcyIzn2r3T8S7xq2dic9LKW3q7p2bGSYen%2BbI%3D&st=2019-01-10T05%3A10%3A43Z&se=2021-01-10T05%3A15%3A43Z&sp=rw
    #EXTINF:5.000000,
    #EXT-X-BYTERANGE:238@12037561
    https://vsatstreams.blob.core.windows.net/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/3-frag.m4s?sv=2018-03-28&sr=b&sig=O%2B%2FQBnVcyIzn2r3T8S7xq2dic9LKW3q7p2bGSYen%2BbI%3D&st=2019-01-10T05%3A10%3A43Z&se=2021-01-10T05%3A15%3A43Z&sp=rw
    #EXT-X-DISCONTINUITY
    #EXT-X-MAP:URI="https://vsatstreams.blob.core.windows.net/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/4-frag.m4s?sv=2018-03-28&sr=b&sig=jPsSq8%2FfNzfjUx5bauJs7mkLu8w%2FYFKLaeLRBu8lPzg%3D&st=2019-01-10T05%3A11%3A25Z&se=2021-01-10T05%3A16%3A25Z&sp=rw",BYTERANGE="820@0"
    #EXTINF:5.000000,
    #EXT-X-BYTERANGE:1359259@6647772
    https://vsatstreams.blob.core.windows.net/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/4-frag.m4s?sv=2018-03-28&sr=b&sig=jPsSq8%2FfNzfjUx5bauJs7mkLu8w%2FYFKLaeLRBu8lPzg%3D&st=2019-01-10T05%3A11%3A25Z&se=2021-01-10T05%3A16%3A25Z&sp=rw
    #EXTINF:5.000000,
    #EXT-X-BYTERANGE:1353269@8007031
    https://vsatstreams.blob.core.windows.net/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/4-frag.m4s?sv=2018-03-28&sr=b&sig=jPsSq8%2FfNzfjUx5bauJs7mkLu8w%2FYFKLaeLRBu8lPzg%3D&st=2019-01-10T05%3A11%3A25Z&se=2021-01-10T05%3A16%3A25Z&sp=rw
    #EXTINF:5.000000,
    #EXT-X-BYTERANGE:1359724@9360300
    https://vsatstreams.blob.core.windows.net/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/4-frag.m4s?sv=2018-03-28&sr=b&sig=jPsSq8%2FfNzfjUx5bauJs7mkLu8w%2FYFKLaeLRBu8lPzg%3D&st=2019-01-10T05%3A11%3A25Z&se=2021-01-10T05%3A16%3A25Z&sp=rw
    #EXTINF:5.000000,
    #EXT-X-BYTERANGE:1339437@10720024
    https://vsatstreams.blob.core.windows.net/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/4-frag.m4s?sv=2018-03-28&sr=b&sig=jPsSq8%2FfNzfjUx5bauJs7mkLu8w%2FYFKLaeLRBu8lPzg%3D&st=2019-01-10T05%3A11%3A25Z&se=2021-01-10T05%3A16%3A25Z&sp=rw
    #EXTINF:5.000000,
    #EXT-X-BYTERANGE:238@12059461
    https://vsatstreams.blob.core.windows.net/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/4-frag.m4s?sv=2018-03-28&sr=b&sig=jPsSq8%2FfNzfjUx5bauJs7mkLu8w%2FYFKLaeLRBu8lPzg%3D&st=2019-01-10T05%3A11%3A25Z&se=2021-01-10T05%3A16%3A25Z&sp=rw
    #EXT-X-DISCONTINUITY
    #EXT-X-MAP:URI="https://vsatstreams.blob.core.windows.net/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/4-frag.m4s?sv=2018-03-28&sr=b&sig=yfgkYvCLFjt384tsDZZ2ahVfPI4XxoCyyWepmux4rvc%3D&st=2019-01-10T05%3A12%3A12Z&se=2021-01-10T05%3A17%3A12Z&sp=rw",BYTERANGE="820@0"
    #EXTINF:5.000000,
    #EXT-X-BYTERANGE:1371742@6775319
    https://vsatstreams.blob.core.windows.net/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/4-frag.m4s?sv=2018-03-28&sr=b&sig=yfgkYvCLFjt384tsDZZ2ahVfPI4XxoCyyWepmux4rvc%3D&st=2019-01-10T05%3A12%3A12Z&se=2021-01-10T05%3A17%3A12Z&sp=rw
    #EXTINF:5.000000,
    #EXT-X-BYTERANGE:1389742@8147061
    https://vsatstreams.blob.core.windows.net/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/4-frag.m4s?sv=2018-03-28&sr=b&sig=yfgkYvCLFjt384tsDZZ2ahVfPI4XxoCyyWepmux4rvc%3D&st=2019-01-10T05%3A12%3A12Z&se=2021-01-10T05%3A17%3A12Z&sp=rw
    #EXTINF:5.000000,
    #EXT-X-BYTERANGE:1377900@9536803
    https://vsatstreams.blob.core.windows.net/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/75888d6c-41fb-4cb0-9573-0e2ab7a6dc4c/4-frag.m4s?sv=2018-03-28&sr=b&sig=yfgkYvCLFjt384tsDZZ2ahVfPI4XxoCyyWepmux4rvc%3D&st=2019-01-10T05%3A12%3A12Z&se=2021-01-10T05%3A17%3A12Z&sp=rw
    #EXTINF:5.000000,

    Link for file is here

    This stream does not play in chrome with video.js, and only plays in bitmovin client, but it constantly fails with buffer append/stalled errors. In firefox it plays, but without much reliability.

    So what am I doing wrong in this process ? I’ve checked the specification for HLS several times, can’t see what I’m doing wrong, or what the player expects.

    Please check hls.js player, with the following URL which uses the stream above to see what I’m talking about.
    HLS.JS Demo Player With My Playlist