
Recherche avancée
Médias (2)
-
GetID3 - Bloc informations de fichiers
9 avril 2013, par
Mis à jour : Mai 2013
Langue : français
Type : Image
-
GetID3 - Boutons supplémentaires
9 avril 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Image
Autres articles (79)
-
Keeping control of your media in your hands
13 avril 2011, parThe vocabulary used on this site and around MediaSPIP in general, aims to avoid reference to Web 2.0 and the companies that profit from media-sharing.
While using MediaSPIP, you are invited to avoid using words like "Brand", "Cloud" and "Market".
MediaSPIP is designed to facilitate the sharing of creative media online, while allowing authors to retain complete control of their work.
MediaSPIP aims to be accessible to as many people as possible and development is based on expanding the (...) -
Le profil des utilisateurs
12 avril 2011, parChaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...) -
Configurer la prise en compte des langues
15 novembre 2010, parAccéder à la configuration et ajouter des langues prises en compte
Afin de configurer la prise en compte de nouvelles langues, il est nécessaire de se rendre dans la partie "Administrer" du site.
De là, dans le menu de navigation, vous pouvez accéder à une partie "Gestion des langues" permettant d’activer la prise en compte de nouvelles langues.
Chaque nouvelle langue ajoutée reste désactivable tant qu’aucun objet n’est créé dans cette langue. Dans ce cas, elle devient grisée dans la configuration et (...)
Sur d’autres sites (11235)
-
FFMPEG changes speed when concat 2 or more different videos
13 novembre 2020, par Daniel Santos NetoI am using this code


ffmpeg -y -re -i "/myvideos/countdown10.mp4" -re -i "/myvideos/video_218.mp4" -re -i "/myvideos/video_220.mp4" -re -i "/myvideos/video_221.mp4" -re -i "/myvideos/video_222.mp4" -re -i "/myvideos/countdown10.mp4" -re -i '/myvideos/watermark.png' -filter_complex " [0:v] [0:a] [1:v] [1:a] [2:v] [2:a] [3:v] [3:a] [4:v] [4:a] [5:v] [5:a] concat=n=6:v=1:a=1:unsafe=1 [vv] [a]; [vv][6:v]overlay=W-w-0:0[v]" -map "[v]" -map "[a]" -preset veryfast -vcodec h264 -acodec aac -strict -2 -max_muxing_queue_size 1024 -y -s 1280x720 -ar 44100 -f flv rtmp://server/live/5fa3731d4f8a6_159



the problem is, when I run it the process speed is a lot faster then the videos length, so I got disconnected from my livestream before the live finishes.


I guess it is something related to the bit rates.


also I notice depends on what video is transcoding the speed floats between 0.9x and 3.7x




Edited :


Complete log file :


avideo@ubuntu:~$ ffmpeg -re -i "/var/www/gdrive/htdocs/YouPHPTube-Encoder/videos/videosListToLive/countdown10.mp4" -re -i "/var/www/gdrive/htdocs/YouPHPTube-Encoder/videos/videosListToLive/192.168.1.4/video_222.mp4" -filter_complex " [0:v] [0:a] [1:v] [1:a] concat=n=2:v=1:a=1:unsafe=1 [v] [a]" -map "[v]" -map "[a]" -preset veryfast -vcodec h264 -acodec aac -strict -2 -max_muxing_queue_size 1024 -y -s 1280x720 -ar 44100 -f flv rtmp://encoder.gdrive.local/live?p=f321d14cdeeb7cded7489f504fa8862b/5fa3731d4f8a6_160
ffmpeg version 4.2.4-1ubuntu0.1 Copyright (c) 2000-2020 the FFmpeg developers
 built with gcc 9 (Ubuntu 9.3.0-10ubuntu2)
 configuration: --prefix=/usr --extra-version=1ubuntu0.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
 libavutil 56. 31.100 / 56. 31.100
 libavcodec 58. 54.100 / 58. 54.100
 libavformat 58. 29.100 / 58. 29.100
 libavdevice 58. 8.100 / 58. 8.100
 libavfilter 7. 57.100 / 7. 57.100
 libavresample 4. 0. 0 / 4. 0. 0
 libswscale 5. 5.100 / 5. 5.100
 libswresample 3. 5.100 / 3. 5.100
 libpostproc 55. 5.100 / 55. 5.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/var/www/gdrive/htdocs/YouPHPTube-Encoder/videos/videosListToLive/countdown10.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf58.29.100
 Duration: 00:00:10.02, start: 0.000000, bitrate: 122 kb/s
 Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 83 kb/s, 5 fps, 5 tbr, 10240 tbn, 10 tbc (default)
 Metadata:
 handler_name : VideoHandler
 Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 35 kb/s (default)
 Metadata:
 handler_name : IsoMedia File Produced by Google, 5-11-2011
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from '/var/www/gdrive/htdocs/YouPHPTube-Encoder/videos/videosListToLive/192.168.1.4/video_222.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf58.29.100
 Duration: 00:00:30.60, start: 0.000000, bitrate: 37 kb/s
 Stream #1:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 26 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
 Metadata:
 handler_name : ISO Media file produced by Google Inc. Created on: 10/16/2018.
 Stream #1:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 2 kb/s (default)
 Metadata:
 handler_name : ISO Media file produced by Google Inc. Created on: 10/16/2018.
Stream mapping:
 Stream #0:0 (h264) -> concat:in0:v0
 Stream #0:1 (aac) -> concat:in0:a0
 Stream #1:0 (h264) -> concat:in1:v0
 Stream #1: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 @ 0x5645453b7a80] using SAR=1/1B time=-577014:32:22.77 bitrate= -0.0kbits/s speed=N/A
[libx264 @ 0x5645453b7a80] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0x5645453b7a80] profile High, level 3.1
[libx264 @ 0x5645453b7a80] 264 - core 155 r2917 0a84d98 - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - 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=6 lookahead_threads=2 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=5 scenecut=40 intra_refresh=0 rc_lookahead=10 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://encoder.gdrive.local/live?p=f321d14cdeeb7cded7489f504fa8862b/5fa3731d4f8a6_160':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf58.29.100
 Stream #0:0: Video: h264 (libx264) ([7][0][0][0] / 0x0007), yuv420p(progressive), 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 5 fps, 1k tbn, 5 tbc (default)
 Metadata:
 encoder : Lavc58.54.100 libx264
 Side data:
 cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
 Stream #0:1: Audio: aac (LC) ([10][0][0][0] / 0x000A), 44100 Hz, stereo, fltp, 128 kb/s (default)
 Metadata:
 encoder : Lavc58.54.100 aac
[flv @ 0x5645453ae580] Failed to update header with correct duration. 49.3kbits/s dup=0 drop=751 speed=1.33x
[flv @ 0x5645453ae580] Failed to update header with correct filesize.
frame= 205 fps=6.7 q=-1.0 Lsize= 250kB time=00:00:40.58 bitrate= 50.5kbits/s dup=0 drop=762 speed=1.33x
video:164kB audio:53kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 15.473391%
[libx264 @ 0x5645453b7a80] frame I:2 Avg QP: 4.62 size: 10450
[libx264 @ 0x5645453b7a80] frame P:58 Avg QP:10.06 size: 1457
[libx264 @ 0x5645453b7a80] frame B:145 Avg QP:11.12 size: 427
[libx264 @ 0x5645453b7a80] consecutive B-frames: 4.9% 1.0% 4.4% 89.8%
[libx264 @ 0x5645453b7a80] mb I I16..4: 91.4% 2.8% 5.7%
[libx264 @ 0x5645453b7a80] mb P I16..4: 8.4% 0.4% 0.1% P16..4: 2.0% 0.3% 0.1% 0.0% 0.0% skip:88.6%
[libx264 @ 0x5645453b7a80] mb B I16..4: 0.2% 0.1% 0.0% B16..8: 0.9% 0.1% 0.0% direct: 4.7% skip:94.0% L0:33.9% L1:63.4% BI: 2.7%
[libx264 @ 0x5645453b7a80] 8x8 transform intra:5.5% inter:24.0%
[libx264 @ 0x5645453b7a80] coded y,uvDC,uvAC intra: 4.7% 22.9% 19.5% inter: 0.2% 4.2% 0.3%
[libx264 @ 0x5645453b7a80] i16 v,h,dc,p: 94% 4% 2% 0%
[libx264 @ 0x5645453b7a80] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 31% 18% 37% 3% 2% 3% 2% 2% 1%
[libx264 @ 0x5645453b7a80] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 38% 20% 21% 5% 3% 4% 3% 4% 3%
[libx264 @ 0x5645453b7a80] i8c dc,h,v,p: 78% 8% 12% 2%
[libx264 @ 0x5645453b7a80] Weighted P-Frames: Y:20.7% UV:20.7%
[libx264 @ 0x5645453b7a80] kb/s:32.64
[aac @ 0x564545421540] Qavg: 61548.156
avideo@ubuntu:~$



Also here is a video where you can see the process


https://tutorials.avideo.com/video/102/ffmpeg-changes-speed-when-concat-2-or-more-different-videos


this live should have exactly 40 seconds but finishes before then that


also look at this time position https://tutorials.avideo.com/video/102/ffmpeg-changes-speed-when-concat-2-or-more-different-videos?t=12


the speed changes from speed=0.9 to speed=1.9




EDITED 2 :


I tried the FPS command as suggested and still the problem


avideo@ubuntu:~$ ffmpeg -re -i "http://192.168.1.4/YouPHPTube/videos/_YPTuniqid_5f80c547421057.24056015/index.m3u8?token=eyJzYWx0IjoiaHR0cDpcL1wvMTkyLjE2OC4xLjRcL1lvdVBIUFR1YmVcLyIsInRva2VuVGltZU91dCI6IjIxNjAwIiwiZmlsZW5hbWUiOiJfWVBUdW5pcWlkXzVmODBjNTQ3NDIxMDU3LjI0MDU2MDE1IiwidGltZSI6MTYwNTI4MzExN30=" -re -i "http://192.168.1.4/YouPHPTube/videos/_YPTuniqid_5fa3f4e37ffb65.33430678_720.mp4?token=eyJzYWx0IjoiaHR0cDpcL1wvMTkyLjE2OC4xLjRcL1lvdVBIUFR1YmVcLyIsInRva2VuVGltZU91dCI6IjIxNjAwIiwiZmlsZW5hbWUiOiJfWVBUdW5pcWlkXzVmYTNmNGUzN2ZmYjY1LjMzNDMwNjc4IiwidGltZSI6MTYwNTI4MzExN30=" -re -i '/var/www/gdrive/htdocs/YouPHPTube-Encoder/videos/videosListToLive/192.168.1.4/watermark.png' -filter_complex " [0]setdar=16/9,scale=1280:720, fps=30[0:v]; [1]setdar=16/9,scale=1280:720, fps=30[1:v]; [0:v] [0:a] [1:v] [1:a] concat=n=2:v=1:a=1:unsafe=1 [vv] [a]; [vv][2:v]overlay=W-w-0:0[v]" -map "[v]" -map "[a]" -c:v libx264 -b:v 3000k -maxrate 3000k -bufsize 6000k -g 50 -c:a aac -b:a 128k -ac 2 -s 1280x720 -ar 44100 -f flv rtmp://encoder.gdrive.local/live?p=f321d14cdeeb7cded7489f504fa8862b/5fa3731d4f8a6_161
ffmpeg version 4.2.4-1ubuntu0.1 Copyright (c) 2000-2020 the FFmpeg developers
 built with gcc 9 (Ubuntu 9.3.0-10ubuntu2)
 configuration: --prefix=/usr --extra-version=1ubuntu0.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
 libavutil 56. 31.100 / 56. 31.100
 libavcodec 58. 54.100 / 58. 54.100
 libavformat 58. 29.100 / 58. 29.100
 libavdevice 58. 8.100 / 58. 8.100
 libavfilter 7. 57.100 / 7. 57.100
 libavresample 4. 0. 0 / 4. 0. 0
 libswscale 5. 5.100 / 5. 5.100
 libswresample 3. 5.100 / 3. 5.100
 libpostproc 55. 5.100 / 55. 5.100
[hls @ 0x5627c50f2800] Skip ('#EXT-X-VERSION:3')
[hls @ 0x5627c50f2800] Opening 'http://192.168.1.4/YouPHPTube/videos/_YPTuniqid_5f80c547421057.24056015/res240/index.m3u8?token=eyJzYWx0IjoiaHR0cDpcL1wvMTkyLjE2OC4xLjRcL1lvdVBIUFR1YmVcLyIsInRva2VuVGltZU91dCI6IjIxNjAwIiwiZmlsZW5hbWUiOiJfWVBUdW5pcWlkXzVmODBjNTQ3NDIxMDU3LjI0MDU2MDE1IiwidGltZSI6MTYwNTI4MzExN30=' for reading
[hls @ 0x5627c50f2800] Skip ('#EXT-X-VERSION:3')
[http @ 0x5627c50fa940] Opening 'http://192.168.1.4/YouPHPTube/videos/_YPTuniqid_5f80c547421057.24056015/res360/index.m3u8?token=eyJzYWx0IjoiaHR0cDpcL1wvMTkyLjE2OC4xLjRcL1lvdVBIUFR1YmVcLyIsInRva2VuVGltZU91dCI6IjIxNjAwIiwiZmlsZW5hbWUiOiJfWVBUdW5pcWlkXzVmODBjNTQ3NDIxMDU3LjI0MDU2MDE1IiwidGltZSI6MTYwNTI4MzExN30=' for reading
[hls @ 0x5627c50f2800] Skip ('#EXT-X-VERSION:3')
[hls @ 0x5627c50f2800] Opening 'http://192.168.1.4/YouPHPTube/videos/_YPTuniqid_5f80c547421057.24056015/enc_5f80c54914f03.key' for reading
[hls @ 0x5627c50f2800] Opening 'crypto+http://192.168.1.4/YouPHPTube/videos/_YPTuniqid_5f80c547421057.24056015/res240/index0.ts' for reading
[hls @ 0x5627c50f2800] Opening 'http://192.168.1.4/YouPHPTube/videos/_YPTuniqid_5f80c547421057.24056015/enc_5f80c54914f03.key' for reading
[hls @ 0x5627c50f2800] Opening 'crypto+http://192.168.1.4/YouPHPTube/videos/_YPTuniqid_5f80c547421057.24056015/res360/index0.ts' for reading
Input #0, hls, from 'http://192.168.1.4/YouPHPTube/videos/_YPTuniqid_5f80c547421057.24056015/index.m3u8?token=eyJzYWx0IjoiaHR0cDpcL1wvMTkyLjE2OC4xLjRcL1lvdVBIUFR1YmVcLyIsInRva2VuVGltZU91dCI6IjIxNjAwIiwiZmlsZW5hbWUiOiJfWVBUdW5pcWlkXzVmODBjNTQ3NDIxMDU3LjI0MDU2MDE1IiwidGltZSI6MTYwNTI4MzExN30=':
 Duration: 00:00:13.21, start: 1.460111, bitrate: 0 kb/s
 Program 0
 Metadata:
 variant_bitrate : 300000
 Stream #0:0: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 426x240 [SAR 640:639 DAR 16:9], 24 fps, 24 tbr, 90k tbn, 48 tbc
 Metadata:
 variant_bitrate : 300000
 Stream #0:1: Audio: aac (LC) ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp
 Metadata:
 variant_bitrate : 300000
 Program 1
 Metadata:
 variant_bitrate : 600000
 Stream #0:2: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 640x360 [SAR 1:1 DAR 16:9], 24 fps, 24 tbr, 90k tbn, 48 tbc
 Metadata:
 variant_bitrate : 600000
 Stream #0:3: Audio: aac (LC) ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp
 Metadata:
 variant_bitrate : 600000
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from 'http://192.168.1.4/YouPHPTube/videos/_YPTuniqid_5fa3f4e37ffb65.33430678_720.mp4?token=eyJzYWx0IjoiaHR0cDpcL1wvMTkyLjE2OC4xLjRcL1lvdVBIUFR1YmVcLyIsInRva2VuVGltZU91dCI6IjIxNjAwIiwiZmlsZW5hbWUiOiJfWVBUdW5pcWlkXzVmYTNmNGUzN2ZmYjY1LjMzNDMwNjc4IiwidGltZSI6MTYwNTI4MzExN30=':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf58.29.100
 Duration: 00:00:30.60, start: 0.000000, bitrate: 37 kb/s
 Stream #1:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 26 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
 Metadata:
 handler_name : ISO Media file produced by Google Inc. Created on: 10/16/2018.
 Stream #1:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 2 kb/s (default)
 Metadata:
 handler_name : ISO Media file produced by Google Inc. Created on: 10/16/2018.
Input #2, png_pipe, from '/var/www/gdrive/htdocs/YouPHPTube-Encoder/videos/videosListToLive/192.168.1.4/watermark.png':
 Duration: N/A, bitrate: N/A
 Stream #2:0: Video: png, rgba(pc), 1280x720 [SAR 3780:3780 DAR 16:9], 25 tbr, 25 tbn, 25 tbc
Stream mapping:
 Stream #0:0 (h264) -> setdar
 Stream #0:1 (aac) -> concat:in0:a0
 Stream #1:0 (h264) -> setdar
 Stream #1:1 (aac) -> concat:in1:a0
 Stream #2:0 (png) -> overlay:overlay
 overlay -> Stream #0:0 (libx264)
 concat:out:a0 -> Stream #0:1 (aac)
Press [q] to stop, [?] for help
[libx264 @ 0x5627c5267f40] using SAR=1/1
[libx264 @ 0x5627c5267f40] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0x5627c5267f40] profile High, level 3.1
[libx264 @ 0x5627c5267f40] 264 - core 155 r2917 0a84d98 - 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=50 keyint_min=5 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=cbr mbtree=1 bitrate=3000 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 vbv_maxrate=3000 vbv_bufsize=6000 nal_hrd=none filler=0 ip_ratio=1.40 aq=1:1.00
Output #0, flv, to 'rtmp://encoder.gdrive.local/live?p=f321d14cdeeb7cded7489f504fa8862b/5fa3731d4f8a6_161':
 Metadata:
 encoder : Lavf58.29.100
 Stream #0:0: Video: h264 (libx264) ([7][0][0][0] / 0x0007), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 3000 kb/s, 30 fps, 1k tbn, 30 tbc (default)
 Metadata:
 encoder : Lavc58.54.100 libx264
 Side data:
 cpb: bitrate max/min/avg: 3000000/0/3000000 buffer size: 6000000 vbv_delay: -1
 Stream #0:1: Audio: aac (LC) ([10][0][0][0] / 0x000A), 44100 Hz, stereo, fltp, 128 kb/s (default)
 Metadata:
 encoder : Lavc58.54.100 aac
[hls @ 0x5627c50f2800] Opening 'crypto+http://192.168.1.4/YouPHPTube/videos/_YPTuniqid_5f80c547421057.24056015/res240/index1.ts' for reading
[hls @ 0x5627c50f2800] No longer receiving playlist 1 ('http://192.168.1.4/YouPHPTube/videos/_YPTuniqid_5f80c547421057.24056015/res360/index.m3u8?token=eyJzYWx0IjoiaHR0cDpcL1wvMTkyLjE2OC4xLjRcL1lvdVBIUFR1YmVcLyIsInRva2VuVGltZU91dCI6IjIxNjAwIiwiZmlsZW5hbWUiOiJfWVBUdW5pcWlkXzVmODBjNTQ3NDIxMDU3LjI0MDU2MDE1IiwidGltZSI6MTYwNTI4MzExN30=')
[hls @ 0x5627c50f2800] Opening 'crypto+http://192.168.1.4/YouPHPTube/videos/_YPTuniqid_5f80c547421057.24056015/res240/index2.ts' for reading
[flv @ 0x5627c52635c0] Failed to update header with correct duration.10.4kbits/s speed=1.43x
[flv @ 0x5627c52635c0] Failed to update header with correct filesize.
frame= 1313 fps= 43 q=-1.0 Lsize= 5937kB time=00:00:43.81 bitrate=1110.1kbits/s speed=1.43x
video:5662kB audio:218kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.976283%
[libx264 @ 0x5627c5267f40] frame I:70 Avg QP: 4.15 size: 27705
[libx264 @ 0x5627c5267f40] frame P:423 Avg QP: 4.16 size: 6930
[libx264 @ 0x5627c5267f40] frame B:820 Avg QP: 1.56 size: 1130
[libx264 @ 0x5627c5267f40] consecutive B-frames: 13.6% 7.9% 4.8% 73.7%
[libx264 @ 0x5627c5267f40] mb I I16..4: 69.2% 24.3% 6.4%
[libx264 @ 0x5627c5267f40] mb P I16..4: 2.0% 9.4% 1.6% P16..4: 1.7% 0.3% 0.1% 0.0% 0.0% skip:85.0%
[libx264 @ 0x5627c5267f40] mb B I16..4: 0.1% 0.3% 0.2% B16..8: 1.0% 0.1% 0.0% direct: 0.6% skip:97.6% L0:57.9% L1:40.1% BI: 2.0%
[libx264 @ 0x5627c5267f40] 8x8 transform intra:45.7% inter:71.9%
[libx264 @ 0x5627c5267f40] coded y,uvDC,uvAC intra: 36.1% 46.9% 43.4% inter: 0.4% 1.1% 0.7%
[libx264 @ 0x5627c5267f40] i16 v,h,dc,p: 93% 4% 3% 0%
[libx264 @ 0x5627c5267f40] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 65% 8% 16% 1% 2% 3% 1% 2% 2%
[libx264 @ 0x5627c5267f40] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 50% 20% 10% 3% 4% 5% 3% 4% 2%
[libx264 @ 0x5627c5267f40] i8c dc,h,v,p: 61% 10% 25% 4%
[libx264 @ 0x5627c5267f40] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x5627c5267f40] ref P L0: 72.6% 2.7% 18.0% 6.7%
[libx264 @ 0x5627c5267f40] ref B L0: 89.1% 9.4% 1.5%
[libx264 @ 0x5627c5267f40] ref B L1: 98.0% 2.0%
[libx264 @ 0x5627c5267f40] kb/s:1059.69
[aac @ 0x5627c51d25c0] Qavg: 46028.516
avideo@ubuntu:~$



-
How to take screenshots of streamers using the Twitch API
10 décembre 2020, par oo92My goal is to create a dataset of gameplays on Twitch using the API. How I want to do it is this :


- 

- Get a list of live streams using the API.
- Use streamlink and ffmpeg on Python to take the screenshots through the Stream source






To get the streams, I have the following code thanks to a SO user :


from twitch import TwitchClient

client = TwitchClient(client_id='<my client="client">')
streams = client.streams.get_live_streams(limit=100)

print(streams)
</my>


The output is this. Its a lot larger, I just made it shorter... :


[{'id': 40889579422, 'game': 'Among Us', 'broadcast_platform': 'live', 'community_id': '', 'community_ids': [], 'viewers': 74594, 'video_height': 1080, 'average_fps': 60, 'delay': 0, 'created_at': datetime.datetime(2020, 12, 9, 23, 53, 34), 'is_playlist': False, 'stream_type': 'live', 'preview': {'small': 'https://static-cdn.jtvnw.net/previews-ttv/live_user_sykkuno-80x45.jpg', 'medium': 'https://static-cdn.jtvnw.net/previews-ttv/live_user_sykkuno-320x180.jpg', 'large': 'https://static-cdn.jtvnw.net/previews-ttv/live_user_sykkuno-640x360.jpg', 'template': 'https://static-cdn.jtvnw.net/previews-ttv/live_user_sykkuno-{width}x{height}.jpg'}, 'channel': {'mature': False, 'status': 'amongus at 4 !!', 'broadcaster_language': 'en', 'broadcaster_software': '', 'display_name': 'Sykkuno', 'game': 'Among Us', 'language': 'en', 'id': 26154978, 'name': 'sykkuno', 'created_at': datetime.datetime(2011, 11, 15, 1, 29, 29, 140794), 'updated_at': datetime.datetime(2020, 12, 10, 0, 35, 50, 916363), 'partner': True, 'logo': 'https://static-cdn.jtvnw.net/jtv_user_pictures/sykkuno-profile_image-6ab1e70e07e29e9b-300x300.jpeg', 'video_banner': 'https://static-cdn.jtvnw.net/jtv_user_pictures/4b654ce5-58dc-4fa6-b77c-7250bb2d5269-channel_offline_image-1920x1080.png', 'profile_banner': 'https://static-cdn.jtvnw.net/jtv_user_pictures/1caee146-3323-4d45-9907-96c20c224d3e-profile_banner-480.png', 'profile_banner_background_color': '', 'url': 'https://www.twitch.tv/sykkuno', 'views': 23590965, 'followers': 1928724, 'broadcaster_type': '', 'description': 'Hi ! ', 'private_video': False, 'privacy_options_enabled': False}}, ... 



First, I want to know how I can iterate through the JSON to get the channel name using the
id
. I tried to do it on my own but it said that it isn't subscriptable.

Second, I have the following code that tries to use
ffmpeg
to get a screenshot of the stream through its source :

import streamlink, os

# This code connects to the streamer's source
# Get the Twitch API to work so you can add the streamer's name at the end of the link
username = 'Sykkuno'
streams = streamlink.streams('http://twitch.tv/' + username)

# Stream source
stream = streams["best"].url

# Directory where the screenshots will be saved
dir_path = os.getcwd() + '/' + username

# number of streamers
streamers = 1

os.system('ffmpeg -i ' + stream +' -r 0.5 -f image2 ${dir}/output_%09d.jpg')



But that is throwing the following error :


ffmpeg version 4.1.3-0ppa1~18.04 Copyright (c) 2000-2019 the FFmpeg developers
 built with gcc 7 (Ubuntu 7.3.0-27ubuntu1~18.04)
 configuration: --prefix=/usr --extra-version='0ppa1~18.04' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-nonfree --enable-libfdk-aac --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
 libavutil 56. 22.100 / 56. 22.100
 libavcodec 58. 35.100 / 58. 35.100
 libavformat 58. 20.100 / 58. 20.100
 libavdevice 58. 5.100 / 58. 5.100
 libavfilter 7. 40.101 / 7. 40.101
 libavresample 4. 0. 0 / 4. 0. 0
 libswscale 5. 3.100 / 5. 3.100
 libswresample 3. 3.100 / 3. 3.100
 libpostproc 55. 3.100 / 55. 3.100
[hls,applehttp @ 0x557212854940] Opening 'https://video-edge-c2a360.yto01.abs.hls.ttvnw.net/v1/segment/CuAErHgNDEVK3cqjkRZLcz4El99YD2ZSy9tgtjc3ZTrPuN4584-GY3DKYO3MFCBt9M3v8_7IfHAlLvHeUn2wq4d-VC7u4Zv2-k1Bee9IPmIXbFQLZFKrYiT98OTzFMDaElsEZ9Sr4MXz6FoAC1yXhhZ0MYahZVnZa1Tuqnn217nN_rN8wr7kdScBIir_Uo1s2C_I8_54mi2uzdgxB9AYj0a0kG2UtdPkUVA6Qc7XIZ0nUhEeObEf80N0uW9ZU6WHpO3V6G9RD0VkmwUexDWk9MaLy1NJuvLSzRaMfOmKxhrzn3UDoY4CrQN11KOnHYCiCOfvhZmMKzSqtiA8YP0Q9iS03eZZhPQ3WxBHWhd6VeZ0btNeeoudGX73EBIj4ujZnKWKfPiN8K_HLj5FZWqQ5m_4Q1llQlnSAfmhzXR9PHAkz8nxRVcFR-tFokGzFEfkZGHngPNz9boLmo4KHx6404rocPUcXbTHkYsWXZwFC356AhfrNn6x0JYHGfcDpRsEFebLQljEpCyhnNOHFEf9b7Ipeiy521cCupzoEz1uMrzW77h9FJwn0GwvY3jp2KwRXJMvArYwiUHccBmfW7ZDLO9vH7eJGUnAzoy586KMSPLVeLxWMWRDfKkAcI8vYXOIuxNb_MZKm2O_dcoFrDDta5TZn-MLjFquT47P9NbXxlTTJfimlYyMG17SPoW3KJVtAJmjoj0GZ1ehftLJWz1Qgd8zmg40u4g8fz867eCHW_Tiv65yd6qJZD-_bD3G916fm3KeA9bPyhalTD99CWhQL7f0apCfX_6IiQElgPT6kOrFI-ISEG4GdhIpFi4ubzSx29pm7H4aDIXx6BAI5ziHVMPbrg.ts' for reading
[hls,applehttp @ 0x557212854940] Opening 'https://video-edge-c2a360.yto01.abs.hls.ttvnw.net/v1/segment/CuIECWLarz2I5hNCtGLSTDXbCIgahI91KOHXVmPHddzZediyiVbcicZpGakO99CJp1cK_6OnmOKBzZ3sn3KogNyPVRqSy32IpanlyPPUTz23TojfR5DTmJa3zampOzVMfETvvPEpj58-kGhQeQQGtK1zLV2h465RElCLkmc7SeWbXEZ5j6IQ38OVFZ0vdcMHVTNPtJaY7509bE196-9-5YYFiET_-kdkS2X6_lhVQBZrq45PBxApTzeLkDx9ZtGQx78dLr_tZepww_uVnJTwxI_TA3tU8z5_w8ml6rh0GK1W6lTlvuDkPKAwIDLvG736MtbPGz9cFPoRAFQxD3QSwAM-bO1grvWlNsOUDUYLXLNjuejmz8xmRpeE0pqJYxUboRZpxrPXTi52HcX8lpGT4Lx2z6hJcoi9npQttK58HDSHQ3cYH3rlNsYV_RlZ3F-u-fZSn8Em67-vAYeXAMaBe9xxv0Zu2n1TrdPICMyGmk-VgLK788IeDhxqM441GONGLxo6AF8RE5_OawTf9n_MVzImsX4LMn0oN8e8w6mjk7YDuNdA4mEl99Erg8xMdX6Q3fDYTdStaC-zQwXgMctfGpIsUpp91BtRBPMynFCxZ8fZB7NvGFNZTYWDvCZjisiwzs0N1pDdDM_Fkj3i46_Ou105z348PLHRA28Dt1qgn_NjzwRNoaowFx7PxQ-X2zRpAhwNcqaTOHYh5NYZHToVE16WiOe9HzVs_I_3Wqu44bypEsGrhxYhgXSGfvO757iTbErZHmkidsBF2BET5j3JeIifr4fJooalAKc_5uiSPMCGSTtV9hIQX5mQWJudg9UsMRp1AWVrnBoMQPAhy1UwBDtAOrBs.ts' for reading
Input #0, hls,applehttp, from 'https://video-weaver.yto01.hls.ttvnw.net/v1/playlist/CvADco9ZO_szpL7RVLVI3U6zl4IMo2uaUBvZTWAyEOKETN-SxI3m3hLLxpmCfz06rlyCGCPimEbk28kKPSbVYtMThiZFRtLxnrdpLr5DWBQwbpIStPQwMetU4Z04Mkm3nEWplL8hpn69Cmd_eWSdI1yHubK_sRL-n1ml5akAEWWGkS0OgVRQTTsYv4RpkbeWc8wrr3DsDBDfyrxciGSZevnStZOLwg-tNuNu3VNugLigNG1HMsNdxoJGO6wLyO-6FL5EQidOiSw2THSibAvADAWMVOxNX2z39d-nJwbVprbWFnox_lDlh-y88uhjj_MpU6OwkXP9vgrBDEmKjtRbYsIN5N94-8pDFEB3yIYk10vUiuod1yfqztVCqWo5m9r48uINP1CD-Bwgybo6K7Oko-TUjMj43GqAu0mmPtkgPFO69LpQQMifZTn_XbVQ5UUfoCwyl-ljObfRE51aCvZP_dOTsUyqi_JRE8h-C3306aW1ISXwCs3YpnjDxJv6yKyWTktBvsN5NWMVzJg-_-MAtTmoy-w2ppbbOozLzyrGF4zfCetaHLmHtbsKe1Ed1nndJg9b6T7v-87ExrI0eQwRjH3gmBTgqu_peS5oQGBaDOe4QSGMNFgf8lQfuqvFH-miXgpk8RytdorzT7wB05iX7c3bhBIQ3FvvjNIal3IgvyxKatZs4BoMW_P_CuyZOUJs2_Yr.m3u8':
 Duration: N/A, start: 60.000000, bitrate: N/A
 Program 0 
 Metadata:
 variant_bitrate : 0
 Stream #0:0: Audio: aac (LC) ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp
 Metadata:
 variant_bitrate : 0
 Stream #0:1: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p(tv, unknown/bt709/unknown), 1920x1080, 29.97 tbr, 90k tbn, 2k tbc
 Metadata:
 variant_bitrate : 0
 Stream #0:2: Data: timed_id3 (ID3 / 0x20334449)
 Metadata:
 variant_bitrate : 0
Stream mapping:
 Stream #0:1 -> #0:0 (h264 (native) -> mjpeg (native))
Press [q] to stop, [?] for help
[swscaler @ 0x557213e262c0] deprecated pixel format used, make sure you did set range correctly
Output #0, image2, to '/output_%09d.jpg':
 Metadata:
 encoder : Lavf58.20.100
 Stream #0:0: Video: mjpeg, yuvj420p(pc), 1920x1080, q=2-31, 200 kb/s, 0.50 fps, 0.50 tbn, 0.50 tbc
 Metadata:
 variant_bitrate : 0
 encoder : Lavc58.35.100 mjpeg
 Side data:
 cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
[image2 @ 0x557213012040] Could not open file : /output_000000001.jpg
av_interleaved_write_frame(): Input/output error
frame= 1 fps=0.0 q=7.5 Lsize=N/A time=00:00:02.00 bitrate=N/A speed=27.7x 
video:46kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Conversion failed!



-
What codec do I need to convert .wav to .mp3 with ffmpeg ?
19 septembre 2011, par LedZeppelinI am able to convert from .mp3 files to .wav files.
me@me-desktop:~$ ffmpeg -i Desktop/input.mp3 Desktop/output.wav
FFmpeg version SVN-r0.5.1-4:0.5.1-1ubuntu1.1, Copyright (c) 2000-2009 Fabrice Bellard, et al.
configuration: --extra-version=4:0.5.1-1ubuntu1.1 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --disable-stripping --disable-vhook --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libdc1394 --enable-shared --disable-static
libavutil 49.15. 0 / 49.15. 0
libavcodec 52.20. 1 / 52.20. 1
libavformat 52.31. 0 / 52.31. 0
libavdevice 52. 1. 0 / 52. 1. 0
libavfilter 0. 4. 0 / 0. 4. 0
libswscale 0. 7. 1 / 0. 7. 1
libpostproc 51. 2. 0 / 51. 2. 0
built on Mar 31 2011 18:53:20, gcc: 4.4.3
[mp3 @ 0x9449510]mdb:511, lastbuf:0 skipping granule 0
Last message repeated 1 times
[mp3 @ 0x9449510]mdb:511, lastbuf:0 skipping granule 1
Last message repeated 1 times
Input #0, mp3, from 'Desktop/input.mp3':
Duration: 00:04:45.31, start: 0.000000, bitrate: 256 kb/s
Stream #0.0: Audio: mp3, 48000 Hz, stereo, s16, 256 kb/s
Output #0, wav, to 'Desktop/output.wav':
Stream #0.0: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Press [q] to stop encoding
[mp3 @ 0x9449510]mdb:511, lastbuf:0 skipping granule 0
Last message repeated 1 times
[mp3 @ 0x9449510]mdb:511, lastbuf:0 skipping granule 1
size= 42944kB time=229.03 bitrate=1536.0kbits/s
video:0kB audio:42944kB global headers:0kB muxing overhead 0.000100%However when I try to convert the same .wav file back to an .mp3 I get the following error : Unsupported codec for output stream #0.0
me@me-desktop:~$ ffmpeg -i Desktop/output.wav Desktop/output2.mp3
FFmpeg version SVN-r0.5.1-4:0.5.1-1ubuntu1.1, Copyright (c) 2000-2009 Fabrice Bellard, et al.
configuration: --extra-version=4:0.5.1-1ubuntu1.1 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --disable-stripping --disable-vhook --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libdc1394 --enable-shared --disable-static
libavutil 49.15. 0 / 49.15. 0
libavcodec 52.20. 1 / 52.20. 1
libavformat 52.31. 0 / 52.31. 0
libavdevice 52. 1. 0 / 52. 1. 0
libavfilter 0. 4. 0 / 0. 4. 0
libswscale 0. 7. 1 / 0. 7. 1
libpostproc 51. 2. 0 / 51. 2. 0
built on Mar 31 2011 18:53:20, gcc: 4.4.3
Input #0, wav, from 'Desktop/output.wav':
Duration: 00:03:49.03, bitrate: 1536 kb/s
Stream #0.0: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
Output #0, mp3, to 'Desktop/output2.mp3':
Stream #0.0: Audio: 0x0000, 48000 Hz, stereo, s16, 64 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Unsupported codec for output stream #0.0I've already tried installing unstripped-51 per a suggestion from a previous question but I am still unable to convert from .wav to .mp3