Recherche avancée

Médias (91)

Autres articles (73)

  • MediaSPIP v0.2

    21 juin 2013, par

    MediaSPIP 0.2 est la première version de MediaSPIP stable.
    Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Comme pour la version précédente, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

  • Le profil des utilisateurs

    12 avril 2011, par

    Chaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
    L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...)

  • Configurer la prise en compte des langues

    15 novembre 2010, par

    Accéder à la configuration et ajouter des langues prises en compte
    Afin de configurer la prise en compte de nouvelles langues, il est nécessaire de se rendre dans la partie "Administrer" du site.
    De là, dans le menu de navigation, vous pouvez accéder à une partie "Gestion des langues" permettant d’activer la prise en compte de nouvelles langues.
    Chaque nouvelle langue ajoutée reste désactivable tant qu’aucun objet n’est créé dans cette langue. Dans ce cas, elle devient grisée dans la configuration et (...)

Sur d’autres sites (11498)

  • What is Multi-Touch Attribution ? (And How To Get Started)

    2 février 2023, par Erin — Analytics Tips

    Good marketing thrives on data. Or more precisely — its interpretation. Using modern analytics software, we can determine which marketing actions steer prospects towards the desired action (a conversion event). 

    An attribution model in marketing is a set of rules that determine how various marketing tactics and channels impact the visitor’s progress towards a conversion. 

    Yet, as customer journeys become more complicated and involve multiple “touches”, standard marketing reports no longer tell the full picture. 

    That’s when multi-touch attribution analysis comes to the fore. 

    What is Multi-Touch Attribution ?

    Multi-touch attribution (also known as multi-channel attribution or cross-channel attribution) measures the impact of all touchpoints on the consumer journey on conversion. 

    Unlike single-touch reporting, multi-touch attribution models give credit to each marketing element — a social media ad, an on-site banner, an email link click, etc. By seeing impacts from every touchpoint and channel, marketers can avoid false assumptions or subpar budget allocations.

    To better understand the concept, let’s interpret the same customer journey using a standard single-touch report vs a multi-touch attribution model. 

    Picture this : Jammie is shopping around for a privacy-centred web analytics solution. She saw a recommendation on Twitter and ended up on the Matomo website. After browsing a few product pages and checking comparisons with other web analytics tools, she signs up for a webinar. One week after attending, Jammie is convinced that Matomo is the right tool for her business and goes directly to the Matomo website a starts a free trial. 

    • A standard single-touch report would attribute 100% of the conversion to direct traffic, which doesn’t give an accurate view of the multiple touchpoints that led Jammie to start a free trial. 
    • A multi-channel attribution report would showcase all the channels involved in the free trial conversion — social media, website content, the webinar, and then the direct traffic source.

    In other words : Multi-touch attribution helps you understand how prospects move through the sales funnel and which elements tinder them towards the desired outcome. 

    Types of Attribution Models

    As marketers, we know that multiple factors play into a conversion — channel type, timing, user’s stage on the buyer journey and so on. Various attribution models exist to reflect this variability. 

    Types of Attribution Models

    First Interaction attribution model (otherwise known as first touch) gives all credit for the conversion to the first channel (for example — a referral link) and doesn’t report on all the other interactions a user had with your company (e.g., clicked a newsletter link, engaged with a landing page, or browsed the blog campaign).

    First-touch helps optimise the top of your funnel and establish which channels bring the best leads. However, it doesn’t offer any insight into other factors that persuaded a user to convert. 

    Last Interaction attribution model (also known as last touch) allocates 100% credit to the last channel before conversion — be it direct traffic, paid ad, or an internal product page.

    The data is useful for optimising the bottom-of-the-funnel (BoFU) elements. But you have no visibility into assisted conversions — interactions a user had prior to conversion. 

    Last Non-Direct attribution model model excludes direct traffic and assigns 100% credit for a conversion to the last channel a user interacted with before converting. For instance, a social media post will receive 100% of credit if a shopper buys a product three days later. 

    This model is more telling about the other channels, involved in the sales process. Yet, you’re seeing only one step backwards, which may not be sufficient for companies with longer sales cycles.

    Linear attribution model distributes an equal credit for a conversion between all tracked touchpoints.

    For instance, with a four touchpoint conversion (e.g., an organic visit, then a direct visit, then a social visit, then a visit and conversion from an ad campaign) each touchpoint would receive 25% credit for that single conversion.

    This is the simplest multi-channel attribution modelling technique many tools support. The nuance is that linear models don’t reflect the true impact of various events. After all, a paid ad that introduced your brand to the shopper and a time-sensitive discount code at the checkout page probably did more than the blog content a shopper browsed in between. 

    Position Based attribution model allocates a 40% credit to the first and the last touchpoints and then spreads the remaining 20% across the touchpoints between the first and last. 

    This attribution model comes in handy for optimising conversions across the top and the bottom of the funnel. But it doesn’t provide much insight into the middle, which can skew your decision-making. For instance, you may overlook cases when a shopper landed via a social media post, then was re-engaged via email, and proceeded to checkout after an organic visit. Without email marketing, that sale may not have happened.

    Time decay attribution model adjusts the credit, based on the timing of the interactions. Touchpoints that preceded the conversion get the highest score, while the first ones get less weight (e.g., 5%-5%-10%-15%-25%-30%).

    This multi-channel attribution model works great for tracking the bottom of the funnel, but it underestimates the impact of brand awareness campaigns or assisted conversions at mid-stage. 

    Why Use Multi-Touch Attribution Modelling

    Multi-touch attribution provides you with the full picture of your funnel. With accurate data across all touchpoints, you can employ targeted conversion rate optimisation (CRO) strategies to maximise the impact of each campaign. 

    Most marketers and analysts prefer using multi-touch attribution modelling — and for some good reasons.

    Issues multi-touch attribution solves 

    • Funnel visibility. Understand which tactics play an important role at the top, middle and bottom of your funnel, instead of second-guessing what’s working or not. 
    • Budget allocations. Spend money on channels and tactics that bring a positive return on investment (ROI). 
    • Assisted conversions. Learn how different elements and touchpoints cumulatively contribute to the ultimate goal — a conversion event — to optimise accordingly. 
    • Channel segmentation. Determine which assets drive the most qualified and engaged leads to replicate them at scale.
    • Campaign benchmarking. Compare how different marketing activities from affiliate marketing to social media perform against the same metrics.

    How To Get Started With Multi-Touch Attribution 

    To make multi-touch attribution part of your analytics setup, follow the next steps :

    1. Define Your Marketing Objectives 

    Multi-touch attribution helps you better understand what led people to convert on your site. But to capture that, you need to first map the standard purchase journeys, which include a series of touchpoints — instances, when a prospect forms an opinion about your business.

    Touchpoints include :

    • On-site interactions (e.g., reading a blog post, browsing product pages, using an on-site calculator, etc.)
    • Off-site interactions (e.g., reading a review, clicking a social media link, interacting with an ad, etc.)

    Combined these interactions make up your sales funnel — a designated path you’ve set up to lead people toward the desired action (aka a conversion). 

    Depending on your business model, you can count any of the following as a conversion :

    • Purchase 
    • Account registration 
    • Free trial request 
    • Contact form submission 
    • Online reservation 
    • Demo call request 
    • Newsletter subscription

    So your first task is to create a set of conversion objectives for your business and add them as Goals or Conversions in your web analytics solution. Then brainstorm how various touchpoints contribute to these objectives. 

    Web analytics tools with multi-channel attribution, like Matomo, allow you to obtain an extra dimension of data on touchpoints via Tracked Events. Using Event Tracking, you can analyse how many people started doing a desired action (e.g., typing details into the form) but never completed the task. This way you can quickly identify “leaking” touchpoints in your funnel and fix them. 

    2. Select an Attribution Model 

    Multi-attribution models have inherent tradeoffs. Linear attribution model doesn’t always represent the role and importance of each channel. Position-based attribution model emphasises the role of the last and first channel while diminishing the importance of assisted conversions. Time-decay model, on the contrary, downplays the role awareness-related campaigns played.

    To select the right attribution model for your business consider your objectives. Is it more important for you to understand your best top of funnel channels to optimise customer acquisition costs (CAC) ? Or would you rather maximise your on-site conversion rates ? 

    Your industry and the average cycle length should also guide your choice. Position-based models can work best for eCommerce and SaaS businesses where both CAC and on-site conversion rates play an important role. Manufacturing companies or educational services providers, on the contrary, will benefit more from a time-decay model as it better represents the lengthy sales cycles. 

    3. Collect and Organise Data From All Touchpoints 

    Multi-touch attribution models are based on available funnel data. So to get started, you will need to determine which data sources you have and how to best leverage them for attribution modelling. 

    Types of data you should collect : 

    • General web analytics data : Insights on visitors’ on-site actions — visited pages, clicked links, form submissions and more.
    • Goals (Conversions) : Reports on successful conversions across different types of assets. 
    • Behavioural user data : Some tools also offer advanced features such as heatmaps, session recording and A/B tests. These too provide ample data into user behaviours, which you can use to map and optimise various touchpoints.

    You can also implement extra tracking, for instance for contact form submissions, live chat contacts or email marketing campaigns to identify repeat users in your system. Just remember to stay on the good side of data protection laws and respect your visitors’ privacy. 

    Separately, you can obtain top-of-the-funnel data by analysing referral traffic sources (channel, campaign type, used keyword, etc). A Tag Manager comes in handy as it allows you to zoom in on particular assets (e.g., a newsletter, an affiliate, a social campaign, etc). 

    Combined, these data points can be parsed by an app, supporting multi-touch attribution (or a custom algorithm) and reported back to you as specific findings. 

    Sounds easy, right ? Well, the devil is in the details. Getting ample, accurate data for multi-touch attribution modelling isn’t easy. 

    Marketing analytics has an accuracy problem, mainly for two reasons :

    • Cookie consent banner rejection 
    • Data sampling application

    Please note that we are not able to provide legal advice, so it’s important that you consult with your own DPO to ensure compliance with all relevant laws and regulations.

    If you’re collecting web analytics in the EU, you know that showing a cookie consent banner is a GDPR must-do. But many consumers don’t often rush to accept cookie consent banners. The average consent rate for cookies in 2021 stood at 54% in Italy, 45% in France, and 44% in Germany. The consent rates are likely lower in 2023, as Google was forced to roll out a “reject all” button for cookie tracking in Europe, while privacy organisations lodge complaints against individual businesses for deceptive banners. 

    For marketers, cookie rejection means substantial gaps in analytics data. The good news is that you can fill in those gaps by using a privacy-centred web analytics tool like Matomo. 

    Matomo takes extra safeguards to protect user privacy and supports fully cookieless tracking. Because of that, Matomo is legally exempt from tracking consent in France. Plus, you can configure to use our analytics tool without consent banners in other markets outside of Germany and the UK. This way you get to retain the data you need for audience modelling without breaching any privacy regulations. 

    Data sampling application partially stems from the above. When a web analytics or multi-channel attribution tool cannot secure first-hand data, the “guessing game” begins. Google Analytics, as well as other tools, often rely on synthetic AI-generated data to fill in the reporting gaps. Respectively, your multi-attribution model doesn’t depict the real state of affairs. Instead, it shows AI-produced guesstimates of what transpired whenever not enough real-world evidence is available.

    4. Evaluate and Select an Attribution Tool 

    Google Analytics (GA) offers several multi-touch attribution models for free (linear, time-decay and position-based). The disadvantage of GA multi-touch attribution is its lower accuracy due to cookie rejection and data sampling application.

    At the same time, you cannot create custom credit allocations for the proposed models, unless you have the paid version of GA, Google Analytics 360. This version of GA comes with a custom Attribution Modeling Tool (AMT). The price tag, however, starts at USD $50,000 per year. 

    Matomo Cloud offers multi-channel conversion attribution as a feature and it is available as a plug-in on the marketplace for Matomo On-Premise. We support linear, position-based, first-interaction, last-interaction, last non-direct and time-decay modelling, based fully on first-hand data. You also get more precise insights because cookie consent isn’t an issue with us. 

    Most multi-channel attribution tools, like Google Analytics and Matomo, provide out-of-the-box multi-touch attribution models. But other tools, like Matomo On-Premise, also provide full access to raw data so you can develop your own multi-touch attribution models and do custom attribution analysis. The ability to create custom attribution analysis is particularly beneficial for data analysts or organisations with complex and unique buyer journeys. 

    Conclusion

    Ultimately, multi-channel attribution gives marketers greater visibility into the customer journey. By analysing multiple touchpoints, you can establish how various marketing efforts contribute to conversions. Then use this information to inform your promotional strategy, budget allocations and CRO efforts. 

    The key to benefiting the most from multi-touch attribution is accurate data. If your analytics solution isn’t telling you the full story, your multi-touch model won’t either. 

    Collect accurate visitor data for multi-touch attribution modelling with Matomo. Start your free 21-day trial now

  • Send updating image to rtmp with ffmpeg in flutter app

    19 janvier 2023, par un_cafeinoman

    I have a JPG image in a directory that I update each time I got a new one and I have to send this image to a rtmp server.
I fond that ffmpeg can do that but I thougt -loop 0 is suppose to loop over the image and see if it is refreshed but when I start my command inside my app it seem to start well and end with good Return Code (0) but don't seem to loop.

    


    Here is my ffmpeg command : '-re -loop 0 -i $pathToFile -preset ultrafast -tune zerolatency -c:v libx264 -f flv $streamUrl'

    


    This code execute the command :

    


         FFmpegKit.executeAsync(command, (session) async {

        if (ReturnCode.isSuccess(await session.getReturnCode())) {

          log('FFmpeg process exited with rc ${await session.getReturnCode()} in ${await session.getDuration()} milliseconds');

        } else if (ReturnCode.isCancel(await session.getReturnCode())) {

          log('FFmpeg process cancelled');

        } else {

          log('FFmpeg process failed with rc ${await session.getReturnCode()} in ${await session.getReturnCode()} milliseconds');

        }
      }, (session) {

        log('Message ${session.getMessage()}');

      }, (session) {

        log('Statistics ${session.toString()}');

      });


    


    And finally I got those logs :

    


    [log] Message [libx264 @ 0x7ccd0b6400] 264 - core 164 - H.264/MPEG-4 AVC codec - Copyleft 2003-2022 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=7 lookahead_threads=7 sliced_threads=1 slices=7 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
[log] Message Output #0, flv, to 'rtmp://stream.stream.url.com':
[log] Message   Metadata:
[log] Message     encoder         :
[log] Message Lavf59.27.100
[log] Message
[log] Message   Stream #0:0
[log] Message : Video: h264 ([7][0][0][0] / 0x0007), yuvj422p(pc, bt470bg/unknown/unknown, progressive), 640x480, q=2-31
[log] Message ,
[log] Message 25 fps,
[log] Message 1k tbn
[log] Message
[log] Message     Metadata:
[log] Message       encoder         :
[log] Message Lavc59.37.100 libx264
[log] Message
[log] Message     Side data:
[log] Message
[log] Message cpb:
[log] Message bitrate max/min/avg: 0/0/0 buffer size: 0
[log] Message vbv_delay: N/A
[log] Message
[log] Statistics Instance of 'Statistics'
[log] Message frame=    1 fps=0.0 q=20.0 size=      21kB time=00:00:00.00 bitrate=173704.0kbits/s speed= 333x
[log] Message [flv @ 0x7cf7f74d00] Failed to update header with correct duration.
[log] Message [flv @ 0x7cf7f74d00] Failed to update header with correct filesize.
[log] Statistics Instance of 'Statistics'
[log] Message frame=    1 fps=0.0 q=20.0 Lsize=      21kB time=00:00:00.00 bitrate=173864.0kbits/s speed=0.0204x
[log] Message video:21kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.513382%
[log] Statistics Instance of 'Statistics'
[log] Message frame=    1 fps=0.0 q=20.0 Lsize=N/A time=00:00:00.00 bitrate=N/A speed=0.0204x
[log] Message video:21kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
[log] Message [libx264 @ 0x7ccd0b6400] frame I:1     Avg QP:20.00  size: 20815
[log] Message [libx264 @ 0x7ccd0b6400] mb I  I16..4: 100.0%  0.0%  0.0%
[log] Message [libx264 @ 0x7ccd0b6400] coded y,uvDC,uvAC intra: 37.5% 22.7% 2.3%
[log] Message [libx264 @ 0x7ccd0b6400] i16 v,h,dc,p: 50% 14% 24% 12%
[log] Message [libx264 @ 0x7ccd0b6400] i8c dc,h,v,p: 78%  6% 15%  1%
[log] Message [libx264 @ 0x7ccd0b6400] kb/s:4163.00
[log] FFmpeg process exited with rc 0 in 562 milliseconds


    


    All of this in inside a Flutter app with the package ffmpeg_kit_flutter (the full gpl version of it).

    


    Any one have an idea of how to loop over constantly every time the image is updated ?

    


    Edit : I try adding -f image2 in input but it failed with :

    


    [log] Message ffmpeg version n5.1.2
[log] Message  Copyright (c) 2000-2022 the FFmpeg developers
[log] Message
I/ink.kw_deliver(30445): WaitForGcToComplete blocked ProfileSaver on HeapTrim for 28.215ms
[log] Message   built with Android (7155654, based on r399163b1) clang version 11.0.5 (https://android.googlesource.com/toolchain/llvm-project 87f1315dfbea7c137aa2e6d362dbb457e388158d)
[log] Message   configuration: --cross-prefix=aarch64-linux-android- --sysroot=/files/android-sdk/ndk/22.1.7171670/toolchains/llvm/prebuilt/linux-x86_64/sysroot --prefix=/home/taner/Projects/ffmpeg-kit/prebuilt/android-arm64/ffmpeg --pkg-config=/usr/bin/pkg-config --enable-version3 --arch=aarch64 --cpu=armv8-a --target-os=android --enable-neon --enable-asm --enable-inline-asm --ar=aarch64-linux-android-ar --cc=aarch64-linux-android24-clang --cxx=aarch64-linux-android24-clang++ --ranlib=aarch64-linux-android-ranlib --strip=aarch64-linux-android-strip --nm=aarch64-linux-android-nm --extra-libs='-L/home/taner/Projects/ffmpeg-kit/prebuilt/android-arm64/cpu-features/lib -lndk_compat' --disable-autodetect --enable-cross-compile --enable-pic --enable-jni --enable-optimizations --enable-swscale --disable-static --enable-shared --enable-pthreads --enable-v4l2-m2m --disable-outdev=fbdev --disable-indev=fbdev --enable-small --disable-xmm-clobber-test --disable-debug --enable-lto --disable-neon-clobber-test --disable-programs --disable-postproc --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-sndio --disable-schannel --disable-securetransport --disable-xlib --disable-cuda --disable-cuvid --disable-nvenc --disable-vaapi --disable-vdpau --disable-videotoolbox --disable-audiotoolbox --disable-appkit --disable-alsa --disable-cuda --disable-cuvid --disable-nvenc --disable-vaapi --disable-vdpau --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-gmp --enable-gnutls --enable-libmp3lame --enable-libass --enable-iconv --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libxml2 --enable-libopencore-amrnb --enable-libshine --enable-libspeex --enable-libdav1d --enable-libkvazaar --enable-libx264 --enable-libxvid --enable-libx265 --enable-libvidstab --enable-libilbc --enable-libopus --enable-libsnappy --enable-libsoxr --enable-libtwolame --disable-sdl2 --enable-libvo-amrwbenc --enable-libzimg --disable-openssl --enable-zlib --enable-mediacodec --enable-gpl
[log] Message   libavutil      57. 28.100 / 57. 28.100
[log] Message   libavcodec     59. 37.100 / 59. 37.100
[log] Message   libavformat    59. 27.100 / 59. 27.100
[log] Message   libavdevice    59.  7.100 / 59.  7.100
[log] Message   libavfilter     8. 44.100 /  8. 44.100
[log] Message   libswscale      6.  7.100 /  6.  7.100
[log] Message   libswresample   4.  7.100 /  4.  7.100
[log] Message Input #0, image2, from '/data/user/0/com.kwikwink.kw_delivery/cache/images/stream.jpg':
[log] Message   Duration:
[log] Message 00:00:00.04
[log] Message , start:
[log] Message 0.000000
[log] Message , bitrate:
[log] Message N/A
[log] Message
[log] Message   Stream #0:0
[log] Message : Video: mjpeg, yuvj422p(pc, bt470bg/unknown/unknown), 640x480
[log] Message ,
[log] Message 25 fps,
[log] Message 25 tbr,
[log] Message 25 tbn
[log] Message
[log] Message rtmp://stream.path.com: I/O error
[log] FFmpeg process failed with rc 1 in 1 milliseconds


    


  • ErrorCode 1 while merging 2 videos

    10 janvier 2023, par Stéphane de Luca

    I am trying to merge two videos but have an error code 1.

    


    My command is as follows :

    


      final command =
        '-y $commandPaths -filter_complex \'[0:0][1:0]concat=n=${paths.length}:v=1:a=0[out]\' -map \'[out]\' $outputPath';


    


    I see the following error :

    


    


    I/flutter (17343) : Stream specifier ':0' in filtergraph description [0:0][1:0]concat=n=2:v=1:a=0[out] matches no streams.

    


    


    Not easy to understand what caused this as I am not familiar with the lib.

    


    I saw in a so that someone had the issue caused by the tw videos not having the same size.

    


    The logs are as follows :

    


    I/flutter (17343): Duration: 2.9345
I/flutter (17343): /data/user/0/com.example.shokaze/cache/PXL_20230104_041034414.TS.mp4 exists?: true
I/flutter (17343): Duration: 3.0677
I/flutter (17343): /data/user/0/com.example.shokaze/cache/PXL_20230104_041054379.TS.mp4 exists?: true
I/flutter (17343): Output duration; 6.0022


I/flutter (17343): About to executing: -y -i /data/user/0/com.example.shokaze/cache/PXL_20230104_041034414.TS.mp4 -i /data/user/0/com.example.shokaze/cache/PXL_20230104_041054379.TS.mp4  -filter_complex '[0:0][1:0]concat=n=2:v=1:a=0[out]' -map '[out]' /data/user/0/com.example.shokaze/app_flutter/output.mp4



I/flutter (17343): ffmpeg version n5.1.2
I/flutter (17343):  Copyright (c) 2000-2022 the FFmpeg developers
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):   built with Android (7155654, based on r399163b1) clang version 11.0.5 (https://android.googlesource.com/toolchain/llvm-project 87f1315dfbea7c137aa2e6d362dbb457e388158d)
I/flutter (17343): 
I/flutter (17343):   configuration: --cross-prefix=aarch64-linux-android- --sysroot=/files/android-sdk/ndk/22.1.7171670/toolchains/llvm/prebuilt/linux-x86_64/sysroot --prefix=/home/taner/Projects/ffmpeg-kit/prebuilt/android-arm64/ffmpeg --pkg-config=/usr/bin/pkg-config --enable-version3 --arch=aarch64 --cpu=armv8-a --target-os=android --enable-neon --enable-asm --enable-inline-asm --ar=aarch64-linux-android-ar --cc=aarch64-linux-android24-clang --cxx=aarch64-linux-android24-clang++ --ranlib=aarch64-linux-android-ranlib --strip=aarch64-linux-android-strip --nm=aarch64-linux-android-nm --extra-libs='-L/home/taner/Projects/ffmpeg-kit/prebuilt/android-arm64/cpu-features/lib -lndk_compat' --disable-autodetect --enable-cross-compile --enable-pic --enable-jni --enable-optimizations --enable-swscale --disable-static --enable-shared --enable-pthreads --enable-v4l2-m2m --disable-outdev=fbdev --disable-indev=fbdev --enable-small --disable-xmm-clobber-test --disable-debug --enable-lto --disable-neon-clobber-test --disable-programs --disab
I/flutter (17343): 
I/flutter (17343):   libavutil      57. 28.100 / 57. 28.100
I/flutter (17343): 
I/flutter (17343):   libavcodec     59. 37.100 / 59. 37.100
I/flutter (17343): 
I/flutter (17343):   libavformat    59. 27.100 / 59. 27.100
I/flutter (17343): 
I/flutter (17343):   libavdevice    59.  7.100 / 59.  7.100
I/flutter (17343): 
I/flutter (17343):   libavfilter     8. 44.100 /  8. 44.100
I/flutter (17343): 
I/flutter (17343):   libswscale      6.  7.100 /  6.  7.100
I/flutter (17343): 
I/flutter (17343):   libswresample   4.  7.100 /  4.  7.100
I/flutter (17343): 
I/flutter (17343): Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/data/user/0/com.example.shokaze/cache/PXL_20230104_041034414.TS.mp4':
I/flutter (17343): 
I/flutter (17343):   Metadata:
I/flutter (17343): 
I/flutter (17343):     major_brand     : 
I/flutter (17343): isom
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):     minor_version   : 
I/flutter (17343): 131072
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):     compatible_brands: 
I/flutter (17343): isomiso2mp41
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):     creation_time   : 
I/flutter (17343): 2023-01-04T04:10:38.000000Z
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):     location        : 
I/flutter (17343): +48.8638+2.4376/
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):     location-eng    : 
I/flutter (17343): +48.8638+2.4376/
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):     com.android.capture.fps: 
I/flutter (17343): 30.000000
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):   Duration: 
I/flutter (17343): 00:00:02.93
I/flutter (17343): , start: 
I/flutter (17343): 0.000000
I/flutter (17343): , bitrate: 
I/flutter (17343): 19691 kb/s
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):   Stream #0:0
I/flutter (17343): [0x1]
I/flutter (17343): (eng)
I/flutter (17343): : Data: none (mett / 0x7474656D), 53 kb/s
I/flutter (17343):  (default)
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):     Metadata:
I/flutter (17343): 
I/flutter (17343):       creation_time   : 
I/flutter (17343): 2023-01-04T04:10:38.000000Z
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):       handler_name    : 
I/flutter (17343): MetaHandle
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):   Stream #0:1
I/flutter (17343): [0x2]
I/flutter (17343): (eng)
I/flutter (17343): : Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 191 kb/s
I/flutter (17343):  (default)
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):     Metadata:
I/flutter (17343): 
I/flutter (17343):       creation_time   : 
I/flutter (17343): 2023-01-04T04:10:38.000000Z
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):       handler_name    : 
I/flutter (17343): SoundHandle
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):       vendor_id       : 
I/flutter (17343): [0][0][0][0]
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):   Stream #0:2
I/flutter (17343): [0x3]
I/flutter (17343): (eng)
I/flutter (17343): : Video: hevc (hvc1 / 0x31637668), yuvj420p(pc, bt709), 1920x1080, 19436 kb/s
I/flutter (17343): , SAR 1:1 DAR 16:9
I/flutter (17343): , 
I/flutter (17343): 29.99 fps, 
I/flutter (17343): 30 tbr, 
I/flutter (17343): 90k tbn
I/flutter (17343):  (default)
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):     Metadata:
I/flutter (17343): 
I/flutter (17343):       creation_time   : 
I/flutter (17343): 2023-01-04T04:10:38.000000Z
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):       handler_name    : 
I/flutter (17343): VideoHandle
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):       vendor_id       : 
I/flutter (17343): [0][0][0][0]
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):   Stream #0:3
I/flutter (17343): [0x4]
I/flutter (17343): (eng)
I/flutter (17343): : Data: none (mett / 0x7474656D)
I/flutter (17343):  (default)
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):     Metadata:
I/flutter (17343): 
I/flutter (17343):       creation_time   : 
I/flutter (17343): 2023-01-04T04:10:38.000000Z
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):       handler_name    : 
I/flutter (17343): MetaHandle
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343): Input #1, mov,mp4,m4a,3gp,3g2,mj2, from '/data/user/0/com.example.shokaze/cache/PXL_20230104_041054379.TS.mp4':
I/flutter (17343): 
I/flutter (17343):   Metadata:
I/flutter (17343): 
I/flutter (17343):     major_brand     : 
I/flutter (17343): isom
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):     minor_version   : 
I/flutter (17343): 131072
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):     compatible_brands: 
I/flutter (17343): isomiso2mp41
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):     creation_time   : 
I/flutter (17343): 2023-01-04T04:10:58.000000Z
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):     location        : 
I/flutter (17343): +48.8638+2.4376/
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):     location-eng    : 
I/flutter (17343): +48.8638+2.4376/
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):     com.android.capture.fps: 
I/flutter (17343): 30.000000
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):   Duration: 
I/flutter (17343): 00:00:03.07
I/flutter (17343): , start: 
I/flutter (17343): 0.000000
I/flutter (17343): , bitrate: 
I/flutter (17343): 20104 kb/s
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):   Stream #1:0
I/flutter (17343): [0x1]
I/flutter (17343): (eng)
I/flutter (17343): : Data: none (mett / 0x7474656D), 54 kb/s
I/flutter (17343):  (default)
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):     Metadata:
I/flutter (17343): 
I/flutter (17343):       creation_time   : 
I/flutter (17343): 2023-01-04T04:10:58.000000Z
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):       handler_name    : 
I/flutter (17343): MetaHandle
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):   Stream #1:1
I/flutter (17343): [0x2]
I/flutter (17343): (eng)
I/flutter (17343): : Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 191 kb/s
I/flutter (17343):  (default)
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):     Metadata:
I/flutter (17343): 
I/flutter (17343):       creation_time   : 
I/flutter (17343): 2023-01-04T04:10:58.000000Z
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):       handler_name    : 
I/flutter (17343): SoundHandle
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):       vendor_id       : 
I/flutter (17343): [0][0][0][0]
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):   Stream #1:2
I/flutter (17343): [0x3]
I/flutter (17343): (eng)
I/flutter (17343): : Video: hevc (hvc1 / 0x31637668), yuvj420p(pc, bt709), 1920x1080, 19848 kb/s
I/flutter (17343): , SAR 1:1 DAR 16:9
I/flutter (17343): , 
I/flutter (17343): 29.99 fps, 
I/flutter (17343): 30 tbr, 
I/flutter (17343): 90k tbn
I/flutter (17343):  (default)
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):     Metadata:
I/flutter (17343): 
I/flutter (17343):       creation_time   : 
I/flutter (17343): 2023-01-04T04:10:58.000000Z
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):       handler_name    : 
I/flutter (17343): VideoHandle
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):       vendor_id       : 
I/flutter (17343): [0][0][0][0]
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):     Side data:
I/flutter (17343): 
I/flutter (17343):       
I/flutter (17343): displaymatrix: rotation of -90.00 degrees
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):   Stream #1:3
I/flutter (17343): [0x4]
I/flutter (17343): (eng)
I/flutter (17343): : Data: none (mett / 0x7474656D)
I/flutter (17343):  (default)
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):     Metadata:
I/flutter (17343): 
I/flutter (17343):       creation_time   : 
I/flutter (17343): 2023-01-04T04:10:58.000000Z
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):       handler_name    : 
I/flutter (17343): MetaHandle
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343): Stream specifier ':0' in filtergraph description [0:0][1:0]concat=n=2:v=1:a=0[out] matches no streams.
I/flutter (17343): 
I/flutter (17343): executing: -y -i /data/user/0/com.example.shokaze/cache/PXL_20230104_041034414.TS.mp4 -i /data/user/0/com.example.shokaze/cache/PXL_20230104_041054379.TS.mp4  -filter_complex '[0:0][1:0]concat=n=2:v=1:a=0[out]' -map '[out]' /data/user/0/com.example.shokaze/app_flutter/output.mp4
I/flutter (17343): error 1


    


    Therefore I tried to add a resize in the command without success as follows :.

    


        final command =
        '$commandPaths -filter_complex \'[0:v]scale=1920:1080[0:a] [1:v]scale=1920:1080[1:a] concat=n=${paths.length}:v=1:a=1[v][a]\' -map \'[v]\' -map \'[a]\' $outputPath';



    


    This time the logs say :

    


    


    I/flutter (17343) : [AVFilterGraph @ 0xb4000074ea6265f0] No output pad can be associated to link label '1:v'.

    


    


    The logs are as follows :

    


    I/flutter (17343): Duration: 2.9345
I/flutter (17343): /data/user/0/com.example.shokaze/cache/PXL_20230104_041034414.TS.mp4 exists?: true
I/flutter (17343): Duration: 3.0677
I/flutter (17343): /data/user/0/com.example.shokaze/cache/PXL_20230104_041054379.TS.mp4 exists?: true
I/flutter (17343): Output duration; 6.0022
I/flutter (17343): About to executing: -i /data/user/0/com.example.shokaze/cache/PXL_20230104_041034414.TS.mp4 -i /data/user/0/com.example.shokaze/cache/PXL_20230104_041054379.TS.mp4  -filter_complex '[0:v]scale=1920:1080[0:a] [1:v]scale=1920:1080[1:a] concat=n=2:v=1:a=1[v][a]' -map '[v]' -map '[a]' /data/user/0/com.example.shokaze/app_flutter/output.mp4
I/flutter (17343): ffmpeg version n5.1.2
I/flutter (17343):  Copyright (c) 2000-2022 the FFmpeg developers
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):   built with Android (7155654, based on r399163b1) clang version 11.0.5 (https://android.googlesource.com/toolchain/llvm-project 87f1315dfbea7c137aa2e6d362dbb457e388158d)
I/flutter (17343): 
I/flutter (17343):   configuration: --cross-prefix=aarch64-linux-android- --sysroot=/files/android-sdk/ndk/22.1.7171670/toolchains/llvm/prebuilt/linux-x86_64/sysroot --prefix=/home/taner/Projects/ffmpeg-kit/prebuilt/android-arm64/ffmpeg --pkg-config=/usr/bin/pkg-config --enable-version3 --arch=aarch64 --cpu=armv8-a --target-os=android --enable-neon --enable-asm --enable-inline-asm --ar=aarch64-linux-android-ar --cc=aarch64-linux-android24-clang --cxx=aarch64-linux-android24-clang++ --ranlib=aarch64-linux-android-ranlib --strip=aarch64-linux-android-strip --nm=aarch64-linux-android-nm --extra-libs='-L/home/taner/Projects/ffmpeg-kit/prebuilt/android-arm64/cpu-features/lib -lndk_compat' --disable-autodetect --enable-cross-compile --enable-pic --enable-jni --enable-optimizations --enable-swscale --disable-static --enable-shared --enable-pthreads --enable-v4l2-m2m --disable-outdev=fbdev --disable-indev=fbdev --enable-small --disable-xmm-clobber-test --disable-debug --enable-lto --disable-neon-clobber-test --disable-programs --disab
I/flutter (17343): 
I/flutter (17343):   libavutil      57. 28.100 / 57. 28.100
I/flutter (17343): 
I/flutter (17343):   libavcodec     59. 37.100 / 59. 37.100
I/flutter (17343): 
I/flutter (17343):   libavformat    59. 27.100 / 59. 27.100
I/flutter (17343): 
I/flutter (17343):   libavdevice    59.  7.100 / 59.  7.100
I/flutter (17343): 
I/flutter (17343):   libavfilter     8. 44.100 /  8. 44.100
I/flutter (17343): 
I/flutter (17343):   libswscale      6.  7.100 /  6.  7.100
I/flutter (17343): 
I/flutter (17343):   libswresample   4.  7.100 /  4.  7.100
I/flutter (17343): 
I/flutter (17343): Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/data/user/0/com.example.shokaze/cache/PXL_20230104_041034414.TS.mp4':
I/flutter (17343): 
I/flutter (17343):   Metadata:
I/flutter (17343): 
I/flutter (17343):     major_brand     : 
I/flutter (17343): isom
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):     minor_version   : 
I/flutter (17343): 131072
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):     compatible_brands: 
I/flutter (17343): isomiso2mp41
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):     creation_time   : 
I/flutter (17343): 2023-01-04T04:10:38.000000Z
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):     location        : 
I/flutter (17343): +48.8638+2.4376/
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):     location-eng    : 
I/flutter (17343): +48.8638+2.4376/
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):     com.android.capture.fps: 
I/flutter (17343): 30.000000
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):   Duration: 
I/flutter (17343): 00:00:02.93
I/flutter (17343): , start: 
I/flutter (17343): 0.000000
I/flutter (17343): , bitrate: 
I/flutter (17343): 19691 kb/s
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):   Stream #0:0
I/flutter (17343): [0x1]
I/flutter (17343): (eng)
I/flutter (17343): : Data: none (mett / 0x7474656D), 53 kb/s
I/flutter (17343):  (default)
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):     Metadata:
I/flutter (17343): 
I/flutter (17343):       creation_time   : 
I/flutter (17343): 2023-01-04T04:10:38.000000Z
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):       handler_name    : 
I/flutter (17343): MetaHandle
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):   Stream #0:1
I/flutter (17343): [0x2]
I/flutter (17343): (eng)
I/flutter (17343): : Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 191 kb/s
I/flutter (17343):  (default)
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):     Metadata:
I/flutter (17343): 
I/flutter (17343):       creation_time   : 
I/flutter (17343): 2023-01-04T04:10:38.000000Z
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):       handler_name    : 
I/flutter (17343): SoundHandle
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):       vendor_id       : 
I/flutter (17343): [0][0][0][0]
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):   Stream #0:2
I/flutter (17343): [0x3]
I/flutter (17343): (eng)
I/flutter (17343): : Video: hevc (hvc1 / 0x31637668), yuvj420p(pc, bt709), 1920x1080, 19436 kb/s
I/flutter (17343): , SAR 1:1 DAR 16:9
I/flutter (17343): , 
I/flutter (17343): 29.99 fps, 
I/flutter (17343): 30 tbr, 
I/flutter (17343): 90k tbn
I/flutter (17343):  (default)
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):     Metadata:
I/flutter (17343): 
I/flutter (17343):       creation_time   : 
I/flutter (17343): 2023-01-04T04:10:38.000000Z
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):       handler_name    : 
I/flutter (17343): VideoHandle
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):       vendor_id       : 
I/flutter (17343): [0][0][0][0]
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):   Stream #0:3
I/flutter (17343): [0x4]
I/flutter (17343): (eng)
I/flutter (17343): : Data: none (mett / 0x7474656D)
I/flutter (17343):  (default)
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):     Metadata:
I/flutter (17343): 
I/flutter (17343):       creation_time   : 
I/flutter (17343): 2023-01-04T04:10:38.000000Z
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):       handler_name    : 
I/flutter (17343): MetaHandle
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343): Input #1, mov,mp4,m4a,3gp,3g2,mj2, from '/data/user/0/com.example.shokaze/cache/PXL_20230104_041054379.TS.mp4':
I/flutter (17343): 
I/flutter (17343):   Metadata:
I/flutter (17343): 
I/flutter (17343):     major_brand     : 
I/flutter (17343): isom
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):     minor_version   : 
I/flutter (17343): 131072
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):     compatible_brands: 
I/flutter (17343): isomiso2mp41
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):     creation_time   : 
I/flutter (17343): 2023-01-04T04:10:58.000000Z
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):     location        : 
I/flutter (17343): +48.8638+2.4376/
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):     location-eng    : 
I/flutter (17343): +48.8638+2.4376/
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):     com.android.capture.fps: 
I/flutter (17343): 30.000000
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):   Duration: 
I/flutter (17343): 00:00:03.07
I/flutter (17343): , start: 
I/flutter (17343): 0.000000
I/flutter (17343): , bitrate: 
I/flutter (17343): 20104 kb/s
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):   Stream #1:0
I/flutter (17343): [0x1]
I/flutter (17343): (eng)
I/flutter (17343): : Data: none (mett / 0x7474656D), 54 kb/s
I/flutter (17343):  (default)
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):     Metadata:
I/flutter (17343): 
I/flutter (17343):       creation_time   : 
I/flutter (17343): 2023-01-04T04:10:58.000000Z
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):       handler_name    : 
I/flutter (17343): MetaHandle
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):   Stream #1:1
I/flutter (17343): [0x2]
I/flutter (17343): (eng)
I/flutter (17343): : Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 191 kb/s
I/flutter (17343):  (default)
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):     Metadata:
I/flutter (17343): 
I/flutter (17343):       creation_time   : 
I/flutter (17343): 2023-01-04T04:10:58.000000Z
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):       handler_name    : 
I/flutter (17343): SoundHandle
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):       vendor_id       : 
I/flutter (17343): [0][0][0][0]
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):   Stream #1:2
I/flutter (17343): [0x3]
I/flutter (17343): (eng)
I/flutter (17343): : Video: hevc (hvc1 / 0x31637668), yuvj420p(pc, bt709), 1920x1080, 19848 kb/s
I/flutter (17343): , SAR 1:1 DAR 16:9
I/flutter (17343): , 
I/flutter (17343): 29.99 fps, 
I/flutter (17343): 30 tbr, 
I/flutter (17343): 90k tbn
I/flutter (17343):  (default)
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):     Metadata:
I/flutter (17343): 
I/flutter (17343):       creation_time   : 
I/flutter (17343): 2023-01-04T04:10:58.000000Z
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):       handler_name    : 
I/flutter (17343): VideoHandle
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):       vendor_id       : 
I/flutter (17343): [0][0][0][0]
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):     Side data:
I/flutter (17343): 
I/flutter (17343):       
I/flutter (17343): displaymatrix: rotation of -90.00 degrees
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):   Stream #1:3
I/flutter (17343): [0x4]
I/flutter (17343): (eng)
I/flutter (17343): : Data: none (mett / 0x7474656D)
I/flutter (17343):  (default)
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):     Metadata:
I/flutter (17343): 
I/flutter (17343):       creation_time   : 
I/flutter (17343): 2023-01-04T04:10:58.000000Z
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343):       handler_name    : 
I/flutter (17343): MetaHandle
I/flutter (17343): 
I/flutter (17343): 
I/flutter (17343): [AVFilterGraph @ 0xb4000074ea6265f0] No output pad can be associated to link label '1:v'.
I/flutter (17343): 
I/flutter (17343): Error initializing complex filters.
I/flutter (17343): 
I/flutter (17343): Invalid argument
I/flutter (17343): 
I/flutter (17343): Conversion failed!
I/flutter (17343): 
I/flutter (17343): executing: -i /data/user/0/com.example.shokaze/cache/PXL_20230104_041034414.TS.mp4 -i /data/user/0/com.example.shokaze/cache/PXL_20230104_041054379.TS.mp4  -filter_complex '[0:v]scale=1920:1080[0:a] [1:v]scale=1920:1080[1:a] concat=n=2:v=1:a=1[v][a]' -map '[v]' -map '[a]' /data/user/0/com.example.shokaze/app_flutter/output.mp4
I/flutter (17343): error 1