
Recherche avancée
Autres articles (33)
-
Contribute to translation
13 avril 2011You 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, parLa 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, parPour 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 stevendesuI 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.73The 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 packetsThen 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
is0KB
andvq
is a positive number (I think it was30KB
or so ?) - Once frozen,
vq
is also0KB
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.
- While running normally,
-
Video merging ffmpeg taking more than 15 minutes for 5mb video
27 juillet 2018, par stan wyckI 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_567Alright, 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-ENDLISTI 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,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