Recherche avancée

Médias (1)

Mot : - Tags -/publicité

Autres articles (55)

  • Support de tous types de médias

    10 avril 2011

    Contrairement à beaucoup de logiciels et autres plate-formes modernes de partage de documents, MediaSPIP a l’ambition de gérer un maximum de formats de documents différents qu’ils soient de type : images (png, gif, jpg, bmp et autres...) ; audio (MP3, Ogg, Wav et autres...) ; vidéo (Avi, MP4, Ogv, mpg, mov, wmv et autres...) ; contenu textuel, code ou autres (open office, microsoft office (tableur, présentation), web (html, css), LaTeX, Google Earth) (...)

  • Supporting all media types

    13 avril 2011, par

    Unlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)

  • Changer son thème graphique

    22 février 2011, par

    Le thème graphique ne touche pas à la disposition à proprement dite des éléments dans la page. Il ne fait que modifier l’apparence des éléments.
    Le placement peut être modifié effectivement, mais cette modification n’est que visuelle et non pas au niveau de la représentation sémantique de la page.
    Modifier le thème graphique utilisé
    Pour modifier le thème graphique utilisé, il est nécessaire que le plugin zen-garden soit activé sur le site.
    Il suffit ensuite de se rendre dans l’espace de configuration du (...)

Sur d’autres sites (9294)

  • How to use web analytics to acquire new customers

    2 septembre 2020, par Joselyn Khor — Analytics Tips, Marketing

    Are you investing time and money into marketing your business and unsure if it’s paying off ? Web analytics provides the tools and insights to help you know which marketing channels to target and focus on. Without it you might be going in blind and missing opportunities that might’ve been easily found in your metrics.

    Attracting the right visitors to your website

    To help acquire new customer on your website, you firstly need to attract the right visitors to your website. Then capturing their attention and engaging them in your content. Finally you’ll want to convert by driving them through a streamlined funnel/buyer’s journey on your website all backed up by data.

    So, how do you attract audiences to your site with a web analytics tool like Matomo ?

    1. Figure out who your audience is through the Visitor Profiles feature. 
    2. Calculate the Cost of Customer Acquisition (CAC) to plan for growth. To grow and make your business/website sustainable, you’ll need to earn more money from a customer than you spend on acquiring them. How to calculate : Divide marketing spend by the number of customers acquired. 
    3. Figure out which marketing channels e.g., social media, PPC, SEO, content marketing, etc., you should invest more in and which of those you should focus less on.

    How Matomo helps businesses acquire new customers 

    1. Use the Acquisitions feature
    2. Use funnels
    3. Study Visitor Profiles
    4. Focus on SEO efforts
    5. Look at the Multi Attribution feature
    6. Set goals
    7. Set Advanced eCommerce reporting

    1. Use the Acquisitions feature

    Matomo Analytics has a dedicated Acquisition feature to help with some of the heavy-lifting, making it easy for you to formulate targeted acquisition plans.

    Acquisitions feature

    This feature helps you learn who your potential customers are and figure out what marketing channels are converting the best for these visitors.

    • Learn what traffic you get from external websites : Knowing who’s helping you succeed from external websites is a crucial step to be able to focus your attention. Paid sponsorships, guest blog posts or even spending more on advertising on the particular website could result in greater traffic.
    • Social Networks : See which social media channels are connecting with the audiences you want. Take the guesswork out by using only the ones you need. By finding out which social channels your ideal audience prefers, you can generate shareable, convincing and engaging content to drive shares and traffic through to your site.
    • Campaigns : Your marketing team may have spent precious time and resource coming up with campaigns that are designed to succeed, but how can you be so sure ? With Campaigns you can understand what marketing campaigns are working, what aren’t, and shift your marketing efforts accordingly to gain more visitors, more effectively, with less costs. Keep track of every ad and content piece you display across internal and external channels to see which is having the biggest impact on your business objectives. Learn more

    Watch this video to learn about the Acquisitions feature

    2. Use funnels

    Creating conversion funnels gives you the big picture on whether your acquisition plans are paying off and where they may be falling short.

    Funnels feature

    If the ultimate goal of your site is to drive conversions, then each funnel can tell you how effectively you’re driving traffic through to your desired outcome.

    By integrating this with Visitor Profiles, you can view historic visitor profiles of any individual user at any stage of the conversion funnel. You see the full user journey at an individual level, including where they entered the funnel from and where they exited. Learn more

    How to amplify acquisition strategies with Funnels : Use conversion funnels to guide acquisition as you can tell which entry point is bringing the most success and which one needs more attention. Tailor your strategies to zone in on areas that have the most potential. You can identify where your visitors are encountering obstacles from the start, that are stopping them from progressing through their journey on your site.

    3. Study Visitor Profiles

    Visitor Profiles helps you understand visitors on a user-by-user basis, detailing each visitors’ history into a profile which summarises every visit, action and purchase made.

    Visitor Profiles feature

    Better understand :

    • Why your visitors viewed your website.

    • Why your returning visitors continue to view your website.

    • What specifically your visitors are looking for and whether they found it on your website.

    The benefit is being able to see how a combination of acquisition channels play a part in a single buyer’s journey.

    How Visitor Profiles helps with acquisition : By understanding the full behavioural patterns of any individual user coming through from external channels, you’ll see the path that led them to take action, where they may have gotten lost, and how engaged they are with your business over time. This gives you an indication of what kinds of visitors you’re attracting and helps you craft a buyer persona that more accurately reflects the audience most interested in you.

    4. Focus on SEO efforts

    Every acquisition plan needs a focus on maximising your Search Engine Optimization (SEO) efforts. When it comes to getting conclusive search engine referrer metrics, you need to be sure you’re getting ALL the insights to drive your SEO strategy.

    Integrate Google, Bing and Yahoo search consoles directly into your Matomo Analytics. This helps kickstart your acquisition goals as you rank highly for keywords that get the most traffic to your website.

    As another major SEO benefit, you can see how the most important search keywords to your business increased and decreased in ranking over time. 

    How to amplify acquisitions strategies with search engines and keywords : By staying on top of your competitors across ALL search engines, you may uncover traffic converting highly from one search engine, or find you could be losing traffic and business opportunities to your competitors across others.

    5. Look at the Multi Attribution feature

    Multi Attribution lets you measure the success of every touchpoint in the customer journey.

    Multi Attribution feature

    Accurately measure (and assign value to) channels where visitors first engaged with your business, where they came from after that, as well as the final channel they came from before purchasing your product or service.

    No longer falsely over-estimate any marketing channel and make smarter decisions when determining acquisition spend to accurately calculate the Customer Acquisition Cost (CAC). Learn more

    6. Set your Goals

    What are the acquisition goals you want to achieve the most ? The Goals feature lets you measure the most important metrics you need to grow your business.

    Goals feature

    Goals are crucial for building your marketing strategy and acquiring new customers. The more goals you track, the more you can learn about behavioural changes as you implement and modify paths that impact acquisition and conversions over time. You’ll understand which channels are converting the best for your business, which cities/countries are most popular, what devices will attract the most visitors and how engaged your visitors are before converting.

    This way you can see if your campaigns (SEO, PPC, signups, blogs etc.) or optimising efforts (A/B Testing, Funnels) have made an impact with the time and investment you have put in. Learn more

    7. Set Advanced Ecommence reporting

    If your website’s overall purpose is to generate revenue whether it be from an online store, asking for donations or from an online paid membership site ; the Ecommerce feature gives you comprehensive insights into your customers’ purchasing behaviours.

    Ecommerce feature

    When you use Ecommerce analytics, you heavily reduce risk when marketing your products to potential customers because you will understand who to target, what to target them with and where further opportunities exist to have the greatest impact for your business. Learn more

    Key takeaway

    Having the tools to ensure you’re creating a well planned acquisition strategy is key to attracting and capturing the attention of potential visitors/leads, and then driving them through a funnel/buyer’s journey on your website. Because of Matomo’s reputation as a trusted analytics platform, the features above can be used to assist you in making smarter data-driven decisions. You can pursue different acquisition avenues with confidence and create a strategy that’s agile and ready for success, all while respecting user privacy.

    Want to learn how to increase engagement with Matomo ? Click here. We’ll go through how you can boost engagement on your website via web analytics.

  • 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!


    


  • 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 ?