Recherche avancée

Médias (91)

Autres articles (20)

  • MediaSPIP Init et Diogène : types de publications de MediaSPIP

    11 novembre 2010, par

    À l’installation d’un site MediaSPIP, le plugin MediaSPIP Init réalise certaines opérations dont la principale consiste à créer quatre rubriques principales dans le site et de créer cinq templates de formulaire pour Diogène.
    Ces quatre rubriques principales (aussi appelées secteurs) sont : Medias ; Sites ; Editos ; Actualités ;
    Pour chacune de ces rubriques est créé un template de formulaire spécifique éponyme. Pour la rubrique "Medias" un second template "catégorie" est créé permettant d’ajouter (...)

  • Déploiements possibles

    31 janvier 2010, par

    Deux types de déploiements sont envisageable dépendant de deux aspects : La méthode d’installation envisagée (en standalone ou en ferme) ; Le nombre d’encodages journaliers et la fréquentation envisagés ;
    L’encodage de vidéos est un processus lourd consommant énormément de ressources système (CPU et RAM), il est nécessaire de prendre tout cela en considération. Ce système n’est donc possible que sur un ou plusieurs serveurs dédiés.
    Version mono serveur
    La version mono serveur consiste à n’utiliser qu’une (...)

  • Menus personnalisés

    14 novembre 2010, par

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

Sur d’autres sites (5993)

  • Losing audio quality when merging multiple videos with FFmpeg

    30 mai 2021, par Charly

    I am trying to merge multiple videos (a few seconds each) into one, using FFmpeg.

    


    Merging all at once

    


    I first tried merging all videos with one FFmpeg command, but it only seems to work with up to a certain amount of videos. On my Raspberry Pi 4 (2BG RAM), it worked for 16 videos and broke (ran out of memory ?) while merging 36 videos (command and ouput below)

    


    ffmpeg -i 1Rbrdn1Xp.mp4 -i G7eYqdFPb.mp4 -i -Xo-6ABm3.mp4 -i 6As9IlqbW.mp4 -i tz9tVKFA-.mp4
-i MS6DHZoJE.mp4 -i CeJYs99-G.mp4 -i Hsv5X48IC.mp4 -i Gm_DtjNU4.mp4 -i PZytbInZL.mp4
-i qsIJuvKO2.mp4 -i c5wxGk_Fx.mp4 -i j4K1qA7ih.mp4 -i AIpVWuhGV.mp4 -i yiLk0snSh.mp4
-i q1zmytaXZ.mp4 -i VRwQvLxaW.mp4 -i 0_3yLrokH.mp4 -i fW28LPQsk.mp4 -i La6WsGeE8.mp4
-i FlroQnCHq.mp4 -i c7SiL_qSU.mp4 -i aaGTUMJXD.mp4 -i hvXYBaCSM.mp4 -i CMDaFrWM4.mp4
-i _YAGDRyQN.mp4 -i RQXyshs_o.mp4 -i 96pKlIZxW.mp4 -i HVOOeCUYG.mp4 -i pJFxq7BTx.mp4
-i VxMJQqbK5.mp4 -i mkgbViPTI.mp4 -i zrjj93b5c.mp4 -i AL9oG1F36.mp4 -i IsUnC0NPb.mp4
-i Qhj2bhab9.mp4 -y -filter_complex concat=n=36:v=1:a=1 -vsync 2 kn-dQSN-v.mp4


    


    ffmpeg version 4.1.6-1~deb10u1+rpt1 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 8 (Raspbian 8.3.0-6+rpi1)
(...)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '1Rbrdn1Xp.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.20.100
  Duration: 00:00:08.08, start: 0.000000, bitrate: 602 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 533 kb/s, 57.62 fps, 60 tbr, 15360 tbn, 120 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 22050 Hz, mono, fltp, 64 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from 'G7eYqdFPb.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.20.100
  Duration: 00:00:21.00, start: 0.000000, bitrate: 310 kb/s
    Stream #1:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 229 kb/s, 59.09 fps, 60 tbr, 15360 tbn, 120 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #1:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 22050 Hz, mono, fltp, 72 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
(...)
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 @ 0x17cb5e0] using SAR=1/1   0kB time=-577014:32:22.77 bitrate=  -0.0kbits/s speed=N/A    
[libx264 @ 0x17cb5e0] using cpu capabilities: ARMv6 NEON
[libx264 @ 0x17cb5e0] profile High, level 3.2
[libx264 @ 0x17cb5e0] 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=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, mp4, to 'kn-dQSN-v.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.20.100
    Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p(progressive), 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 60 fps, 15360 tbn, 60 tbc (default)
    Metadata:
      encoder         : Lavc58.35.100 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
    Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 22050 Hz, mono, fltp, 69 kb/s (default)
    Metadata:
      encoder         : Lavc58.35.100 aac
frame=15952 fps= 52 q=31.0 size=   10240kB time=00:04:33.02 bitrate= 307.3kbits/s speed=0.844x
[h264 @ 0x3472d80] get_buffer() failed40kB time=00:04:33.02 bitrate= 307.3kbits/s speed=0.844x    
[h264 @ 0x3472d80] thread_get_buffer() failed
[h264 @ 0x3472d80] decode_slice_header error
[h264 @ 0x3472d80] no frame!
Error while decoding stream #15:0: Invalid data found when processing input
[h264 @ 0x34f54d0] get_buffer() failed
[h264 @ 0x34f54d0] thread_get_buffer() failed
[h264 @ 0x34f54d0] decode_slice_header error
[h264 @ 0x34f54d0] no frame!
[h264 @ 0x3472d80] get_buffer() failed
[h264 @ 0x3472d80] thread_get_buffer() failed
(...)
Error while decoding stream #15:0: Invalid data found when processing input
[h264 @ 0x3472d80] reference picture missing during reorder
[h264 @ 0x3472d80] Missing reference picture, default is 65660
[h264 @ 0x34c4540] mmco: unref short failure
[h264 @ 0x34f54d0] get_buffer() failed08kB time=00:04:45.37 bitrate= 316.0kbits/s speed=0.845x    
[h264 @ 0x34f54d0] thread_get_buffer() failed
[h264 @ 0x34f54d0] decode_slice_header error
[h264 @ 0x34f54d0] no frame!
[h264 @ 0x3472d80] decode_slice_header error
[h264 @ 0x3472d80] no frame!
Error while decoding stream #15:0: Invalid data found when processing input
[h264 @ 0x34f54d0] mmco: unref short failure
Error while decoding stream #15:0: Invalid data found when processing input
[h264 @ 0x3472d80] get_buffer() failed
[h264 @ 0x3472d80] thread_get_buffer() failed
[h264 @ 0x3472d80] decode_slice_header error
[h264 @ 0x3472d80] no frame!
Error while decoding stream #15:0: Invalid data found when processing input
[h264 @ 0x3472d80] get_buffer() failed
[h264 @ 0x3472d80] thread_get_buffer() failed
[h264 @ 0x3472d80] decode_slice_header error
[h264 @ 0x3472d80] no frame!
[h264 @ 0x34f54d0] reference picture missing during reorder
    Last message repeated 1 times
[h264 @ 0x34f54d0] Missing reference picture, default is 65708
    Last message repeated 1 times
Error while decoding stream #15:0: Invalid data found when processing input
[h264 @ 0x34dccb0] reference picture missing during reorder
[h264 @ 0x34dccb0] Missing reference picture, default is 65716
[h264 @ 0x3472d80] mmco: unref short failure
[h264 @ 0x34f54d0] decode_slice_header error
[h264 @ 0x34f54d0] no frame!
Error while decoding stream #15:0: Invalid data found when processing inputbits/s speed=0.845x    
[h264 @ 0x3480010] get_buffer() failed
[h264 @ 0x3480010] thread_get_buffer() failed
[h264 @ 0x3480010] decode_slice_header error
[h264 @ 0x3480010] no frame!
[h264 @ 0x34c4540] decode_slice_header error
[h264 @ 0x34c4540] no frame!
Error while decoding stream #15:0: Invalid data found when processing input
[h264 @ 0x3480010] mmco: unref short failure
Error while decoding stream #15:0: Invalid data found when processing input
[h264 @ 0x34c4540] get_buffer() failed
[h264 @ 0x34c4540] thread_get_buffer() failed
[h264 @ 0x34c4540] decode_slice_header error
[h264 @ 0x34c4540] no frame!
Error while decoding stream #15:0: Invalid data found when processing input
[h264 @ 0x34c4540] get_buffer() failed
[h264 @ 0x34c4540] thread_get_buffer() failed
[h264 @ 0x34c4540] decode_slice_header error
[h264 @ 0x34c4540] no frame!
[h264 @ 0x34f54d0] decode_slice_header error
[h264 @ 0x34f54d0] no frame!
Error while decoding stream #15:0: Invalid data found when processing input
[h264 @ 0x3480010] reference picture missing during reorder
    Last message repeated 1 times
[h264 @ 0x3480010] Missing reference picture, default is 65772
    Last message repeated 1 times
Error while decoding stream #15:0: Invalid data found when processing input
[h264 @ 0x3472d80] reference picture missing during reorder
[h264 @ 0x3472d80] Missing reference picture, default is 65780
[h264 @ 0x34c4540] mmco: unref short failure
av_interleaved_write_frame(): Cannot allocate memory
[mp4 @ 0x295c7e0] Application provided duration: 3689347710924763697 / timestamp: 6291454 is out of range for mov/mp4 format
Segmentation fault


    


    Merging videos 2 by 2

    


    I then tried gradually merging videos into one, using multiple FFmpeg commands.

    


    # Pseudocode
final = merge(clip1, clip2)
final = merge(final, clip3)
final = merge(final, clip4)
final = merge(final, clip5)
...


    


    with each command, looking like this :

    


    ffmpeg -i 1Rbrdn1Xp.mp4 -i G7eYqdFPb.mp4 -y -filter_complex concat=n=2:v=1:a=1 -vsync 2 UMVDl9jki.mp4


    


    ffmpeg -i UMVDl9jki.mp4 -i -Xo-6ABm3.mp4 -y -filter_complex concat=n=2:v=1:a=1 -vsync 2 azE1Uombp.mp4


    


    This works but there is a loss in audio quality on the first clips, and it is slowly improving over time. I am guessing this is due to the first videos being merged more times than the last ones. You can see this effect happen in this video (weird artefacts in the voice).

    



    


    So, am I doing something wrong ?
    
Is there a way of merging a lot of videos, without running out of memory or worsening the audio quality ?

    


  • FFmpeg Error while filtering : Cannot allocate memory While Using Gifs Overlay Over Video

    4 mars 2021, par Abhishek Sharma

    creating overlay gif over video but One gif is stoping after one loop and all other gifs are in a continuous loop by default in the file and FFmpeg throws an error

    


    Command :

    


    ffmpeg -y -i "2021_03_04_03_54_43.mp4" -f lavfi -i "color=000000:s=540x960" -ignore_loop 0 -i "2021_03_04_03_55_08.gif" -ignore_loop 0 -i "2021_03_04_03_56_19.gif" -ignore_loop 0 -i "2021_03_04_04_02_29.gif" -ignore_loop 0 -i "2021_03_04_04_03_50.gif" -filter_complex "[0:v]trim=0:15.047,setpts=PTS-STARTPTS[Clip_0_VideoTrim_0] ;[0:a]atrim=0:15.047,asetpts=PTS-STARTPTS,volume=1[Clip_0_AudioTrim_0] ;[1:v]crop=540:960:0:0,boxblur=luma_radius=10:chroma_radius=10:luma_power=1,scale=540:960[Clip_0_BG] ;[Clip_0_VideoTrim_0]scale=540:960[Clip_0_FG] ;[Clip_0_BG][Clip_0_FG]overlay=0:0:shortest=1[Clip_0_BackgroundOutput] ;[Clip_0_BackgroundOutput][Clip_0_AudioTrim_0]concat=n=1:v=1:a=1[ClipsVideoOut][ClipsAudioOut] ;[2:v]format=yuva444p,colorchannelmixer=aa=1,scale=226.374008178711 :-1,rotate=0:c=none:ow=rotw(0):oh=roth(0)[OverLay_2] ;[ClipsVideoOut][OverLay_2]overlay=enable='between(t,3.839,7.6)':x='(389.626037597656-(overlay_w/2))':y='(205.619873046875-(overlay_h/2))':shortest=1[OverlayLayer_2] ;[3:v]format=yuva444p,colorchannelmixer=aa=1,scale=179.254348754883 :-1,rotate=0:c=none:ow=rotw(0):oh=roth(0)[OverLay_3] ;[OverlayLayer_2][OverLay_3]overlay=enable='between(t,0,3.762)':x='(117.589767456055-(overlay_w/2))':y='(759.018127441406-(overlay_h/2))':shortest=1[OverlayLayer_3] ;[4:v]format=yuva444p,colorchannelmixer=aa=1,scale=326.199066162109 :-1,rotate=0:c=none:ow=rotw(0):oh=roth(0)[OverLay_4] ;[OverlayLayer_3][OverLay_4]overlay=enable='between(t,7.478,11.24)':x='(118.761810302734-(overlay_w/2))':y='(153.96012878418-(overlay_h/2))':shortest=1[OverlayLayer_4] ;[5:v]format=yuva444p,colorchannelmixer=aa=1,scale=268.915679931641 :-1,rotate=0:c=none:ow=rotw(0):oh=roth(0)[OverLay_5] ;[OverlayLayer_4][OverLay_5]overlay=enable='between(t,11.25,15.011)':x='(396.322570800781-(overlay_w/2))':y='(747.451477050781-(overlay_h/2))':shortest=1[OverlayOutput] ;[OverlayOutput][ClipsAudioOut]concat=n=1:v=1:a=1[OutputVideo][OutputAudio]" -map [OutputVideo] -map [OutputAudio] -c:v libx264 -c:a aac -b:a 256k -r 30 -preset ultrafast "2021_03_04_04_04_09.mp4" -hide_banner" ;

    


    ffmpeg Log :

    


    2021-03-04 16:04:10.092 +05:30 [INF] Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '2021_03_04_03_54_43.mp4':
2021-03-04 16:04:10.100 +05:30 [INF]   Metadata:
2021-03-04 16:04:10.112 +05:30 [INF]     major_brand     : isom
2021-03-04 16:04:10.123 +05:30 [INF]     minor_version   : 512
2021-03-04 16:04:10.131 +05:30 [INF]     compatible_brands: isomiso2avc1mp41
2021-03-04 16:04:10.141 +05:30 [INF]     encoder         : Lavf57.76.100
2021-03-04 16:04:10.151 +05:30 [INF]     comment         : vid:v090444d0000bivu4o5qa7loe16h27e0
2021-03-04 16:04:10.164 +05:30 [INF]     genre           : aweme_6677028628938787590
2021-03-04 16:04:10.202 +05:30 [INF]   Duration: 00:00:15.05, start: 0.000000, bitrate: 1562 kb/s
2021-03-04 16:04:10.253 +05:30 [INF]     Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 540x960, 1485 kb/s, 59.94 fps, 59.94 tbr, 60k tbn, 119.88 tbc (default)
2021-03-04 16:04:10.262 +05:30 [INF]     Metadata:
2021-03-04 16:04:10.275 +05:30 [INF]       handler_name    : VideoHandler
2021-03-04 16:04:10.303 +05:30 [INF]     Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 64 kb/s (default)
2021-03-04 16:04:10.309 +05:30 [INF]     Metadata:
2021-03-04 16:04:10.325 +05:30 [INF]       handler_name    : SoundHandler
2021-03-04 16:04:10.334 +05:30 [INF] Input #1, lavfi, from 'color=000000:s=540x960':
2021-03-04 16:04:10.366 +05:30 [INF]   Duration: N/A, start: 0.000000, bitrate: N/A
2021-03-04 16:04:10.403 +05:30 [INF]     Stream #1:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 540x960 [SAR 1:1 DAR 9:16], 25 tbr, 25 tbn, 25 tbc
2021-03-04 16:04:10.416 +05:30 [INF] Input #2, gif, from '2021_03_04_03_55_08.gif':
2021-03-04 16:04:10.482 +05:30 [INF]   Duration: 00:00:00.20, start: 0.000000, bitrate: 2071 kb/s
2021-03-04 16:04:10.536 +05:30 [INF]     Stream #2:0: Video: gif, bgra, 269x386, 14.25 fps, 19.08 tbr, 100 tbn, 100 tbc
2021-03-04 16:04:10.570 +05:30 [INF] Input #3, gif, from '2021_03_04_03_56_19.gif':
2021-03-04 16:04:10.616 +05:30 [INF]   Duration: 00:00:01.47, start: 0.000000, bitrate: 11618 kb/s
2021-03-04 16:04:10.666 +05:30 [INF]     Stream #3:0: Video: gif, bgra, 300x300, 28.92 fps, 100 tbr, 100 tbn, 100 tbc
2021-03-04 16:04:10.680 +05:30 [INF] Input #4, gif, from '2021_03_04_04_02_29.gif':
2021-03-04 16:04:10.714 +05:30 [INF]   Duration: 00:00:00.90, start: 0.000000, bitrate: 824 kb/s
2021-03-04 16:04:10.793 +05:30 [INF]     Stream #4:0: Video: gif, bgra, 310x300, 20.67 fps, 19.75 tbr, 100 tbn, 100 tbc
2021-03-04 16:04:10.811 +05:30 [INF] Input #5, gif, from '2021_03_04_04_03_50.gif':
2021-03-04 16:04:10.845 +05:30 [INF]   Duration: 00:00:00.48, start: 0.000000, bitrate: 1516 kb/s
2021-03-04 16:04:10.871 +05:30 [INF]     Stream #5:0: Video: gif, bgra, 480x480, 14.33 fps, 12.25 tbr, 100 tbn, 100 tbc
2021-03-04 16:04:10.882 +05:30 [INF] Stream mapping:
2021-03-04 16:04:10.891 +05:30 [INF]   Stream #0:0 (h264) -> trim
2021-03-04 16:04:10.901 +05:30 [INF]   Stream #0:1 (aac) -> atrim
2021-03-04 16:04:10.913 +05:30 [INF]   Stream #1:0 (rawvideo) -> crop
2021-03-04 16:04:10.918 +05:30 [INF]   Stream #2:0 (gif) -> format
2021-03-04 16:04:10.926 +05:30 [INF]   Stream #3:0 (gif) -> format
2021-03-04 16:04:10.932 +05:30 [INF]   Stream #4:0 (gif) -> format
2021-03-04 16:04:10.935 +05:30 [INF]   Stream #5:0 (gif) -> format
2021-03-04 16:04:10.943 +05:30 [INF]   concat:out:v0 -> Stream #0:0 (libx264)
2021-03-04 16:04:10.949 +05:30 [INF]   concat:out:a0 -> Stream #0:1 (aac)
2021-03-04 16:04:10.951 +05:30 [INF] Press [q] to stop, [?] for help
2021-03-04 16:04:10.960 +05:30 [INF] frame=    0 fps=0.0 q=0.0 size=       0kB time=-577014:32:22.77 bitrate=  -0.0kbits/s speed=N/A    
2021-03-04 16:04:11.070 +05:30 [INF] [libx264 @ 2013EB00] using SAR=1/1
2021-03-04 16:04:11.092 +05:30 [INF] [libx264 @ 2013EB00] using cpu capabilities: none!
2021-03-04 16:04:11.116 +05:30 [INF] [libx264 @ 2013EB00] profile Constrained Baseline, level 3.1, 4:2:0, 8-bit
2021-03-04 16:04:11.119 +05:30 [INF] [libx264 @ 2013EB00] 264 - core 157 - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - 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=1 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=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=0
2021-03-04 16:04:11.126 +05:30 [INF] Output #0, mp4, to '2021_03_04_04_04_09.mp4':
2021-03-04 16:04:11.129 +05:30 [INF]   Metadata:
2021-03-04 16:04:11.136 +05:30 [INF]     major_brand     : isom
2021-03-04 16:04:11.251 +05:30 [INF]     minor_version   : 512
2021-03-04 16:04:11.261 +05:30 [INF]     compatible_brands: isomiso2avc1mp41
2021-03-04 16:04:11.274 +05:30 [INF]     genre           : aweme_6677028628938787590
2021-03-04 16:04:11.282 +05:30 [INF]     comment         : vid:v090444d0000bivu4o5qa7loe16h27e0
2021-03-04 16:04:11.293 +05:30 [INF]     encoder         : Lavf58.45.100
2021-03-04 16:04:11.324 +05:30 [INF]     Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p(progressive), 540x960 [SAR 1:1 DAR 9:16], q=-1--1, 30 fps, 15360 tbn, 30 tbc (default)
2021-03-04 16:04:11.328 +05:30 [INF]     Metadata:
2021-03-04 16:04:11.338 +05:30 [INF]       encoder         : Lavc58.91.100 libx264
2021-03-04 16:04:11.341 +05:30 [INF]     Side data:
2021-03-04 16:04:11.358 +05:30 [INF]       cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
2021-03-04 16:04:11.377 +05:30 [INF]     Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 256 kb/s (default)
2021-03-04 16:04:11.380 +05:30 [INF]     Metadata:
2021-03-04 16:04:11.392 +05:30 [INF]       encoder         : Lavc58.91.100 aac
2021-03-04 16:04:11.469 +05:30 [INF] frame=    2 fps=0.0 q=0.0 size=       0kB time=00:00:00.04 bitrate=   8.3kbits/s speed=0.0928x    
2021-03-04 16:04:11.972 +05:30 [INF] frame=   16 fps= 16 q=25.0 size=       0kB time=00:00:00.46 bitrate=   0.8kbits/s dup=3 drop=0 speed=0.463x    
2021-03-04 16:04:12.480 +05:30 [INF] frame=   28 fps= 18 q=23.0 size=     256kB time=00:00:00.88 bitrate=2377.2kbits/s dup=5 drop=0 speed=0.582x    
2021-03-04 16:04:13.012 +05:30 [INF] frame=   41 fps= 20 q=23.0 size=     256kB time=00:00:01.34 bitrate=1557.5kbits/s dup=7 drop=0 speed=0.664x    
2021-03-04 16:04:13.493 +05:30 [INF] frame=   53 fps= 21 q=25.0 size=     512kB time=00:00:01.76 bitrate=2377.0kbits/s dup=9 drop=0 speed=0.696x    
2021-03-04 16:04:14.023 +05:30 [INF] frame=   66 fps= 22 q=22.0 size=     768kB time=00:00:02.18 bitrate=2882.6kbits/s dup=11 drop=0 speed=0.714x    
2021-03-04 16:04:14.535 +05:30 [INF] frame=   77 fps= 22 q=23.0 size=     768kB time=00:00:02.57 bitrate=2441.1kbits/s dup=13 drop=0 speed=0.724x    
2021-03-04 16:04:15.030 +05:30 [INF] frame=   91 fps= 22 q=24.0 size=    1024kB time=00:00:03.01 bitrate=2779.1kbits/s dup=15 drop=0 speed=0.743x    
2021-03-04 16:04:15.547 +05:30 [INF] frame=  104 fps= 23 q=23.0 size=    1280kB time=00:00:03.45 bitrate=3030.9kbits/s dup=17 drop=0 speed=0.756x    
2021-03-04 16:04:16.118 +05:30 [INF] frame=  109 fps= 21 q=23.0 size=    1280kB time=00:00:04.78 bitrate=2192.2kbits/s dup=18 drop=0 speed=0.942x    
2021-03-04 16:04:16.543 +05:30 [INF] frame=  109 fps= 20 q=23.0 size=    1280kB time=00:00:06.61 bitrate=1584.6kbits/s dup=18 drop=0 speed=1.19x    
2021-03-04 16:04:17.042 +05:30 [INF] frame=  109 fps= 18 q=23.0 size=    1280kB time=00:00:08.82 bitrate=1188.4kbits/s dup=18 drop=0 speed=1.45x    
2021-03-04 16:04:17.545 +05:30 [INF] frame=  109 fps= 17 q=23.0 size=    1280kB time=00:00:10.89 bitrate= 962.9kbits/s dup=18 drop=0 speed=1.65x    
2021-03-04 16:04:17.864 +05:30 [INF] Error while filtering: Cannot allocate memory
2021-03-04 16:04:17.889 +05:30 [INF] Failed to inject frame into filter network: Cannot allocate memory
2021-03-04 16:04:17.908 +05:30 [INF] Error while processing the decoded data for stream #0:0
2021-03-04 16:04:18.048 +05:30 [INF] [libx264 @ 2013EB00] frame I:1     Avg QP:20.00  size: 43401
2021-03-04 16:04:18.051 +05:30 [INF] [libx264 @ 2013EB00] frame P:101   Avg QP:23.36  size: 13076
2021-03-04 16:04:18.054 +05:30 [INF] [libx264 @ 2013EB00] mb I  I16..4: 100.0%  0.0%  0.0%
2021-03-04 16:04:18.058 +05:30 [INF] [libx264 @ 2013EB00] mb P  I16..4: 11.9%  0.0%  0.0%  P16..4: 44.6%  0.0%  0.0%  0.0%  0.0%    skip:43.5%
2021-03-04 16:04:18.062 +05:30 [INF] [libx264 @ 2013EB00] coded y,uvDC,uvAC intra: 34.5% 62.9% 16.0% inter: 23.5% 29.1% 3.2%
2021-03-04 16:04:18.064 +05:30 [INF] [libx264 @ 2013EB00] i16 v,h,dc,p: 35% 20% 19% 25%
2021-03-04 16:04:18.067 +05:30 [INF] [libx264 @ 2013EB00] i8c dc,h,v,p: 34% 22% 33% 12%
2021-03-04 16:04:18.071 +05:30 [INF] [libx264 @ 2013EB00] kb/s:3209.61
2021-03-04 16:04:18.076 +05:30 [INF] [aac @ 2013C440] Qavg: 2650.414
2021-03-04 16:04:18.081 +05:30 [INF] [aac @ 2013C440] 2 frames left in the queue on closing
2021-03-04 16:04:18.099 +05:30 [INF] Conversion failed!


    


  • FFMPEG keeping quality when reducing FPS and streaming over RTSP with rtsp-simple-server

    25 janvier 2021, par Jens Schneider

    I'm using the rtsp-simple-server (https://github.com/aler9/rtsp-simple-server) and feed the RTSP Server with a FFMPEG stream.

    


    I use a docker compose file to start the stream :

    


    version: "3.8"

services:

  ffmpeg:
    container_name: ffmpeg-base
    restart: always
    image: "jenssgb/rtspffmpeg:base"
    depends_on:
      - rtsp-server
    volumes:
      - $PWD/:/video
    network_mode: "host"
    command: "ffmpeg -re -stream_loop -1 -i /video/footage-1-b.mp4 -c copy -f rtsp rtsp://localhost:8554/compose-rtsp"
  
  rtsp-server:
    container_name: rtsp-server-base
    restart: always
    image: "aler9/rtsp-simple-server"
    network_mode: "host"


    


    Now I'm trying to reduce the FPS of my video with transcoding it :

    


    command: -re -stream_loop -1 -i ${VIDEO_FILE} -vf "fps=${FPS_COMPOSE}" -f rtsp rtsp://localhost:8554/compose-rtsp


    


    This is basically working, but the quality of the output video becomes pretty bad. I tried a lot of things like -c:v libx264 which did help for a minute but let ffmpeg crash then.

    


    av_interleaved_write_frame(): Broken pipe0:00:09.99 bitrate=N/A speed=0.985x    
[rtsp @ 0x5563b1755640] Packets poorly interleaved, failed to avoid negative timestamp -33660 in stream 0.
Try -max_interleave_delta 0 as a possible workaround.
av_interleaved_write_frame(): Broken pipe
Error writing trailer of rtsp://localhost:8554/compose-rtsp: Broken pipe


    


    Any idea how I can reduce the FPS send the stream to the server but keep the video quality ? Later I'm going to reduce the resolution as well - but for now I want to keep resolution and quality but only reduce the FPS.

    


    Full logs from my test with -c:v libx264 :

    


        ffmpeg -re -stream_loop -1 -i footage-1-b.mp4 -vf "fps=5" -c:v libx264 -f rtsp rtsp://localhost:8554/compose-rtsp
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 'footage-1-b.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    title           : Session streamed by "nessyMediaServer"
    encoder         : Lavf58.29.100
    comment         : h264_3
  Duration: 00:59:59.63, start: 0.000000, bitrate: 2099 kb/s
    Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuvj420p(pc), 1280x720 [SAR 1:1 DAR 16:9], 2061 kb/s, 24.96 fps, 25 tbr, 12800 tbn, 25 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 8000 Hz, mono, fltp, 35 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
  Stream #0:1 -> #0:1 (aac (native) -> aac (native))
Press [q] to stop, [?] for help
[aac @ 0x56277bc7f840] Too many bits 8832.000000 > 6144 per frame requested, clamping to max
[libx264 @ 0x56277bbc33c0] using SAR=1/1
[libx264 @ 0x56277bbc33c0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0x56277bbc33c0] profile High, level 3.1
[libx264 @ 0x56277bbc33c0] 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=12 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=2 keyint=250 keyint_min=5 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, rtsp, to 'rtsp://localhost:8554/compose-rtsp':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    title           : Session streamed by "nessyMediaServer"
    comment         : h264_3
    encoder         : Lavf58.29.100
    Stream #0:0(und): Video: h264 (libx264), yuvj420p(pc), 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 5 fps, 90k tbn, 5 tbc (default)
    Metadata:
      handler_name    : VideoHandler
      encoder         : Lavc58.54.100 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
    Stream #0:1(und): Audio: aac (LC), 8000 Hz, mono, fltp, 48 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
      encoder         : Lavc58.54.100 aac
av_interleaved_write_frame(): Broken pipe0:00:09.87 bitrate=N/A speed=0.978x    
[rtsp @ 0x56277bba0640] Packets poorly interleaved, failed to avoid negative timestamp -33660 in stream 0.
Try -max_interleave_delta 0 as a possible workaround.
av_interleaved_write_frame(): Broken pipe
Error writing trailer of rtsp://localhost:8554/compose-rtsp: Broken pipe
frame=   50 fps=4.6 q=23.0 Lsize=N/A time=00:00:10.21 bitrate=N/A speed=0.947x    
video:162kB audio:8kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
[libx264 @ 0x56277bbc33c0] frame I:1     Avg QP:19.85  size:165667
[libx264 @ 0x56277bbc33c0] frame P:13    Avg QP:20.88  size:140481
[libx264 @ 0x56277bbc33c0] frame B:36    Avg QP:24.58  size: 55445
[libx264 @ 0x56277bbc33c0] consecutive B-frames:  4.0%  0.0%  0.0% 96.0%
[libx264 @ 0x56277bbc33c0] mb I  I16..4:  4.4% 30.8% 64.8%
[libx264 @ 0x56277bbc33c0] mb P  I16..4:  4.1% 10.6% 20.0%  P16..4: 24.4% 24.8% 13.3%  0.0%  0.0%    skip: 2.6%
[libx264 @ 0x56277bbc33c0] mb B  I16..4:  0.8%  2.0%  4.0%  B16..8: 40.3% 14.5%  5.2%  direct:11.8%  skip:21.4%  L0:77.1% L1: 7.9% BI:14.9%
[libx264 @ 0x56277bbc33c0] 8x8 transform intra:30.1% inter:11.9%
[libx264 @ 0x56277bbc33c0] coded y,uvDC,uvAC intra: 82.5% 60.9% 26.6% inter: 55.0% 42.4% 2.7%
[libx264 @ 0x56277bbc33c0] i16 v,h,dc,p: 17% 26% 34% 23%
[libx264 @ 0x56277bbc33c0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 22% 33% 15%  3%  4%  5%  4%  3%  9%
[libx264 @ 0x56277bbc33c0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 20% 22% 13%  3% 17% 11%  5%  3%  6%
[libx264 @ 0x56277bbc33c0] i8c dc,h,v,p: 54% 25% 16%  5%
[libx264 @ 0x56277bbc33c0] Weighted P-Frames: Y:7.7% UV:7.7%
[libx264 @ 0x56277bbc33c0] ref P L0: 33.2% 11.6% 29.0% 23.9%  2.4%
[libx264 @ 0x56277bbc33c0] ref B L0: 79.6% 11.9%  8.5%
[libx264 @ 0x56277bbc33c0] ref B L1: 95.9%  4.1%
[libx264 @ 0x56277bbc33c0] kb/s:3190.34
[aac @ 0x56277bc7f840] Qavg: 65536.000
Conversion failed!


    


    Thank you,
J