Recherche avancée

Médias (1)

Mot : - Tags -/illustrator

Autres articles (52)

  • Mise à jour de la version 0.1 vers 0.2

    24 juin 2013, par

    Explications des différents changements notables lors du passage de la version 0.1 de MediaSPIP à la version 0.3. Quelles sont les nouveautés
    Au niveau des dépendances logicielles Utilisation des dernières versions de FFMpeg (>= v1.2.1) ; Installation des dépendances pour Smush ; Installation de MediaInfo et FFprobe pour la récupération des métadonnées ; On n’utilise plus ffmpeg2theora ; On n’installe plus flvtool2 au profit de flvtool++ ; On n’installe plus ffmpeg-php qui n’est plus maintenu au (...)

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

    5 septembre 2013, par

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

  • Ecrire une actualité

    21 juin 2013, par

    Présentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
    Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
    Vous pouvez personnaliser le formulaire de création d’une actualité.
    Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)

Sur d’autres sites (9998)

  • Why when using ffmpeg to create in real time avi video file from images the avi file is playing with purple noisy color ?

    30 juin 2015, par Brubaker Haim

    This is my Ffmpeg class i did some time ago

    using System;
    using System.Windows.Forms;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Drawing;
    using System.IO.Pipes;
    using System.Runtime.InteropServices;
    using System.Diagnostics;
    using System.IO;
    using DannyGeneral;

    namespace Manager
    {
       class Ffmpeg
       {
           NamedPipeServerStream p;
           String pipename = "mytestpipe";
           System.Diagnostics.Process process;
           string ffmpegFileName = "ffmpeg.exe";
           string workingDirectory;

           public Ffmpeg()
           {
               workingDirectory = Path.GetDirectoryName(Application.ExecutablePath);
               Logger.Write("workingDirectory: " + workingDirectory);
               if (!Directory.Exists(workingDirectory))
               {
                   Directory.CreateDirectory(workingDirectory);
               }
               ffmpegFileName = Path.Combine(workingDirectory, ffmpegFileName);
               Logger.Write("FfmpegFilename: " + ffmpegFileName);
           }

           public void Start(string pathFileName, int BitmapRate)
           {
               try
               {

                   string outPath = pathFileName;
                   p = new NamedPipeServerStream(pipename, PipeDirection.Out, 1, PipeTransmissionMode.Byte);

                   ProcessStartInfo psi = new ProcessStartInfo();
                   psi.WindowStyle = ProcessWindowStyle.Hidden;
                   psi.UseShellExecute = false;
                   psi.CreateNoWindow = false;
                   psi.FileName = ffmpegFileName;
                   psi.WorkingDirectory = workingDirectory;
                   psi.Arguments = @"-f rawvideo -pix_fmt yuv420p -video_size 1920x1080 -i \\.\pipe\mytestpipe -map 0 -c:v mpeg4 -r " + BitmapRate + " " + outPath;
                   process = Process.Start(psi);
                   process.EnableRaisingEvents = false;
                   psi.RedirectStandardError = true;
                   p.WaitForConnection();
               }
               catch (Exception err)
               {
                   Logger.Write("Exception Error: " + err.ToString());
               }
           }

           public void PushFrame(Bitmap bmp)
           {
               try
               {
                   int length;
                   // Lock the bitmap's bits.
                   //bmp = new Bitmap(1920, 1080);
                   Rectangle rect = new Rectangle(0, 0, bmp.Width, bmp.Height);
                   //Rectangle rect = new Rectangle(0, 0, 1280, 720);
                   System.Drawing.Imaging.BitmapData bmpData =
                       bmp.LockBits(rect, System.Drawing.Imaging.ImageLockMode.ReadOnly,
                       bmp.PixelFormat);

                   int absStride = Math.Abs(bmpData.Stride);
                   // Get the address of the first line.
                   IntPtr ptr = bmpData.Scan0;

                   // Declare an array to hold the bytes of the bitmap.
                   //length = 3 * bmp.Width * bmp.Height;
                   length = absStride * bmpData.Height;
                   byte[] rgbValues = new byte[length];

                   //Marshal.Copy(ptr, rgbValues, 0, length);
                   int j = bmp.Height - 1;
                   for (int i = 0; i < bmp.Height; i++)
                   {
                       IntPtr pointer = new IntPtr(bmpData.Scan0.ToInt32() + (bmpData.Stride * j));
                       System.Runtime.InteropServices.Marshal.Copy(pointer, rgbValues, absStride * (bmp.Height - i - 1), absStride);
                       j--;
                   }
                   p.Write(rgbValues, 0, length);
                   bmp.UnlockBits(bmpData);
               }
               catch(Exception err)
               {
                   Logger.Write("Error: " + err.ToString());
               }

           }

           public void Close()
           {
               p.Close();
           }
       }
    }

    And i’m using it in form1 in a button click event :

    private void button1_Click(object sender, EventArgs e)
           {
               timer1.Start();
           }

    the directroy screenshots is where i’m taking a screenshot every 100ms in the timer1 tick event :

       ScreenShot shot = new ScreenShot();
       public static int counter = 0;
       private void timer1_Tick(object sender, EventArgs e)
       {
           counter++;
           shot.GetScreenShot(@"e:\screenshots\", "screenshot");
           if (counter == 1200)
           {
               timer1.Stop();
           }
       }

    I’m calling the method PushFrame from inside the ScreenShot class where i save the screenshots.

    Ffmpeg fmpeg;

    Then :

    fmpeg = new Ffmpeg();
    fmpeg.Start(@"e:\screenshots\test.avi", 25);

    And :

    public Bitmap GetScreenShot(string folder, string name)
       {
           _screenShot = new Bitmap(GetScreen());
           System.GC.Collect();
           System.GC.WaitForPendingFinalizers();
           string ingName = folder + name + Elgato_Video_Capture.counter.ToString("D6") + ".bmp";
           _screenShot.Save(ingName);
           fmpeg.PushFrame(_screenShot);
           _screenShot.Dispose();

           return _screenShot;
       }

    All the images on the hard disk are fine i can edit/open them and watch them no problems.
    They are also same size.

    The result in the end is one big avi file 1.08 GB size.
    But when i play it i see many windows running inside very fast and all painted with noisy purple color.

    Here a screenshot from the video file when playing it :

    avi file playing screenshot

    I think the problem is somewhere in the Ffmpeg class where i give parameters to the ffmpeg.exe

    psi.Arguments = @"-f rawvideo -pix_fmt yuv420p -video_size 1920x1080 -i \\.\pipe\mytestpipe -map 0 -c:v mpeg4 -r " + BitmapRate + " " + outPath;

    Not sure what make this avi file to look like that.

    This is the video file the result i got : https://www.youtube.com/watch?v=fdxPus-Xv1k&feature=youtu.be

  • Generated ffmpeg video seems to be not a real video file

    18 septembre 2020, par asored

    I try to create a video with ffmpeg and save it to the device with gallery_saver package for Flutter.

    


    The ffmpeg command works well and the video is created. But GallerySaver does not save it. As result I get no error, but a false boolean for the success argument.

    


    This is the ffmpeg output. Is this a valid video mp4 file ?

    


    Restarted application in 683ms.
[38;5;244m[Easy Localization] [39;49mStart
[38;5;244m[Easy Localization] [39;49mInit state
[38;5;244m[Easy Localization] [39;49mBuild
[38;5;244m[Easy Localization] [39;49mDevice locale de_DE
[38;5;244m[Easy Localization] [39;49mLoad asset from assets/translations
[38;5;244m[Easy Localization] [39;49mInit Localization Delegate
[38;5;244m[Easy Localization] [39;49mInit provider
[38;5;244m[Easy Localization] [39;49mLoad Localization Delegate
flutter: Loading flutter-ffmpeg.
flutter: Loaded flutter-ffmpeg-ios-arm64.
flutter: ffmpeg version git-2020-01-25-fd11dd500 Copyright (c) 2000-2020 the FFmpeg developers
  built with Apple clang version 11.0.0 (clang-1100.0.33.17)
  configuration: --sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.2.sdk --prefix=/Users/taner/Projects/mobile-ffmpeg/prebuilt/ios-arm64-apple-darwin/ffmpeg --enable-version3 --arch=aarch64 --cpu=armv8 --target-os=darwin --ar=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar --cc=clang --cxx=clang++ --as='/Users/taner/Projects/mobile-ffmpeg/.tmp/gas-preprocessor.pl -arch aarch64 -- clang -arch arm64 -target aarch64-ios-darwin -march=armv8-a+crc+crypto -mcpu=generic -DMOBILE_FFMPEG_ARM64 -Wno-unused-function -Wno-deprecated-declarations -fstrict-aliasing -fembed-bitcode -DIOS -DMOBILE_FFMPEG_BUILD_DATE=20200125 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.2.sdk -Oz -miphoneos-version-min=12.1 -I/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.2.sdk/usr/include' --ranlib=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib --strip=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip --enable-neon --enable-cross-compile --enable-pic --enable-asm --enable-inline-asm --enable-optimizations --enable-swscale --enable-static --disable-shared --enable-small --disable-v4l2-m2m --disable-outdev=v4l2 --disable-outdev=fbdev --disable-indev=v4l2 --disable-indev=fbdev --disable-openssl --disable-xmm-clobber-test --disable-debug --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-appkit --disable-alsa --disable-cuda --disable-cuvid --disable-nvenc --disable-vaapi --disable-vdpau --enable-gmp --enable-gnutls --enable-libx264 --enable-gpl --enable-libxvid --enable-gpl --enable-libx265 --enable-gpl --enable-libvidstab --enable-gpl --disable-sdl2 --enable-zlib --enable-audiotoolbox --enable-coreimage --enable-bzlib --enable-videotoolbox --enable-avfoundation --enable-iconv
  libavutil      56. 38.100 / 56. 38.100
  libavcodec     58. 65.102 / 58. 65.102
  libavformat    58. 35.101 / 58. 35.101
  libavdevice    58.  9.103 / 58.  9.103
  libavfilter     7. 70.101 /  7. 70.101
  libswscale      5.  6.100 /  5.  6.100
  libswresample   3.  6.100 /  3.  6.100
Input #0, mp3, from '/var/mobile/Containers/Data/Application/2F90BA97-59E6-4632-B86A-2B0C1C552273/Library/Caches/melodic_slow.mp3':
  Metadata:
    encoder         : LAME 32bits version 3.99.5 (http://lame.sf.net)
    TLEN            : 134072
  Duration: 00:02:14.11, start: 0.025057, bitrate: 320 kb/s
    Stream #0:0: Audio: mp3, 44100 Hz, stereo, fltp, 320 kb/s
    Metadata:
      encoder         : LAME3.99r
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from '/var/mobile/Containers/Data/Application/2F90BA97-59E6-4632-B86A-2B0C1C552273/Library/Caches/Memories-8c4a9c20-f9b8-11ea-b262-853cab0c1dfa.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.35.101
  Duration: 00:00:00.17, start: 0.000000, bitrate: 55269 kb/s
    Stream #1:0(und): Video: h264 (avc1 / 0x31637661), yuv420p, 4032x3024 [SAR 1:1 DAR 4:3], 55338 kb/s, 24 fps, 24 tbr, 12288 tbn, 48 tbc (default)
    Metadata:
      handler_name    : VideoHandler
Stream mapping:
  Stream #1:0 -> #0:0 (h264 (native) -> h264 (libx264))
  Stream #0:0 -> #0:1 (mp3 (mp3float) -> aac (native))
Press [q] to stop, [?] for help
frame=    0 fps=0.0 q=0.0 size=       0kB time=-577014:32:22.77 bitrate=  -0.0kbits/s speed=N/A
sws_param option is deprecated and ignored
using SAR=1/1
using cpu capabilities: ARMv8 NEON
profile High, level 6.0, 4:2:0, 8-bit
264 - core 159 - H.264/MPEG-4 AVC codec - Copyleft 2003-2019 - 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=9 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=24 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 '/var/mobile/Containers/Data/Application/2F90BA97-59E6-4632-B86A-2B0C1C552273/Library/Caches/Memories-8da54a20-f9b8-11ea-b216-7df10c3fe45b.mp4':
  Metadata:
    TLEN            : 134072
    encoder         : Lavf58.35.101
    Stream #0:0(und): Video: h264 (libx264) (avc1 / 0x31637661), yuv420p(progressive), 4032x3024 [SAR 1:1 DAR 4:3], q=-1--1, 24 fps, 12288 tbn, 24 tbc (default)
    Metadata:
      handler_name    : VideoHandler
      encoder         : Lavc58.65.102 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
    Stream #0:1: Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s
    Metadata:
      encoder         : Lavc58.65.102 aac
frame=    4 fps=2.5 q=-1.0 Lsize=    1028kB time=00:00:00.18 bitrate=45323.6kbits/s speed=0.115x
video:1023kB audio:3kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.143686%
frame I:1     Avg QP:24.74  size:488633
frame P:3     Avg QP:23.50  size:186193
mb I  I16..4:  3.0% 90.0%  7.1%
mb P  I16..4: 28.7% 67.4%  3.8%  P16..4:  0.2%  0.0%  0.0%  0.0%  0.0%    skip: 0.0%
8x8 transform intra:73.1% inter:60.0%
coded y,uvDC,uvAC intra: 41.8% 29.7% 8.7% inter: 3.7% 1.7% 0.3%
i16 v,h,dc,p: 53% 33%  3% 11%
i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 30% 22% 22%  4%  4%  3%  7%  4%  5%
i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 28% 30% 12%  4%  5%  4%  8%  4%  5%
i8c dc,h,v,p: 70% 18%  9%  3%
Weighted P-Frames: Y:33.3% UV:33.3%
ref P L0:  1.4%  0.0% 95.5%  0.0%  3.1%
kb/s:50266.18
Qavg: 134.735
flutter: ffmpeg version git-2020-01-25-fd11dd500
flutter:  Copyright (c) 2000-2020 the FFmpeg developers
flutter:
flutter:   built with Apple clang version 11.0.0 (clang-1100.0.33.17)
flutter:   configuration: --sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.2.sdk --prefix=/Users/taner/Projects/mobile-ffmpeg/prebuilt/ios-arm64-apple-darwin/ffmpeg --enable-version3 --arch=aarch64 --cpu=armv8 --target-os=darwin --ar=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar --cc=clang --cxx=clang++ --as='/Users/taner/Projects/mobile-ffmpeg/.tmp/gas-preprocessor.pl -arch aarch64 -- clang -arch arm64 -target aarch64-ios-darwin -march=armv8-a+crc+crypto -mcpu=generic -DMOBILE_FFMPEG_ARM64 -Wno-unused-function -Wno-deprecated-declarations -fstrict-aliasing -fembed-bitcode -DIOS -DMOBILE_FFMPEG_BUILD_DATE=20200125 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.2.sdk -Oz -miphoneos-version-min=12.1 -I/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.2.sdk/usr/include' --ranlib=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib --strip=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip --enable-neon --enable-cross-compile --enable-pic --enable-asm --enable-inline-asm --enable-optimizations --enable-swscale --enable-static --disable-shared --enable-small --disable-v4l2-m2m --disable-outdev=v4l2 --disable-outdev=fbdev --disable-indev=v4l2 --disable-indev=fbdev --disable-openssl --disable-xmm-clobber-test --disable-debug --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-appkit --disable-alsa --disable-cuda --disable-cuvid --disable-nvenc --disable-vaapi --disable-vdpau --enable-gmp --enable-gnutls --enable-libx264 --enable-gpl --enable-libxvid --enable-gpl --enable-libx265 --enable-gpl --enable-libvidstab --enable-gpl --disable-sdl2 --enable-zlib --enable-audiotoolbox --enable-coreimage --enable-bzlib --enable-videotoolbox --enable-avfoundation --enable-iconv
flutter:   libavutil      56. 38.100 / 56. 38.100
flutter:   libavcodec     58. 65.102 / 58. 65.102
flutter:   libavformat    58. 35.101 / 58. 35.101
flutter:   libavdevice    58.  9.103 / 58.  9.103
flutter:   libavfilter     7. 70.101 /  7. 70.101
flutter:   libswscale      5.  6.100 /  5.  6.100
flutter:   libswresample   3.  6.100 /  3.  6.100
flutter: Input #0, image2, from '/var/mobile/Containers/Data/Application/2F90BA97-59E6-4632-B86A-2B0C1C552273/Library/Caches/img%04d.jpg':
flutter:   Duration:
flutter: 00:00:00.20
flutter: , start:
flutter: 0.000000
flutter: , bitrate:
flutter: N/A
flutter:
flutter:     Stream #0:0
flutter: : Video: mjpeg, yuvj444p(pc, bt470bg/unknown/unknown), 4032x3024 [SAR 72:72 DAR 4:3]
flutter: ,
flutter: 25 tbr,
flutter: 25 tbn,
flutter: 25 tbc
flutter:
flutter: Stream mapping:
flutter:   Stream #0:0 -> #0:0
flutter:  (mjpeg (native) -> h264 (libx264))
flutter:
flutter: Press [q] to stop, [?] for help
flutter: sws_param option is deprecated and ignored
flutter: deprecated pixel format used, make sure you did set range correctly
flutter: using SAR=1/1
flutter: using cpu capabilities: ARMv8 NEON
flutter: profile High, level 6.0, 4:2:0, 8-bit
flutter: 264 - core 159 - H.264/MPEG-4 AVC codec - Copyleft 2003-2019 - 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=9 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=24 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
flutter: Output #0, mp4, to '/var/mobile/Containers/Data/Application/2F90BA97-59E6-4632-B86A-2B0C1C552273/Library/Caches/Memories-f2ae4f70-f9b8-11ea-bb69-c999fb23197b.mp4':
flutter:   Metadata:
flutter:     encoder         :
flutter: Lavf58.35.101
flutter:
flutter:     Stream #0:0
flutter: : Video: h264 (libx264) (avc1 / 0x31637661), yuv420p, 4032x3024 [SAR 1:1 DAR 4:3], q=-1--1
flutter: ,
flutter: 24 fps,
flutter: 12288 tbn,
flutter: 24 tbc
flutter:
flutter:     Metadata:
flutter:       encoder         :
flutter: Lavc58.65.102 libx264
flutter:
flutter:     Side data:
flutter:
flutter: cpb:
flutter: bitrate max/min/avg: 0/0/0 buffer size: 0
flutter: vbv_delay: N/A
flutter:
flutter: frame=    1 fps=0.0 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   0x
flutter: sws_param option is deprecated and ignored
flutter: deprecated pixel format used, make sure you did set range correctly
flutter: sws_param option is deprecated and ignored
flutter: deprecated pixel format used, make sure you did set range correctly
flutter: frame=    4 fps=0.0 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   0x
flutter: frame=    5 fps=1.8 q=-1.0 Lsize=    1485kB time=00:00:00.08 bitrate=145828.4kbits/s speed=0.0305x
flutter: video:1484kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead:
flutter: 0.059291%
flutter:
flutter: frame I:1     Avg QP:24.93  size:366082
flutter: frame P:4     Avg QP:24.17  size:288219
flutter: mb I  I16..4:  8.6% 81.4% 10.1%
flutter: mb P  I16..4: 21.7% 71.4%  6.6%  P16..4:  0.2%  0.0%  0.0%  0.0%  0.0%    skip: 0.0%
flutter: 8x8 transform intra:73.6% inter:79.9%
flutter: coded y,uvDC,uvAC intra: 48.6% 33.8% 12.6% inter: 33.4% 41.4% 0.0%
flutter: i16 v,h,dc,p: 53% 31%  4% 12%
flutter: i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 29% 18% 24%  5%  4%  4%  6%  5%  5%
flutter: i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 28% 23% 14%  7%  6%  5%  7%  5%  5%
flutter: i8c dc,h,v,p: 67% 17% 12%  4%
flutter: Weighted P-Frames: Y:25.0% UV:25.0%
flutter: ref P L0: 43.6%  0.2% 55.0%  0.0%  1.1%
flutter: kb/s:58327.98
flutter: ffmpeg version git-2020-01-25-fd11dd500
flutter:  Copyright (c) 2000-2020 the FFmpeg developers
flutter:
flutter:   built with Apple clang version 11.0.0 (clang-1100.0.33.17)
flutter:   configuration: --sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.2.sdk --prefix=/Users/taner/Projects/mobile-ffmpeg/prebuilt/ios-arm64-apple-darwin/ffmpeg --enable-version3 --arch=aarch64 --cpu=armv8 --target-os=darwin --ar=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar --cc=clang --cxx=clang++ --as='/Users/taner/Projects/mobile-ffmpeg/.tmp/gas-preprocessor.pl -arch aarch64 -- clang -arch arm64 -target aarch64-ios-darwin -march=armv8-a+crc+crypto -mcpu=generic -DMOBILE_FFMPEG_ARM64 -Wno-unused-function -Wno-deprecated-declarations -fstrict-aliasing -fembed-bitcode -DIOS -DMOBILE_FFMPEG_BUILD_DATE=20200125 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.2.sdk -Oz -miphoneos-version-min=12.1 -I/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.2.sdk/usr/include' --ranlib=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib --strip=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip --enable-neon --enable-cross-compile --enable-pic --enable-asm --enable-inline-asm --enable-optimizations --enable-swscale --enable-static --disable-shared --enable-small --disable-v4l2-m2m --disable-outdev=v4l2 --disable-outdev=fbdev --disable-indev=v4l2 --disable-indev=fbdev --disable-openssl --disable-xmm-clobber-test --disable-debug --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-appkit --disable-alsa --disable-cuda --disable-cuvid --disable-nvenc --disable-vaapi --disable-vdpau --enable-gmp --enable-gnutls --enable-libx264 --enable-gpl --enable-libxvid --enable-gpl --enable-libx265 --enable-gpl --enable-libvidstab --enable-gpl --disable-sdl2 --enable-zlib --enable-audiotoolbox --enable-coreimage --enable-bzlib --enable-videotoolbox --enable-avfoundation --enable-iconv
flutter:   libavutil      56. 38.100 / 56. 38.100
flutter:   libavcodec     58. 65.102 / 58. 65.102
flutter:   libavformat    58. 35.101 / 58. 35.101
flutter:   libavdevice    58.  9.103 / 58.  9.103
flutter:   libavfilter     7. 70.101 /  7. 70.101
flutter:   libswscale      5.  6.100 /  5.  6.100
flutter:   libswresample   3.  6.100 /  3.  6.100
flutter: Input #0, mp3, from '/var/mobile/Containers/Data/Application/2F90BA97-59E6-4632-B86A-2B0C1C552273/Library/Caches/melodic_slow.mp3':
flutter:   Metadata:
flutter:     encoder         :
flutter: LAME 32bits version 3.99.5 (http://lame.sf.net)
flutter:
flutter:     TLEN            :
flutter: 134072
flutter:
flutter:   Duration:
flutter: 00:02:14.11
flutter: , start:
flutter: 0.025057
flutter: , bitrate:
flutter: 320 kb/s
flutter:
flutter:     Stream #0:0
flutter: : Audio: mp3, 44100 Hz, stereo, fltp, 320 kb/s
flutter:
flutter:     Metadata:
flutter:       encoder         :
flutter: LAME3.99r
flutter:
flutter: Input #1, mov,mp4,m4a,3gp,3g2,mj2, from '/var/mobile/Containers/Data/Application/2F90BA97-59E6-4632-B86A-2B0C1C552273/Library/Caches/Memories-f2ae4f70-f9b8-11ea-bb69-c999fb23197b.mp4':
flutter:   Metadata:
flutter:     major_brand     :
flutter: isom
flutter:
flutter:     minor_version   :
flutter: 512
flutter:
flutter:     compatible_brands:
flutter: isomiso2avc1mp41
flutter:
flutter:     encoder         :
flutter: Lavf58.35.101
flutter:
flutter:   Duration:
flutter: 00:00:00.21
flutter: , start:
flutter: 0.000000
flutter: , bitrate:
flutter: 58202 kb/s
flutter:
flutter:     Stream #1:0
flutter: (und)
flutter: : Video: h264 (avc1 / 0x31637661), yuv420p, 4032x3024 [SAR 1:1 DAR 4:3], 58353 kb/s
flutter: ,
flutter: 24 fps,
flutter: 24 tbr,
flutter: 12288 tbn,
flutter: 48 tbc
flutter:  (default)
flutter:
flutter:     Metadata:
flutter:       handler_name    :
flutter: VideoHandler
flutter:
flutter: Stream mapping:
flutter:   Stream #1:0 -> #0:0
flutter:  (h264 (native) -> h264 (libx264))
flutter:
flutter:   Stream #0:0 -> #0:1
flutter:  (mp3 (mp3float) -> aac (native))
flutter:
flutter: Press [q] to stop, [?] for help
flutter: frame=    0 fps=0.0 q=0.0 size=       0kB time=-577014:32:22.77 bitrate=  -0.0kbits/s speed=N/A
flutter: sws_param option is deprecated and ignored
flutter: using SAR=1/1
flutter: using cpu capabilities: ARMv8 NEON
flutter: profile High, level 6.0, 4:2:0, 8-bit
flutter: 264 - core 159 - H.264/MPEG-4 AVC codec - Copyleft 2003-2019 - 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=9 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=24 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
flutter: Output #0, mp4, to '/var/mobile/Containers/Data/Application/2F90BA97-59E6-4632-B86A-2B0C1C552273/Library/Caches/Memories-f475c900-f9b8-11ea-9b26-639f1e3575c9.mp4':
flutter:   Metadata:
flutter:     TLEN            :
flutter: 134072
flutter:
flutter:     encoder         :
flutter: Lavf58.35.101
flutter:
flutter:     Stream #0:0
flutter: (und)
flutter: : Video: h264 (libx264) (avc1 / 0x31637661), yuv420p(progressive), 4032x3024 [SAR 1:1 DAR 4:3], q=-1--1
flutter: ,
flutter: 24 fps,
flutter: 12288 tbn,
flutter: 24 tbc
flutter:  (default)
flutter:
flutter:     Metadata:
flutter:       handler_name    :
flutter: VideoHandler
flutter:
flutter:       encoder         :
flutter: Lavc58.65.102 libx264
flutter:
flutter:     Side data:
flutter:
flutter: cpb:
flutter: bitrate max/min/avg: 0/0/0 buffer size: 0
flutter: vbv_delay: N/A
flutter:
flutter:     Stream #0:1
flutter: : Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s
flutter:
flutter:     Metadata:
flutter:       encoder         :
flutter: Lavc58.65.102 aac
flutter:
flutter: frame=    5 fps=2.4 q=-1.0 Lsize=    1328kB time=00:00:00.20 bitrate=52040.4kbits/s speed= 0.1x
flutter: video:1323kB audio:3kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead:
flutter: 0.112379%
flutter:
flutter: frame I:1     Avg QP:23.27  size:307048
flutter: frame P:4     Avg QP:23.71  size:261707
flutter: mb I  I16..4: 12.0% 84.4%  3.6%
flutter: mb P  I16..4: 21.8% 73.5%  4.6%  P16..4:  0.2%  0.0%  0.0%  0.0%  0.0%    skip: 0.0%
flutter: 8x8 transform intra:75.8% inter:82.6%
flutter: coded y,uvDC,uvAC intra: 43.8% 33.2% 11.5% inter: 18.9% 20.3% 0.2%
flutter: i16 v,h,dc,p: 52% 33%  4% 11%
flutter: i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 31% 20% 24%  4%  4%  3%  6%  4%  5%
flutter: i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 31% 28% 12%  4%  5%  4%  7%  5%  5%
flutter: i8c dc,h,v,p: 67% 18% 12%  4%
flutter: Weighted P-Frames: Y:25.0% UV:25.0%
flutter: ref P L0: 24.0%  0.4% 73.9%  0.0%  1.8%
flutter: kb/s:51988.88
flutter: Qavg: 137.086
flutter: /var/mobile/Containers/Data/Application/2F90BA97-59E6-4632-B86A-2B0C1C552273/Library/Caches/Memories-f475c900-f9b8-11ea-9b26-639f1e3575c9.mp4
flutter: Success argument is: false


    


    This are my ffmpeg commands :

    


    First I create a video from images in a folder

    


    -r $settingsFps -i $tempPath/img%04d.jpg -vcodec libx264 -y -an -vf "pad=ceil(iw/2)*2:ceil(ih/2)*2" -pix_fmt yuv420p $tempPath/$videoFileName.mp4

    


    Than I add audio to the video

    


    -i ${finalSong.path} -i $videoPath -shortest $tempPath/$newVideoFileName.mp4

    


  • ffmpeg / python script - is it actually doing anything ?

    13 août 2021, par Mark Cornbill

    I downloaded the following script - it is not my own work ; it came with another Python script which scans through a folder of Rocket League gameplay videos, looking for moments where a goal has been scored (using tesseract-OCR), and then logs the clip filename and frame into a csv file called "detected.csv".

    


    That part has all worked now I've figured it all out ! It is the second part, this script is supposed to read the "detected.csv" list of files and frame numbers, to then trim and create the new video clips and output them to a folder. The code looks like this :

    


    import ntpath
import os

detectedGoalList = []
f = open("detected.csv", "r")
for x in f:
    tup = x.replace("\"[", "").replace("]\"", "").split(", ")
    print(x)
    detectedGoalList.append([tup[0], tup[1]])


for dg in detectedGoalList:
    print(dg[0])
    input_file = "\"{}\"".format(dg[0].replace("'", ""))
    output_path = "../clips/" + ntpath.basename(dg[0]).replace("'", "").replace(
    ".mp4", "").replace("Rocket League®_", "").replace("Rocket League™_", "").replace("Rocket 
    League_", "") + ".clipped.mp4"
    start = (int(dg[1]) - int(30 * 10)) / 30
    if start < 0:
       start = 0
    end = (int(dg[1]) / 30) - 3
    duration = end - start

    os.system("ffmpeg -ss {} -i {} -t {} -c copy {}".format(start, input_file,
                                                        duration, output_path))


    


    The script runs instantly and returns no errors. It doesn't log anything to the terminal. It doesn't output any new clips. I have 5 mp4 files in the "clips" directory that match in the csv file exactly. The "detected.csv" file contains the following :

    


    "['K:/Gameplay Videos/Rocket League/goals/clips\\goal(2).mp4', 1750]"
"['K:/Gameplay Videos/Rocket League/goals/clips\\goal(28).mp4', 1200]"
"['K:/Gameplay Videos/Rocket League/goals/clips\\goal(3).mp4', 3350]"
"['K:/Gameplay Videos/Rocket League/goals/clips\\goal(4).mp4', 3050]"
"['K:/Gameplay Videos/Rocket League/goals/clips\\goal(5).mp4', 3500]"


    


    So I'm pretty sure that the final ffmpeg line is the culprit. I understand basic command line ffmpeg syntax but when it's part of Python code and variables I just can't figure it out. I see reference to the number "30" a lot - maybe the guy who wrote this had 30fps videos as his source (they were after all Playstation replays), I have 60fps videos. I've tried changing those numbers to 60 to no avail.