Recherche avancée

Médias (1)

Mot : - Tags -/musée

Autres articles (87)

  • Websites made ​​with MediaSPIP

    2 mai 2011, par

    This page lists some websites based on MediaSPIP.

  • Amélioration de la version de base

    13 septembre 2013

    Jolie sélection multiple
    Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
    Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...)

  • Emballe médias : à quoi cela sert ?

    4 février 2011, par

    Ce plugin vise à gérer des sites de mise en ligne de documents de tous types.
    Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ;

Sur d’autres sites (15392)

  • Error while opening encoder for output stream #0:0 for Creating Video from image,Gif,music

    29 février 2020, par brijesh

    I am trying to create a video from image,gif and music.

    Here is the code I used :

    {"-y", "-i", imagepath, "-ignore_loop", "0", "-i", gif, "-filter_complex", "[1:v]scale=" + filterdBitmap.getWidth() + ":" + filterdBitmap.getHeight() + "[ovrl];[0:v][ovrl]overlay=0:0", "-ss", "" + startMs / 1000, "-t", "" + endMs / 1000, "-i", songpath, "-c:v", "libx264", "-preset", "ultrafast", "-r", "30", "-pix_fmt", "yuva420p", "-c:a", "aac", "-shortest", outputLocation.getPath()};

    The error I received was this :

    Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height

    Specifically, here is the complete response :

    2020-02-29 10:16:01.043 14913-14913/com.photocreator E/fail: ffmpeg version n3.0.1 Copyright (c) 2000-2016 the FFmpeg developers
         built with gcc 4.8 (GCC)
         configuration: --target-os=linux --cross-prefix=/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/bin/arm-linux-androideabi- --arch=arm --cpu=cortex-a8 --enable-runtime-cpudetect --sysroot=/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/sysroot --enable-pic --enable-libx264 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-fontconfig --enable-pthreads --disable-debug --disable-ffserver --enable-version3 --enable-hardcoded-tables --disable-ffplay --disable-ffprobe --enable-gpl --enable-yasm --disable-doc --disable-shared --enable-static --pkg-config=/home/vagrant/SourceCode/ffmpeg-android/ffmpeg-pkg-config --prefix=/home/vagrant/SourceCode/ffmpeg-android/build/armeabi-v7a --extra-cflags='-I/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/include -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-strict-overflow -fstack-protector-all' --extra-ldflags='-L/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/lib -Wl,-z,relro -Wl,-z,now -pie' --extra-libs='-lpng -lexpat -lm' --extra-cxxflags=
         libavutil      55. 17.103 / 55. 17.103
         libavcodec     57. 24.102 / 57. 24.102
         libavformat    57. 25.100 / 57. 25.100
         libavdevice    57.  0.101 / 57.  0.101
         libavfilter     6. 31.100 /  6. 31.100
         libswscale      4.  0.100 /  4.  0.100
         libswresample   2.  0.101 /  2.  0.101
         libpostproc    54.  0.100 / 54.  0.100
       Input #0, png_pipe, from 'file:///storage/emulated/0/1582951553006.jpg':
         Duration: N/A, bitrate: N/A
           Stream #0:0: Video: png, rgba(pc), 639x812, 25 tbr, 25 tbn, 25 tbc
       Input #1, gif, from 'http://13.232.145.224:3003/getpath/video_maker/new/35.gif':
         Duration: N/A, bitrate: N/A
           Stream #1:0: Video: gif, bgra, 288x480, 15 fps, 15 tbr, 100 tbn, 100 tbc
       [mp3 @ 0xaea97200] Skipping 0 bytes of junk at 253.
       Input #2, mp3, from '/storage/emulated/0/Download/supnaringtone-49332.mp3':
         Metadata:
           encoder         : Lavf58.20.100
         Duration: 00:00:21.76, start: 0.025057, bitrate: 64 kb/s
           Stream #2:0: Audio: mp3, 44100 Hz, stereo, s16p, 64 kb/s
           Metadata:
             encoder         : Lavc58.35
       Incompatible pixel format 'yuva420p' for codec 'libx264', auto-selecting format 'yuv420p'
       [libx264 @ 0xaeacfc00] width not divisible by 2 (639x812)
       Output #0, mp4, to '/storage/emulated/0/allkotlin/video/movie_1582951554388.mp4':
           Stream #0:0: Video: h264, none, q=2-31, 128 kb/s, 30 fps (default)
           Metadata:
             encoder         : Lavc57.24.102 libx264
           Stream #0:1: Audio: aac, 0 channels, 128 kb/s
           Metadata:
             encoder         : Lavc57.24.102 aac
       Stream mapping:
         Stream #0:0 (png) -> overlay:main (graph 0)
         Stream #1:0 (gif) -> scale (graph 0)
         overlay (graph 0) -> Stream #0:0 (libx264)
         Stream #2:0 -> #0:1 (mp3 (native) -> aac (native))
       Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height

    If I use -s 560x560 , it works great, except then I can’t keep on using my aspect ratio :

    And here is my code :

    public class PhotoEditing extends AppCompatActivity implements GetGifAdapter.GlideInterface, SdCardSongAdapter.MediaInterface
           , FiltersListFragmentListener, EmojiFragmentListener, AddTextFragmentListener {

       public static final String FILE_PROVIDER_AUTHORITY = "com.burhanrashid52.photoeditor.fileprovider";
       @Nullable
       @VisibleForTesting
       Uri mSaveImageUri;
       PhotoEditorView image_preview;
       ImageView image_gif/*,image_preview*/;
       ImageView save, back;
       LinearLayout linearLayout;
       public String sessionId, sessionId1;
       Uri image_selected_uri;

       public Bitmap originalBitmap, filterdBitmap, finalBitmap;
       LinearLayout btn_music_list, btn_music_cut, btn_add_gif, btn_filters_list, btn_emoji, btn_add_text;
       MediaPlayer mediaPlayer;
       String mediaData;
       LinearLayout relativeLayout;
       RelativeLayout seekbar_layout, fm;
       RelativeLayout.LayoutParams layoutparam;
       RangeSeekBar rangeSeekBar;
       Runnable r;
       Handler mHandler;
       private int duration;
       private TextView tvLeft, tvRight;
       RelativeLayout rl_replace, music_fragment;
       FilterListFragment filterListFragment;
       EmojiFragment emojiFragment;
       PhotoEditor photoEditor;
       int screenWidth, screenHeight;
       Bitmap bitmap;
       int brightnessFinal = 0;
       int saturationFinal = 0;
       int constrantFinal = 0;
       int hue = 0;
       String glideData;
       FFmpeg ffmpeg;
       String s;
       String imageHeight;
       String imageWidth ;


       private static final String TAG = "BRIJESH";

       Context context = this;

       static {
           System.loadLibrary("NativeImageProcessor");
       }

       public Bitmap resizeImageToNewSize(Bitmap bitmap, int i, int i2) {
           try {
               int width = bitmap.getWidth();
               int height = bitmap.getHeight();
               float f = (float) i;
               float f2 = (float) i2;
               if (!(height == i2 && width == i)) {
                   float f3 = (float) width;
                   float f4 = f / f3;
                   float f5 = (float) height;
                   float f6 = f2 / f5;
                   if (f4 < f6) {
                       f6 = f4;
                   }
                   f = f3 * f6;
                   f2 = f5 * f6;
               }
               Bitmap bitmap1 = Bitmap.createScaledBitmap(bitmap, (int) f, (int) f2, true);
               fm.removeView(image_preview);
               RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(bitmap1.getWidth(), bitmap1.getHeight());

               params.addRule(RelativeLayout.CENTER_HORIZONTAL);
               image_preview.setLayoutParams(params);

               fm.addView(image_preview);
               return bitmap1;
           } catch (Exception unused) {
               fm.removeView(image_preview);
               RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(200, 100);

               params.addRule(RelativeLayout.CENTER_IN_PARENT);
               image_preview.setLayoutParams(params);
               fm.addView(image_preview);

               return bitmap;
           }
       }

       @Override
       protected void onCreate(Bundle savedInstanceState) {
           super.onCreate(savedInstanceState);
           setContentView(R.layout.activity_photo_editing);

           initialize(this);
           image_preview = findViewById(R.id.image_preview);
           image_preview.getSource().setScaleType(ImageView.ScaleType.FIT_XY);
           photoEditor = new PhotoEditor.Builder(this, image_preview)
                   .setPinchTextScalable(true)
                   .build();
           image_gif = findViewById(R.id.image_gif);
           linearLayout = findViewById(R.id.linearLayout);
           btn_music_list = findViewById(R.id.btn_music_list);
    //        btn_music_cut = findViewById(R.id.btn_music_cut);
           btn_add_gif = findViewById(R.id.btn_add_gif);
           btn_filters_list = findViewById(R.id.btn_filters_list);
           btn_emoji = findViewById(R.id.btn_emoji);
           btn_add_text = findViewById(R.id.btn_add_text);
           fm = findViewById(R.id.frame);
           rl_replace = findViewById(R.id.replace_fragment);
           music_fragment = findViewById(R.id.music_fragment);
           seekbar_layout = findViewById(R.id.seekbar_layout);
           rangeSeekBar = findViewById(R.id.rangeSeekBar);
           rangeSeekBar.setNotifyWhileDragging(true);
           mHandler = new Handler();
           tvLeft = findViewById(R.id.tvLeft);
           tvRight = findViewById(R.id.tvRight);
           relativeLayout = findViewById(R.id.relativeLayout);
           save = findViewById(R.id.btndone);
           back = findViewById(R.id.btnhome);
           mediaPlayer = new MediaPlayer();
           back.setOnClickListener(new View.OnClickListener() {
               @Override
               public void onClick(View v) {
                   if (mediaPlayer.isPlaying()) {
                       mediaPlayer.stop();
                       onBackPressed();
                   } else onBackPressed();
               }
           });

           sessionId1 = getIntent().getStringExtra("gallary");
           sessionId = getPathFromUri(PhotoEditing.this, Uri.parse(sessionId1));
           image_selected_uri = Uri.parse(sessionId);
           loadImage();

           btn_music_list.setOnClickListener(new View.OnClickListener() {
               @Override
               public void onClick(View v) {
    //                if (seekbar_layout.getVisibility() == View.GONE){
                   if (mediaPlayer != null && mediaPlayer.isPlaying()) {
                       mediaPlayer.stop();
                   }
                   MusicListFragment musicListFragment = new MusicListFragment();
                   FragmentManager fragmentManager = getSupportFragmentManager();
                   FragmentTransaction transaction = fragmentManager.beginTransaction();
                   transaction.replace(R.id.replace_fragment, musicListFragment);
                   transaction.addToBackStack(null);
                   transaction.commit();
                   seekbar_layout.setVisibility(View.VISIBLE);

    //                }
    //                else if (seekbar_layout.getVisibility() == View.VISIBLE) {
    //                    seekbar_layout.setVisibility(View.GONE);
    //                }
               }
           });

    //        btn_music_cut.setOnClickListener(new View.OnClickListener() {
    //            @Override
    //            public void onClick(View v) {
    //                if (seekbar_layout.getVisibility() == View.GONE) {
    //                    if (mediaPlayer != null && mediaPlayer.isPlaying()) {
    //                        seekbar_layout.setVisibility(View.VISIBLE);
    //                    }
    //                } else if (seekbar_layout.getVisibility() == View.VISIBLE) {
    //                    seekbar_layout.setVisibility(View.GONE);
    //                }
    //            }
    //        });

           btn_add_gif.setOnClickListener(new View.OnClickListener() {
               @Override
               public void onClick(View v) {
                   GIfFragment gIfFragment = new GIfFragment();
                   FragmentManager fragmentManager = getSupportFragmentManager();
                   FragmentTransaction transaction = fragmentManager.beginTransaction();
                   transaction.replace(R.id.replace_fragment, gIfFragment);
                   transaction.addToBackStack(null);
                   transaction.commit();
               }
           });



           save.setOnClickListener(new View.OnClickListener() {
               @Override
               public void onClick(View v) {
    //                image_preview.getSource().setDrawingCacheEnabled(true);
    //                Bitmap b = image_preview.getSource().getDrawingCache();
    //                MediaStore.Images.Media.insertImage(context.getContentResolver(), b,"", "");
                   saveImageToGallery();

               }
           });
       }

       private void loadImage() {
           bitmap = BitmapFactory.decodeFile(image_selected_uri.toString());
           originalBitmap = bitmap.copy(Bitmap.Config.ARGB_8888, true);
           originalBitmap = modifyOrientation(originalBitmap, sessionId);
           finalBitmap = originalBitmap.copy(Bitmap.Config.ARGB_8888, true);
           filterdBitmap = originalBitmap.copy(Bitmap.Config.ARGB_8888, true);

           DisplayMetrics displayMetrics = new DisplayMetrics();
           getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
           int f3672y = displayMetrics.widthPixels;
           int f3673z = displayMetrics.heightPixels;
           float f = getResources().getDisplayMetrics().density;
           int i = f3672y - ((int) (40.0f * f));
           int i2 = f3673z - ((int) (f * 100.0f));
           image_preview.getSource().setImageBitmap(resizeImageToNewSize(bitmap, i, i2));
       }

       private void getDropboxIMGSize(Uri uri){

           BitmapFactory.Options options = new BitmapFactory.Options();
           options.inJustDecodeBounds = true;
           BitmapFactory.decodeFile(new File(uri.getPath()).getAbsolutePath(), options);
           imageHeight= String.valueOf(options.outHeight);
           imageWidth = String.valueOf(options.outWidth);

       }

       @SuppressLint("MissingPermission")
       private void saveImageToGallery() {
           File file = new File(Environment.getExternalStorageDirectory()
                   + File.separator + ""
                   + System.currentTimeMillis() + ".jpg");
           try {
               file.createNewFile();

               SaveSettings saveSettings = new SaveSettings.Builder()
                       .setClearViewsEnabled(true)
                       .setTransparencyEnabled(true)
                       .build();

               photoEditor.saveAsFile(file.getAbsolutePath(), saveSettings, new PhotoEditor.OnSaveListener() {
                   @Override
                   public void onSuccess(@NonNull String imagePath) {
                       Toast.makeText(context, "Image Saved", Toast.LENGTH_SHORT).show();

                       mSaveImageUri = Uri.fromFile(new File(imagePath));
                       getDropboxIMGSize(mSaveImageUri);
                       executeCmd(String.valueOf(mSaveImageUri), mediaData, glideData, rangeSeekBar.getSelectedMinValue().intValue() * 1000, rangeSeekBar.getSelectedMaxValue().intValue() * 1000);

                   }

                   @Override
                   public void onFailure(@NonNull Exception exception) {
                   }
               });
           } catch (IOException e) {
               e.printStackTrace();
           }
       }


       private void executeCmd(String imagepath, String songpath, String gif, int startMs, int endMs) {
           File outputLocation = getConvertedFile(outputPath() + "video", "movie_" + System.currentTimeMillis() + ".mp4");
           Log.e("videofilepath", songpath);
           String[] complexCommand = {"-y", "-i", imagepath,
                   "-ignore_loop", "0",
                   "-i", gif, "-filter_complex", "[1:v]scale=w='bitand(iw,65534)':h='bitand(ih,65534)' [ovrl];[0:v][ovrl]overlay=0:0",
                   "-ss", "" + startMs / 1000, "-t", "" + endMs / 1000, "-i", songpath,
                   "-c:v", "libx264", "-preset", "ultrafast", "-r", "30", "-pix_fmt", "yuva420p", "-c:a", "aac", "-shortest", outputLocation.getPath()};

           try {
               ffmpeg.execute(complexCommand, new ExecuteBinaryResponseHandler() {

                   @Override
                   public void onSuccess(String s) {
                       Log.e("onSuccess", s);
                   }

                   @Override
                   public void onFailure(String s) {
                       Log.e("fail", s);
                   }
               });
           } catch (FFmpegCommandAlreadyRunningException e) {
               Log.e("catch", e.getMessage());
           }
       }
    }

    Any idea what is going on here ? Thanks !

  • (osx) ffmpeg combining mp3 and png to mp4 resulting in mp4 with no audio

    18 juin 2016, par Ian H

    I’m writing a python script that uses unix commands to do some file conversions/renderings. I’m trying to join some mp3 files with png files to get mp4s that are the picture with the mp3 playing over them. However, I’ve tried this with lots of different codecs and settings, and the output mp4 video never seems to have audio in it. I’ve looked at any answer to any question even related to ffmpeg and haven’t found a solution.

    Some commands I’m trying to get working currently :

    ffmpeg -loop 1 -i slide_shot%d.png -i %s -c:v libx264 -pix_fmt yuv420p
    -s 720x540 -t %.3f -c:a aac -b:a 192k -shortest out%d.mp4"
    % (i, aud, slideTime, i)

    ffmpeg -loop 1 -i slide_shot%d.png -i %s -shortest -t %.3f -write_xing
    0 -c:v libx264 -c:a libmp3lame -pix_fmt yuv420p -tune stillimage out%d.mp4"
    % (i, aud, slideTime, i)

    ffmpeg -loop 1 -i slide_shot%d.png -i %s -shortest -t %.3f -write_xing
    0 -c:v libx264 -c:a copy -pix_fmt yuv420p -tune stillimage out%d.mp4"
    % (i, aud, slideTime, i)

    I’m currently using the third one. However, none of them are giving me any audio. For reference, i is a loop iterator for naming consistency, aud is the audio filepath, and slideTime is the number of seconds the video should take.

    Using this command, I’m currently getting this output in the Terminal :

    ffmpeg version 3.0.2 Copyright (c) 2000-2016 the FFmpeg developers
    built with Apple LLVM version 7.0.2 (clang-700.1.81)
    configuration: --prefix=/usr/local/Cellar/ffmpeg/3.0.2 --enable-shared    
    --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-
    tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --
    enable-opencl --enable-libx264 --enable-libmp3lame --enable-libxvid --
    enable-vda
    libavutil      55. 17.103 / 55. 17.103
    libavcodec     57. 24.102 / 57. 24.102
    libavformat    57. 25.100 / 57. 25.100
    libavdevice    57.  0.101 / 57.  0.101
    libavfilter     6. 31.100 /  6. 31.100
    libavresample   3.  0.  0 /  3.  0.  0
    libswscale      4.  0.100 /  4.  0.100
    libswresample   2.  0.101 /  2.  0.101
    libpostproc    54.  0.100 / 54.  0.100
    Input #0, png_pipe, from 'slide_shot16.png':
    Duration: N/A, bitrate: N/A
    Stream #0:0: Video: png, rgba(pc), 720x540, 25 fps, 25 tbr, 25 tbn, 25    
    tbc
    [mp3 @ 0x7fe4f1817e00] Skipping 0 bytes of junk at 0.
    [mp3 @ 0x7fe4f1817e00] Estimating duration from bitrate, this may be inaccurate
    Input #1, mp3, from 'pres_projects/Cytokine sepsis 13/data/a24x43.mp3':
    Duration: 00:02:04.11, start: 0.000000, bitrate: 23 kb/s
    Stream #1:0: Audio: mp3, 22050 Hz, mono, s16p, 24 kb/s
    [libx264 @ 0x7fe4f1808000] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
    [libx264 @ 0x7fe4f1808000] profile High, level 3.0
    [libx264 @ 0x7fe4f1808000] 264 - core 148 r2668 fd2c324 - H.264/MPEG-4 AVC codec - Copyleft 2003-2016 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:-3:-3 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=2.00:0.70 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-4 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.20
    Output #0, mp4, to 'out16.mp4':
    Metadata:
    encoder         : Lavf57.25.100
    Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 720x540, q=-1--1, 25 fps, 12800 tbn, 25 tbc
    Metadata:
     encoder         : Lavc57.24.102 libx264
    Side data:
     unknown side data type 10 (24 bytes)
    Stream #0:1: Audio: mp3 (i[0][0][0] / 0x0069), 22050 Hz, mono, 24 kb/s
    Stream mapping:
    Stream #0:0 -> #0:0 (png (native) -> h264 (libx264))
    Stream #1:0 -> #0:1 (copy)
    Press [q] to stop, [?] for help
    frame=  132 fps=0.0 q=28.0 size=40kB time=00:00:02.96 bitrate=111.8kbits/
    frame=  272 fps=271 q=28.0 size=      61kB time=00:00:08.56 bitrate=  58.2kbits/
    frame=  404 fps=269 q=28.0 size=     113kB time=00:00:13.84 bitrate=  66.6kbits/
    frame=  537 fps=268 q=28.0 size=     132kB time=00:00:19.16 bitrate=  56.2kbits/
    frame=  672 fps=268 q=28.0 size=     184kB time=00:00:24.56 bitrate=  61.3kbits/
    frame=  808 fps=268 q=28.0 size=     236kB time=00:00:30.00 bitrate=  64.5kbits/
    frame=  943 fps=268 q=28.0 size=     255kB time=00:00:35.40 bitrate=  59.1kbits/
    frame= 1087 fps=271 q=28.0 size=     309kB time=00:00:41.16 bitrate=  61.5kbits/
    frame= 1219 fps=270 q=28.0 size=     328kB time=00:00:46.44 bitrate=  57.8kbits/
    frame= 1355 fps=270 q=28.0 size=     380kB time=00:00:51.88 bitrate=  60.0kbits/frame= 1494 fps=271 q=28.0 size=     400kB time=00:00:57.44 bitrate=  57.1kbits/
    frame= 1632 fps=271 q=28.0 size=     453kB time=00:01:02.96 bitrate=  58.9kbits/
    frame= 1767 fps=271 q=28.0 size=     472kB time=00:01:08.36 bitrate=  56.6kbits/
    frame= 1893 fps=269 q=28.0 size=     523kB time=00:01:13.40 bitrate=  58.4kbits/
    frame= 2020 fps=268 q=28.0 size=     541kB time=00:01:18.48 bitrate=  56.5kbits/
    frame= 2147 fps=267 q=28.0 size=     592kB time=00:01:23.56 bitrate=  58.1kbits/
    frame= 2275 fps=267 q=28.0 size=     611kB time=00:01:28.68 bitrate=  56.4kbits/
    frame= 2401 fps=266 q=28.0 size=     661kB time=00:01:33.72 bitrate=  57.8kbits/
    frame= 2528 fps=265 q=28.0 size=     680kB time=00:01:38.80 bitrate=  56.4kbits/
    frame= 2654 fps=264 q=28.0 size=     731kB time=00:01:43.84 bitrate=  57.6kbits/
    frame= 2781 fps=264 q=28.0 size=     749kB time=00:01:48.92 bitrate=  56.3kbits/
    frame= 2906 fps=263 q=28.0 size=     799kB time=00:01:53.92 bitrate=  57.5kbits/
    frame= 3033 fps=263 q=28.0 size=     818kB time=00:01:59.00 bitrate=  56.3kbits/
    frame= 3102 fps=261 q=-1.0 Lsize=     983kB time=00:02:04.08 bitrate=  64.9kbits/s speed=10.5x    
    video:505kB audio:364kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 13.169518%
    [libx264 @ 0x7fe4f1808000] frame I:13    Avg QP:14.07  size: 33159
    [libx264 @ 0x7fe4f1808000] frame P:782   Avg QP: 6.24  size:    36
    [libx264 @ 0x7fe4f1808000] frame B:2307  Avg QP: 9.67  size:    25
    [libx264 @ 0x7fe4f1808000] consecutive B-frames:  0.8%  0.0%  0.0% 9 9.2%
    [libx264 @ 0x7fe4f1808000] mb I  I16..4: 44.1% 26.2% 29.6%
    [libx264 @ 0x7fe4f1808000] mb P  I16..4:  0.0%  0.0%  0.0%  P16..4:  0.0%  0.0%  0.0%  0.0%  0.0%    skip:100.0%
    [libx264 @ 0x7fe4f1808000] mb B  I16..4:  0.0%  0.0%  0.0%  B16..8:  0.1%  0.0%  0.0%  direct: 0.0%  skip:99.9%  L0:40.4% L1:59.6% BI: 0.0%
    [libx264 @ 0x7fe4f1808000] 8x8 transform intra:26.1% inter:77.7%
    [libx264 @ 0x7fe4f1808000] coded y,uvDC,uvAC intra: 23.8% 9.6% 8.1% inter: 0.0% 0.0% 0.0%
    [libx264 @ 0x7fe4f1808000] i16 v,h,dc,p: 60% 33%  7%  0%
    [libx264 @ 0x7fe4f1808000] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 57% 12% 29%  0%  0%  0%  0%  0%  2%
    [libx264 @ 0x7fe4f1808000] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 36% 29% 14%  2%  3%  4%  4%  3%  4%
    [libx264 @ 0x7fe4f1808000] i8c dc,h,v,p: 74% 21%  5%  0%
    [libx264 @ 0x7fe4f1808000] Weighted P-Frames: Y:0.0% UV:0.0%
    [libx264 @ 0x7fe4f1808000] ref P L0: 95.4%  1.1%  3.5%
    [libx264 @ 0x7fe4f1808000] ref B L0:  8.5% 90.2%  1.3%
    [libx264 @ 0x7fe4f1808000] kb/s:33.31

    Has anyone ran into a similar problem, and if so, how did you go about fixing it ? Thanks in advance for looking at my question.

  • Generating video from images and audio by FFmpeg

    24 mars 2020, par Cody

    I am new to FFmpeg and video/audio encoding. I try to use Fluent ffmpeg to generate a MP4 video from images and audio.

    There are 2 inputs only :

    If the audio duration is longer video length, just discard the excessive part of audio at the end.
    And all the images have to be shown in same duration.(i.e. The video should be in n/d FPS for n images and video with d second)

    Since the image input are not in number sequence, I use concat demuxer as input :

           let VIDEO_DURATION = 8;
           let ffmpeg = await FfmpegUtil.createCommand();
           let imageFiles: string[] = ["foo.jpg", "bar.jpg", ...]; //assume there are 67 image files
           let demuxerFile = await FfmpegUtil.createConcatDemuxerFile(imageFiles);
           let audioFile: string = "path/to/audio.wav";

           ffmpeg.input(demuxerFile)
               .inputOption(
                   "-f", "concat",
                   "-safe", "0",
               )
               .input(audioFile)
               .outputOption(
                   "-r", `${imageFiles.length}/${VIDEO_DURATION}`,
               )
               .duration(VIDEO_DURATION)
               .save("path/to/output.mp4")
           ;

    it will spawn a ffmpeg command :

    ffmpeg
       -f concat
       -safe 0
       -i path/to/demuxerFile.txt
       -i path/to/audio.wav
       -y
       -r 67/8
       -t 8
       path/to/output.mp4

    However the output file cannot be played.

    I also tried "-framerate", ${imageFiles.length}/${VIDEO_DURATION} in .outputOption(), it still output a file cannot be played and I found the frame rate always be 25 in its file property.

    Update 1 (added spawned command & ffmpeg console log) :

    spawned ffmpeg command & console log ("-r", `${imageFiles.length}/${VIDEO_DURATION}` as outputOption) :

    ffmpeg -f concat -safe 0 -i path/to/demuxerFile.txt -i path/to/audio.wav -y -r 67/8 -t 8 path/to/output_r.mp4

    ffmpeg version git-2020-01-26-5e62100 Copyright (c) 2000-2020 the FFmpeg developers
     built with gcc 9.2.1 (GCC) 20200122
     configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf
     libavutil      56. 38.100 / 56. 38.100
     libavcodec     58. 67.100 / 58. 67.100
     libavformat    58. 36.100 / 58. 36.100
     libavdevice    58.  9.103 / 58.  9.103
     libavfilter     7. 71.100 /  7. 71.100
     libswscale      5.  6.100 /  5.  6.100
     libswresample   3.  6.100 /  3.  6.100
     libpostproc    55.  6.100 / 55.  6.100
    Input #0, concat, from 'path/to/demuxerFile.txt':
     Duration: N/A, start: 0.000000, bitrate: N/A
       Stream #0:0: Video: mjpeg (Baseline), yuvj444p(pc, bt470bg/unknown/unknown), 4677x4677 [SAR 256:256 DAR 1:1], 25 tbr, 25 tbn, 25 tbc
    Guessed Channel Layout for Input Stream #1.0 : stereo
    Input #1, wav, from 'path/to/audio.wav':
     Metadata:
       artist          : TextAloud: IVONA Kimberly22
       date            : 2018
       genre           : Speech
       title           : 38750336.mp3
       album           : Created: 7/26/2018 4:56:13 PM
       encoder         : Lavf58.16.100
       encoded_by      : Lame MP3
     Duration: 00:00:15.57, bitrate: 705 kb/s
       Stream #1:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 22050 Hz, stereo, s16, 705 kb/s
    Stream mapping:
     Stream #0:0 -> #0:0 (mjpeg (native) -> h264 (libx264))
     Stream #1:0 -> #0:1 (pcm_s16le (native) -> aac (native))
    Press [q] to stop, [?] for help
    [libx264 @ 000001e395041400] using SAR=1/1
    [libx264 @ 000001e395041400] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
    [libx264 @ 000001e395041400] profile High 4:4:4 Predictive, level 6.0, 4:4:4, 8-bit
    [libx264 @ 000001e395041400] 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=4 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=8 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 'path/to/output_r.mp4':
     Metadata:
       encoder         : Lavf58.36.100
       Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuvj444p(pc, progressive), 4677x4677 [SAR 256:256 DAR 1:1], q=-1--1, 8.38 fps, 17152 tbn, 8.38 tbc
       Metadata:
         encoder         : Lavc58.67.100 libx264
       Side data:
         cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
       Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 22050 Hz, stereo, fltp, 128 kb/s
       Metadata:
         encoder         : Lavc58.67.100 aac
    frame=    3 fps=0.0 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   0x    
    frame=    5 fps=4.2 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A dup=0 drop=4 speed=   0x    
    frame=    6 fps=3.4 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A dup=0 drop=7 speed=   0x    
    frame=    8 fps=3.4 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A dup=0 drop=10 speed=   0x    
    frame=   10 fps=3.5 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A dup=0 drop=14 speed=   0x    
    frame=   11 fps=3.2 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A dup=0 drop=16 speed=   0x    
    frame=   13 fps=3.2 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A dup=0 drop=20 speed=   0x    
    frame=   14 fps=3.0 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A dup=0 drop=22 speed=   0x    
    frame=   16 fps=3.1 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A dup=0 drop=26 speed=   0x    
    frame=   17 fps=2.9 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A dup=0 drop=28 speed=   0x    
    frame=   18 fps=2.8 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A dup=0 drop=31 speed=   0x    
    frame=   20 fps=2.9 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A dup=0 drop=34 speed=   0x    
    frame=   21 fps=2.8 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A dup=0 drop=36 speed=   0x    
    frame=   23 fps=2.9 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A dup=0 drop=40 speed=   0x    
    frame=   24 fps=2.8 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A dup=0 drop=42 speed=   0x    
    frame=   24 fps=0.7 q=-1.0 Lsize=     752kB time=00:00:08.03 bitrate= 766.4kbits/s dup=0 drop=43 speed=0.22x    
    video:624kB audio:125kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.359236%
    [libx264 @ 000001e395041400] frame I:1     Avg QP:12.79  size:257554
    [libx264 @ 000001e395041400] frame P:15    Avg QP:13.10  size: 20487
    [libx264 @ 000001e395041400] frame B:8     Avg QP:13.10  size:  9231
    [libx264 @ 000001e395041400] consecutive B-frames: 45.8% 25.0% 12.5% 16.7%
    [libx264 @ 000001e395041400] mb I  I16..4: 18.4% 79.2%  2.4%
    [libx264 @ 000001e395041400] mb P  I16..4:  1.0%  3.3%  0.4%  P16..4:  1.0%  0.2%  0.2%  0.0%  0.0%    skip:93.9%
    [libx264 @ 000001e395041400] mb B  I16..4:  0.1%  0.2%  0.1%  B16..8:  1.8%  0.1%  0.0%  direct: 2.9%  skip:94.7%  L0:58.1% L1:40.2% BI: 1.7%
    [libx264 @ 000001e395041400] 8x8 transform intra:75.0% inter:82.7%
    [libx264 @ 000001e395041400] coded y,u,v intra: 6.1% 3.5% 4.4% inter: 0.2% 1.2% 0.5%
    [libx264 @ 000001e395041400] i16 v,h,dc,p: 80% 16%  3%  2%
    [libx264 @ 000001e395041400] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 46%  8% 44%  0%  0%  0%  0%  0%  0%
    [libx264 @ 000001e395041400] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 29% 27% 25%  3%  3%  3%  4%  3%  3%
    [libx264 @ 000001e395041400] Weighted P-Frames: Y:0.0% UV:0.0%
    [libx264 @ 000001e395041400] ref P L0: 75.6%  3.3% 14.8%  6.3%
    [libx264 @ 000001e395041400] ref B L0: 88.6% 10.7%  0.7%
    [libx264 @ 000001e395041400] ref B L1: 98.7%  1.3%
    [libx264 @ 000001e395041400] kb/s:1783.06
    [aac @ 000001e3951e7f80] Qavg: 55135.730

    spawned ffmpeg command & console log ("-framerate", `${imageFiles.length}/${VIDEO_DURATION}` as outputOption) :

    ffmpeg -f concat -safe 0 -i path/to/demuxerFile.txt -i path/to/audio.wav -y -framerate 67/8 -t 8 path/to/output_framerate.mp4

    ffmpeg version git-2020-01-26-5e62100 Copyright (c) 2000-2020 the FFmpeg developers
     built with gcc 9.2.1 (GCC) 20200122
     configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf
     libavutil      56. 38.100 / 56. 38.100
     libavcodec     58. 67.100 / 58. 67.100
     libavformat    58. 36.100 / 58. 36.100
     libavdevice    58.  9.103 / 58.  9.103
     libavfilter     7. 71.100 /  7. 71.100
     libswscale      5.  6.100 /  5.  6.100
     libswresample   3.  6.100 /  3.  6.100
     libpostproc    55.  6.100 / 55.  6.100
    Input #0, concat, from 'path/to/demuxerFile.txt':
     Duration: N/A, start: 0.000000, bitrate: N/A
       Stream #0:0: Video: mjpeg (Baseline), yuvj444p(pc, bt470bg/unknown/unknown), 4677x4677 [SAR 256:256 DAR 1:1], 25 tbr, 25 tbn, 25 tbc
    Guessed Channel Layout for Input Stream #1.0 : stereo
    Input #1, wav, from 'path/to/audio.wav':
     Metadata:
       artist          : TextAloud: IVONA Kimberly22
       date            : 2018
       genre           : Speech
       title           : 38750336.mp3
       album           : Created: 7/26/2018 4:56:13 PM
       encoder         : Lavf58.16.100
       encoded_by      : Lame MP3
     Duration: 00:00:15.57, bitrate: 705 kb/s
       Stream #1:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 22050 Hz, stereo, s16, 705 kb/s
    Stream mapping:
     Stream #0:0 -> #0:0 (mjpeg (native) -> h264 (libx264))
     Stream #1:0 -> #0:1 (pcm_s16le (native) -> aac (native))
    Press [q] to stop, [?] for help
    [libx264 @ 000002460bda4740] using SAR=1/1
    [libx264 @ 000002460bda4740] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
    [libx264 @ 000002460bda4740] profile High 4:4:4 Predictive, level 6.0, 4:4:4, 8-bit
    [libx264 @ 000002460bda4740] 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=4 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
    Output #0, mp4, to 'path/to/output_framerate.mp4':
     Metadata:
       encoder         : Lavf58.36.100
       Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuvj444p(pc, progressive), 4677x4677 [SAR 256:256 DAR 1:1], q=-1--1, 25 fps, 12800 tbn, 25 tbc
       Metadata:
         encoder         : Lavc58.67.100 libx264
       Side data:
         cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
       Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 22050 Hz, stereo, fltp, 128 kb/s
       Metadata:
         encoder         : Lavc58.67.100 aac
    frame=    3 fps=0.0 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   0x    
    frame=    6 fps=5.0 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   0x    
    frame=    9 fps=5.0 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   0x    
    frame=   12 fps=5.0 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   0x    
    frame=   14 fps=4.6 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   0x    
    frame=   16 fps=4.4 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   0x    
    frame=   18 fps=3.9 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   0x    
    frame=   20 fps=3.9 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   0x    
    frame=   22 fps=3.8 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   0x    
    frame=   23 fps=3.6 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   0x    
    frame=   25 fps=3.6 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   0x    
    frame=   27 fps=3.3 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   0x    
    frame=   28 fps=3.1 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   0x    
    frame=   30 fps=3.1 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   0x    
    frame=   33 fps=3.2 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   0x    
    frame=   36 fps=3.3 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   0x    
    frame=   38 fps=3.1 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   0x    
    frame=   39 fps=3.0 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   0x    
    frame=   40 fps=2.6 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   0x    
    frame=   41 fps=2.4 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   0x    
    frame=   42 fps=2.0 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   0x    
    frame=   43 fps=1.9 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   0x    
    frame=   44 fps=1.9 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   0x    
    frame=   45 fps=1.8 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   0x    
    frame=   46 fps=1.8 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   0x    
    frame=   47 fps=1.4 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   0x    
    frame=   49 fps=1.5 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   0x    
    frame=   50 fps=1.5 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   0x    
    frame=   51 fps=1.5 q=28.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   0x    
    frame=   51 fps=1.3 q=28.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   0x    
    frame=   52 fps=1.3 q=28.0 size=       0kB time=00:00:00.04 bitrate=   8.3kbits/s speed=0.00114x    
    frame=   53 fps=1.3 q=28.0 size=       0kB time=00:00:00.04 bitrate=   8.3kbits/s speed=0.00111x    
    frame=   54 fps=1.2 q=28.0 size=       0kB time=00:00:00.04 bitrate=   8.3kbits/s speed=0.00101x    
    frame=   55 fps=1.2 q=28.0 size=       0kB time=00:00:00.13 bitrate=   2.8kbits/s speed=0.00297x    
    frame=   56 fps=1.1 q=28.0 size=       0kB time=00:00:00.18 bitrate=   2.1kbits/s speed=0.00377x    
    frame=   57 fps=1.1 q=28.0 size=     256kB time=00:00:00.23 bitrate=9033.3kbits/s speed=0.00461x    
    frame=   58 fps=1.1 q=28.0 size=     256kB time=00:00:00.27 bitrate=7527.8kbits/s speed=0.00514x    
    frame=   59 fps=1.0 q=28.0 size=     256kB time=00:00:00.32 bitrate=6452.4kbits/s speed=0.00571x    
    frame=   60 fps=1.0 q=28.0 size=     256kB time=00:00:00.37 bitrate=5645.8kbits/s speed=0.00643x    
    frame=   62 fps=1.0 q=28.0 size=     256kB time=00:00:00.37 bitrate=5645.8kbits/s speed=0.00605x    
    frame=   62 fps=1.0 q=28.0 size=     256kB time=00:00:00.41 bitrate=5018.5kbits/s speed=0.00668x    
    frame=   63 fps=1.0 q=28.0 size=     256kB time=00:00:00.46 bitrate=4516.7kbits/s speed=0.00727x    
    frame=   64 fps=1.0 q=28.0 size=     256kB time=00:00:00.51 bitrate=4106.1kbits/s speed=0.00778x    
    frame=   65 fps=1.0 q=28.0 size=     256kB time=00:00:00.55 bitrate=3763.9kbits/s speed=0.00827x    
    frame=   66 fps=1.0 q=28.0 size=     256kB time=00:00:00.60 bitrate=3474.4kbits/s speed=0.00884x    
    frame=   67 fps=1.0 q=28.0 size=     256kB time=00:00:00.65 bitrate=3226.2kbits/s speed=0.00943x    
    frame=   67 fps=0.6 q=-1.0 Lsize=     872kB time=00:00:08.03 bitrate= 888.9kbits/s speed=0.0752x    
    video:744kB audio:125kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.391708%
    [libx264 @ 000002460bda4740] frame I:1     Avg QP:15.80  size:216204
    [libx264 @ 000002460bda4740] frame P:29    Avg QP:15.19  size: 10747
    [libx264 @ 000002460bda4740] frame B:37    Avg QP:17.07  size:  6300
    [libx264 @ 000002460bda4740] consecutive B-frames: 17.9% 14.9% 31.3% 35.8%
    [libx264 @ 000002460bda4740] mb I  I16..4: 11.4% 86.0%  2.6%
    [libx264 @ 000002460bda4740] mb P  I16..4:  0.5%  1.9%  0.2%  P16..4:  0.7%  0.2%  0.1%  0.0%  0.0%    skip:96.5%
    [libx264 @ 000002460bda4740] mb B  I16..4:  0.1%  0.2%  0.0%  B16..8:  1.3%  0.2%  0.0%  direct: 0.7%  skip:97.5%  L0:57.4% L1:40.7% BI: 1.9%
    [libx264 @ 000002460bda4740] 8x8 transform intra:79.7% inter:31.4%
    [libx264 @ 000002460bda4740] coded y,u,v intra: 5.7% 2.9% 3.7% inter: 0.1% 0.5% 0.2%
    [libx264 @ 000002460bda4740] i16 v,h,dc,p: 70% 23%  4%  2%
    [libx264 @ 000002460bda4740] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 45%  8% 45%  0%  0%  0%  0%  0%  0%
    [libx264 @ 000002460bda4740] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 29% 26% 25%  3%  3%  4%  4%  3%  2%
    [libx264 @ 000002460bda4740] Weighted P-Frames: Y:0.0% UV:0.0%
    [libx264 @ 000002460bda4740] ref P L0: 72.6%  3.0% 16.6%  7.7%
    [libx264 @ 000002460bda4740] ref B L0: 75.7% 20.6%  3.7%
    [libx264 @ 000002460bda4740] ref B L1: 97.7%  2.3%
    [libx264 @ 000002460bda4740] kb/s:2271.59
    [aac @ 000002460bda8580] Qavg: 55135.730