Recherche avancée

Médias (3)

Mot : - Tags -/spip

Sur d’autres sites (333)

  • 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


    


  • Google Analytics Privacy Issues : Is It Really That Bad ?

    2 juin 2022, par Erin

    If you find yourself asking : “What’s the deal with Google Analytics privacy ?”, you probably have some second thoughts. 

    Your hunch is right. Google Analytics (GA) is a popular web analytics tool, but it’s far from being perfect when it comes to respecting users’ privacy. 

    This post helps you understand tremendous Google Analytics privacy concerns users, consumers and regulators expressed over the years.

    In this blog, we’ll cover :

    What Does Google Analytics Collect About Users ? 

    To understand Google Analytics privacy issues, you need to know how Google treats web users’ data. 

    By default, Google Analytics collects the following information : 

    • Session statistics — duration, page(s) viewed, etc. 
    • Referring website details — a link you came through or keyword used. 
    • Approximate geolocation — country, city. 
    • Browser and device information — mobile vs desktop, OS usage, etc. 

    Google obtains web analytics data about users via two means : an on-site Google Analytics tracking code and cookies.

    A cookie is a unique identifier (ID) assigned to each user visiting a web property. Each cookie stores two data items : unique user ID and website name. 

    With the help of cookies, web analytics solutions can recognise returning visitors and track their actions across the website(s).

    First-party vs third-party cookies
    • First party cookies are generated by one website and collect user behaviour data from said website only. 
    • Third-party cookies are generated by a third-party website object (for example, an ad) and can track user behaviour data across multiple websites. 

    As it’s easy to imagine, third-party cookies are a goldmine for companies selling online ads. Essentially, they allow ad platforms to continue watching how the user navigates the web after clicking a certain link. 

    Yet, people have little clue as to which data they are sharing and how it is being used. Also, user consent to tracking across websites is only marginally guaranteed by existing Google Analytics controls. 

    Why Third-Party Cookie Data Collection By GA Is Problematic 

    Cookies can transmit personally identifiable information (PII) such as name, log in details, IP address, saved payment method and so on. Some of these details can end up with advertisers without consumers’ direct knowledge or consent.

    Regulatory frameworks such as General Data Protection Regulation (GDPR) in Europe and California Consumer Privacy Act (CCPA) emerged as a response to uncontrolled user behaviour tracking.

    Under regulatory pressure, Big Tech companies had to adapt their data collection process.

    Apple was the first to implement by-default third-party blocking in the Safari browser. Then added a tracking consent mechanism for iPhone users starting from iOS 15.2 and later. 

    Google, too, said it would drop third-party cookie usage after The European Commission and UK’s Competition and Markets Authority (CMA) launched antitrust investigations into its activity. 

    To shake off the data watchdogs, Google released a Privacy Sandbox — a set of progressive tech, operational and compliance changes for ensuring greater consumer privacy. 

    Google’s biggest promise : deprecate third-party cookies usage for all web and mobile products. 

    Originally, Google promised to drop third-party cookies by 2022, but that didn’t happen. Instead, Google delayed cookie tracking depreciation for Chrome until the second half of 2023

    Why did they push back on this despite hefty fines from regulators ?

    Because online ads make Google a lot of money.

    In 2021, Alphabet Inc (parent company of Google), made $256.7 billion in revenue, of which $209.49 billion came from selling advertising. 

    Lax Google Analytics privacy enforcement — and its wide usage by website owners — help Google make those billions from collecting and selling user data. 

    How Google Uses Collected Google Analytics Data for Advertising 

    Over 28 million websites (or roughly 85% of the Internet) have Google Analytics tracking codes installed. 

    Even if one day we get a Google Analytics version without cookies, it still won’t address all the privacy concerns regulators and consumers have. 

    Over the years, Google has accumulated an extensive collection of user data. The company’s engineers used it to build state-of-the-art deep learning models, now employed to build advanced user profiles. 

    Deep learning is the process of training a machine to recognise data patterns. Then this “knowledge” is used to produce highly-accurate predictive insights. The more data you have for model training — the better its future accuracy will be. 

    Google has amassed huge deposits of data from its collection of products — GA, YouTube, Gmail, Google Docs and Google Maps among others. Now they are using this data to build a third-party cookies-less alternative mechanism for modelling people’s preferences, habits, lifestyles, etc. 

    Their latest model is called Google Topics. 

    This comes only after Google’s failed attempt to replace cookie-based training with Federated Learning of Cohorts (FLoC) model. But the solution wasn’t offering enough user transparency and user controls among other issues.

    Google Topics
    Source : Google Blog

    Google Topics promises to limit the granularity of data advertisers get about users. 

    But it’s still a web user surveillance method. With Google Topics, the company will continue collecting user data via Chrome (and likely other Google products) — and share it with advertisers. 

    Because as we said before : Google is in the business of profiting off consumers’ data. 

    Two Major Ways Google Takes Advantage of Customer Data

    Every bit of data Google collects across its ecosystem of products can be used in two ways :

    • For ad targeting and personalisation 
    • To improve Google’s products 

    The latter also helps the former. 

    Advanced Ad Personalisation and Targeting

    GA provides the company with ample data on users’ 

    • Recent and frequent searches 
    • Location history
    • Visited websites
    • Used apps 
    • Videos and ads viewed 
    • Personal data like age or gender 

    The company’s privacy policy explicitly states that :

    Google Analytics Privacy Policy
    Source : Google

    Google also admits to using collected data to “measure the effectiveness of advertising” and “personalise content and ads you see on Google.” 

    But there are no further elaborations on how exactly customers’ data is used — and what you can do to prevent it from being shared with third parties. 

    In some cases, Google also “forgets” to inform users about its in-product tracking.

    Journalists from CNBC and The New York Times independently concluded that Google monitors users’ Gmail activity. In particular, the company scans your inbox for recent purchases, trips, flights and bills notifications. 

    While Google says that this information isn’t sold to advertisers (directly), they still may use the “saved information about your orders in other Google services”. 

    Once again, this means you have little control or knowledge of subsequent data usage. 

    Improving Product Usability 

    Google has many “arms” to collect different data points — from user’s search history to frequently-travelled physical routes. 

    They also reserve the right to use these insights for improving existing products. 

    Here’s what it means : by combining different types of data points obtained from various products, Google can pierce a detailed picture of a person’s life. Even if such user profile data is anonymised, it is still alarmingly accurate. 

    Douglas Schmidt, a computer science researcher at Vanderbilt University, well summarised the matter : 

    “[Google’s] business model is to collect as much data about you as possible and cross-correlate it so they can try to link your online persona with your offline persona. This tracking is just absolutely essential to their business. ‘Surveillance capitalism’ is a perfect phrase for it.”

    Google Data Collection Obsession Is Backed Into Its Business Model 

    OK, but Google offers some privacy controls to users ? Yes. Google only sees and uses the information you voluntarily enter or permit them to access. 

    But as the Washington Post correspondent points out :

    “[Big Tech] companies get to set all the rules, as long as they run those rules by consumers in convoluted terms of service that even those capable of decoding the legalistic language rarely bother to read. Other mechanisms for notice and consent, such as opt-outs and opt-ins, create similar problems. Control for the consumer is mostly an illusion.”

    Google openly claims to be “one of many ad networks that personalise ads based on your activity online”. 

    The wrinkle is that they have more data than all other advertising networks (arguably combined). This helps Google sell high-precision targeting and contextually personalised ads for billions of dollars annually.

    Given that Google has stakes in so many products — it’s really hard to de-Google your business and minimise tracking and data collection from the company.

    They are also creating a monopoly on data collection and ownership. This fact makes regulators concerned. The 2021 antitrust lawsuit from the European Commission says : 

    “The formal investigation will notably examine whether Google is distorting competition by restricting access by third parties to user data for advertising purposes on websites and apps while reserving such data for its own use.”

    In other words : By using consumer data to its unfair advantage, Google allegedly shuts off competition.

    But that’s not the only matter worrying regulators and consumers alike. Over the years, Google also received numerous other lawsuits for breaching people’s privacy, over and over again. 

    Here’s a timeline : 

    Separately, Google has a very complex history with GDPR compliance

    How Google Analytics Contributes to the Web Privacy Problem 

    Google Analytics is the key puzzle piece that supports Google’s data-driven business model. 

    If Google was to release a privacy-focused Google Analytics alternative, it’d lose access to valuable web users’ data and a big portion of digital ad revenues. 

    Remember : Google collects more data than it shares with web analytics users and advertisers. But they keep a lot of it for personal usage — and keep looking for ways to share this intel with advertisers (in a way that keeps regulators off their tail).

    For Google Analytics to become truly ethical and privacy-focused, Google would need to change their entire revenue model — which is something they are unlikely to do.

    Where does this leave Google Analytics users ? 

    In a slippery territory. By proxy, companies using GA are complicit with Google’s shady data collection and usage practice. They become part of the problem.

    In fact, Google Analytics usage opens a business to two types of risks : 

    • Reputational. 77% of global consumers say that transparency around how data is collected and used is important to them when interacting with different brands. That’s why data breaches and data misuse by brands lead to major public outrages on social media and boycotts in some cases. 
    • Legal. EU regulators are on a continuous crusade against Google Analytics 4 (GA4) as it is in breach of GDPR. French and Austrian watchdogs ruled the “service” illegal. Since Google Analytics is not GDPR compliant, it opens any business using it to lawsuits (which is already happening).

    But there’s a way out.

    Choose a Privacy-Friendly Google Analytics Alternative 

    Google Analytics is a popular web analytics service, but not the only one available. You have alternatives such as Matomo. 

    Our guiding principle is : respecting privacy.

    Unlike Google Analytics, we leave data ownership 100% in users’ hands. Matomo lets you implement privacy-centred controls for user data collection.

    Plus, you can self-host Matomo On-Premise or choose Matomo Cloud with data securely stored in the EU and in compliance with GDPR.

    The best part ? You can try our ethical alternative to Google Analytics for free. No credit card required ! Start your free 21-day trial now

  • 7 Reasons to Migrate from Google Analytics to Matomo Now

    15 mai 2022, par Erin

    The release of Google Analytics 4 (GA4), and the subsequent depreciation of Universal Analytics, has caused a stir amongst webmasters, SEO experts, marketers and the likes.

    Google’s Universal Analytics is the most widely used web analytics platform in the world, but from 1 July 2023, it will no longer process any new data. Google is now pushing users to set up GA4 tracking imminently.

    If you’re like many and wondering if you should upgrade to Google Analytics 4, there are two key reasons why this might be a risk :

    1. GDPR violations : recent rulings have deemed Google Analytics illegal in France and Austria, and it’s likely that this trend will continue across the EU.
    2. Data loss : users switching to Google Analytics 4 can’t migrate their data from Universal Analytics.

    To mitigate these risks, many organisations are looking to switch to a Google Analytics alternative like Matomo. This is an ideal option for organisations that want to take ownership of their data, get compliant with privacy regulations and save themselves the stress of Google deprecating the software they rely on.

    Whilst there are two major reasons to steer clear of Google Analytics 4, there are 7 reasons why migrating to Matomo instead could save your business time, money and peace of mind.

    If you want to avoid the pitfalls of GA4 and are thinking about migrating from Universal Analytics to Matomo, here’s why you should make the switch now.

    1. Keep your historical Universal Analytics data

    Users switching to Google Analytics 4 will be disappointed to find out that GA4 does not accept data imports from Universal Analytics. On top of that, Google also announced that after Universal Analytics stops processing new data (1 July 2023), users will only be able to access this data for “at least six months”. 

    Years of valuable insights will be completely wiped and organisations will not be able to report on year over year results.

    Fortunately, any organisation using Universal Analytics can import this data into Matomo using our Google Analytics Importer plugin. So you can reduce business disruptions and retain years of valuable web analytics data when you switch to Matomo.

    Our comprehensive migration documentation features a handy video, written guides and FAQs to ensure a smooth migration process.

    2. Ease of use

    Web analytics is complicated enough without having to navigate confusing platform user interfaces (UIs). One of GA4’s biggest drawbacks is the “awful and unusable” interface which has received an overwhelming amount of negative backlash online. 

    Matomo’s intuitive UI contains many of the familiar features that made Universal Analytics so well-liked. You’ll find the same popular features like Visitors, Behaviour, and Acquisition to name a few.

    Behaviour User Flow in Matomo

    User Flow in Matomo

    When you switch to Matomo you can get up to speed quickly and spend more time focusing on high-value tasks, rather than learning about everything new in GA4.

    3. 100% accurate unsampled data

    GA4 implements data sampling and machine learning to fill gaps. Often what you are basing critical business decisions on is actually an estimate of activity. 

    Matomo does not use data sampling, so this guarantees you will always see the full picture.

    “My primary reason to use Matomo is to get the unsampled data, [...] if your website gets lots of traffic and you can’t afford an enterprise level tool like GA premium [GA360] then Matomo is your best choice.”

    Himanshu Sharma, Digital Marketing Consultant & Founder at Optimize Smart.

    With Matomo you can be confident your data-driven decisions are being made with real data.

    4. Privacy by design

    Built-in privacy has always been at the core of Matomo. One key method we use to achieve this, is by giving you 100% data ownership of your web analytics data. You don’t ever have to worry about the data landing in the wrong hands or being used in unethical ways – like unsolicited advertising. 

    On the contrary, Google Analytics is regularly under fire for controversial uses of data. While Google has made changes to make GA4 more privacy-focused, it’s all just smoke and mirrors. The data collected from Google Analytics accounts is used by Google to create digital profiles on internet users, which is then used for advertising. 

    Consumers are becoming increasingly concerned about how businesses are using their data. Businesses that develop privacy strategies, utilise privacy-focused tools will gain a competitive advantage and a loyal customer-base. 

    Prioritise the protection of your user data by switching to a privacy-by-design analytics solution.

    5. Compliance with global privacy laws

    To date, Google Analytics has been deemed illegal to use in France and Austria due to data transfers to the US. Upgrading to GA4 doesn’t make this problem go away either since data is still transferred to the US. 

    Matomo is easily configured to follow even the strictest of privacy laws like GDPR, HIPAA, CCPA, LGPD and PECR. Here’s how :

    Matomo can also be used without cookie consent banners (unlike with Google Analytics, which will always need user consent to track). Matomo has been approved by the French Data Protection Authority (CNIL) as one of the select few web analytics tools that can be used to collect data without tracking consent.

    Every year more countries are drafting legislation that mirrors the European Union’s GDPR (like the Brazilian LGPD). Matomo is designed to stay data-privacy law compliant, and always will be.

    Stay on top of global privacy laws and reduce the time you spend on compliance by switching to a privacy-compliant solution. 

    6. All-in-one web analytics

    Matomo gives you easy access to Heatmaps, Session Recordings, A/B testing, Funnels analytics, and more right out of the box. This means that digital marketing, UX and procurement teams won’t need to set up and manage multiple tools for behavioural analytics – it’s all in one place.

    Learn more about your audience, save money and reduce complexity by switching to an all-in-one analytics solution.

    Check out Matomo’s extensive product features.

    Heatmaps in Matomo

    Page Scroll Depth in Matomo

    7. Tag Manager built-in

    Unlike GA4, the Matomo Tag Manager comes built-in for an efficient and consistent user experience. Matomo Tag Manager offers a pain-free solution for embedding tracking codes on your website without needing help from a web developer or someone with technical knowledge.

    Help your Marketing team track more website actions and give time back to your web developer by switching to Matomo Tag Manager.

    Final Thoughts

    Google Analytics is free to use, but the surrounding legal issues with the platform and implications of switching to GA4 will make migrating a tough choice for many businesses. 

    Now is the chance for organisations to step away from the advertising tech giant, take ownership of web analytics data and get compliant. Switch to the leading Google Analytics alternative and see why over 1 million websites choose Matomo for their web analytics.

    Ready to get started with your own Google Analytics to Matomo migration ? Try Matomo free for 21 days now – no credit card required.