Recherche avancée

Médias (1)

Mot : - Tags -/ticket

Autres articles (98)

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

  • Multilang : améliorer l’interface pour les blocs multilingues

    18 février 2011, par

    Multilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
    Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela.

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

Sur d’autres sites (9794)

  • 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