Recherche avancée

Médias (0)

Mot : - Tags -/flash

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (50)

  • MediaSPIP v0.2

    21 juin 2013, par

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

  • Mise à disposition des fichiers

    14 avril 2011, par

    Par défaut, lors de son initialisation, MediaSPIP ne permet pas aux visiteurs de télécharger les fichiers qu’ils soient originaux ou le résultat de leur transformation ou encodage. Il permet uniquement de les visualiser.
    Cependant, il est possible et facile d’autoriser les visiteurs à avoir accès à ces documents et ce sous différentes formes.
    Tout cela se passe dans la page de configuration du squelette. Il vous faut aller dans l’espace d’administration du canal, et choisir dans la navigation (...)

  • MediaSPIP version 0.1 Beta

    16 avril 2011, par

    MediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

Sur d’autres sites (8970)

  • FFMPEG + HW Acceleration + Kepler GPU Lossless encoding not supported ?

    11 juillet 2022, par user2522885

    I'm curious about FFMPEG and GPU hardware acceleration. My Windows 10 system uses the Asus / nVidia GTX 760 graphics card and Intel i5-2500K CPU. My graphics card claims to be of the Kepler architecture with CUDA 3.0 as shown here.

    


    Instead of going through the hassles of compiling FFMPEG with hw acceleration support i downloaded a pre-compiled binary from here and here.

    


    Next, i tried running a test with hw acceleration options as recommended here :

    


    ffmpeg -y -vsync 0 -hwaccel cuda -hwaccel_output_format cuda -i "input.mkv" -c:a copy -c:v h264_nvenc "output.mp4"


    


    I then received the error message :

    


    [h264_nvenc @ 000001c34eeda8c0] Lossless encoding not supported
[h264_nvenc @ 000001c34eeda8c0] Provided device doesn't support required NVENC features
Error initializing output stream 0:0 — Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height

    


    What am i doing wrong ? For the record i install the CUDA setup file but it made no difference. I am using the latest nVidia drivers.

    


    UPDATE

    


    ffmpeg -h encoder=h264_nvenc

    


    ffmpeg version 4.4-full_build-www.gyan.dev Copyright (c) 2000-2021 the FFmpeg developers&#xA;  built with gcc 10.2.0 (Rev6, Built by MSYS2 project)&#xA;  configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libdav1d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libglslang --enable-vulkan --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint&#xA;  libavutil      56. 70.100 / 56. 70.100&#xA;  libavcodec     58.134.100 / 58.134.100&#xA;  libavformat    58. 76.100 / 58. 76.100&#xA;  libavdevice    58. 13.100 / 58. 13.100&#xA;  libavfilter     7.110.100 /  7.110.100&#xA;  libswscale      5.  9.100 /  5.  9.100&#xA;  libswresample   3.  9.100 /  3.  9.100&#xA;  libpostproc    55.  9.100 / 55.  9.100&#xA;Encoder h264_nvenc [NVIDIA NVENC H.264 encoder]:&#xA;    General capabilities: dr1 delay hardware&#xA;    Threading capabilities: none&#xA;    Supported hardware devices: cuda cuda d3d11va d3d11va&#xA;    Supported pixel formats: yuv420p nv12 p010le yuv444p p016le yuv444p16le bgr0 rgb0 cuda d3d11&#xA;h264_nvenc AVOptions:&#xA;  -preset            <int>        E..V....... Set the encoding preset (from 0 to 18) (default p4)&#xA;     default         0            E..V.......&#xA;     slow            1            E..V....... hq 2 passes&#xA;     medium          2            E..V....... hq 1 pass&#xA;     fast            3            E..V....... hp 1 pass&#xA;     hp              4            E..V.......&#xA;     hq              5            E..V.......&#xA;     bd              6            E..V.......&#xA;     ll              7            E..V....... low latency&#xA;     llhq            8            E..V....... low latency hq&#xA;     llhp            9            E..V....... low latency hp&#xA;     lossless        10           E..V.......&#xA;     losslesshp      11           E..V.......&#xA;     p1              12           E..V....... fastest (lowest quality)&#xA;     p2              13           E..V....... faster (lower quality)&#xA;     p3              14           E..V....... fast (low quality)&#xA;     p4              15           E..V....... medium (default)&#xA;     p5              16           E..V....... slow (good quality)&#xA;     p6              17           E..V....... slower (better quality)&#xA;     p7              18           E..V....... slowest (best quality)&#xA;  -tune              <int>        E..V....... Set the encoding tuning info (from 1 to 4) (default hq)&#xA;     hq              1            E..V....... High quality&#xA;     ll              2            E..V....... Low latency&#xA;     ull             3            E..V....... Ultra low latency&#xA;     lossless        4            E..V....... Lossless&#xA;  -profile           <int>        E..V....... Set the encoding profile (from 0 to 3) (default main)&#xA;     baseline        0            E..V.......&#xA;     main            1            E..V.......&#xA;     high            2            E..V.......&#xA;     high444p        3            E..V.......&#xA;  -level             <int>        E..V....... Set the encoding level restriction (from 0 to 62) (default auto)&#xA;     auto            0            E..V.......&#xA;     1               10           E..V.......&#xA;     1.0             10           E..V.......&#xA;     1b              9            E..V.......&#xA;     1.0b            9            E..V.......&#xA;     1.1             11           E..V.......&#xA;     1.2             12           E..V.......&#xA;     1.3             13           E..V.......&#xA;     2               20           E..V.......&#xA;     2.0             20           E..V.......&#xA;     2.1             21           E..V.......&#xA;     2.2             22           E..V.......&#xA;     3               30           E..V.......&#xA;     3.0             30           E..V.......&#xA;     3.1             31           E..V.......&#xA;     3.2             32           E..V.......&#xA;     4               40           E..V.......&#xA;     4.0             40           E..V.......&#xA;     4.1             41           E..V.......&#xA;     4.2             42           E..V.......&#xA;     5               50           E..V.......&#xA;     5.0             50           E..V.......&#xA;     5.1             51           E..V.......&#xA;     5.2             52           E..V.......&#xA;     6.0             60           E..V.......&#xA;     6.1             61           E..V.......&#xA;     6.2             62           E..V.......&#xA;  -rc                <int>        E..V....... Override the preset rate-control (from -1 to INT_MAX) (default -1)&#xA;     constqp         0            E..V....... Constant QP mode&#xA;     vbr             1            E..V....... Variable bitrate mode&#xA;     cbr             2            E..V....... Constant bitrate mode&#xA;     vbr_minqp       8388612      E..V....... Variable bitrate mode with MinQP (deprecated)&#xA;     ll_2pass_quality 8388616      E..V....... Multi-pass optimized for image quality (deprecated)&#xA;     ll_2pass_size   8388624      E..V....... Multi-pass optimized for constant frame size (deprecated)&#xA;     vbr_2pass       8388640      E..V....... Multi-pass variable bitrate mode (deprecated)&#xA;     cbr_ld_hq       8388616      E..V....... Constant bitrate low delay high quality mode&#xA;     cbr_hq          8388624      E..V....... Constant bitrate high quality mode&#xA;     vbr_hq          8388640      E..V....... Variable bitrate high quality mode&#xA;  -rc-lookahead      <int>        E..V....... Number of frames to look ahead for rate-control (from 0 to INT_MAX) (default 0)&#xA;  -surfaces          <int>        E..V....... Number of concurrent surfaces (from 0 to 64) (default 0)&#xA;  -cbr               <boolean>    E..V....... Use cbr encoding mode (default false)&#xA;  -2pass             <boolean>    E..V....... Use 2pass encoding mode (default auto)&#xA;  -gpu               <int>        E..V....... Selects which NVENC capable GPU to use. First GPU is 0, second is 1, and so on. (from -2 to INT_MAX) (default any)&#xA;     any             -1           E..V....... Pick the first device available&#xA;     list            -2           E..V....... List the available devices&#xA;  -delay             <int>        E..V....... Delay frame output by the given amount of frames (from 0 to INT_MAX) (default INT_MAX)&#xA;  -no-scenecut       <boolean>    E..V....... When lookahead is enabled, set this to 1 to disable adaptive I-frame insertion at scene cuts (default false)&#xA;  -forced-idr        <boolean>    E..V....... If forcing keyframes, force them as IDR frames. (default false)&#xA;  -b_adapt           <boolean>    E..V....... When lookahead is enabled, set this to 0 to disable adaptive B-frame decision (default true)&#xA;  -spatial-aq        <boolean>    E..V....... set to 1 to enable Spatial AQ (default false)&#xA;  -spatial_aq        <boolean>    E..V....... set to 1 to enable Spatial AQ (default false)&#xA;  -temporal-aq       <boolean>    E..V....... set to 1 to enable Temporal AQ (default false)&#xA;  -temporal_aq       <boolean>    E..V....... set to 1 to enable Temporal AQ (default false)&#xA;  -zerolatency       <boolean>    E..V....... Set 1 to indicate zero latency operation (no reordering delay) (default false)&#xA;  -nonref_p          <boolean>    E..V....... Set this to 1 to enable automatic insertion of non-reference P-frames (default false)&#xA;  -strict_gop        <boolean>    E..V....... Set 1 to minimize GOP-to-GOP rate fluctuations (default false)&#xA;  -aq-strength       <int>        E..V....... When Spatial AQ is enabled, this field is used to specify AQ strength. AQ strength scale is from 1 (low) - 15 (aggressive) (from 1 to 15) (default 8)&#xA;  -cq                <float>      E..V....... Set target quality level (0 to 51, 0 means automatic) for constant quality mode in VBR rate control (from 0 to 51) (default 0)&#xA;  -aud               <boolean>    E..V....... Use access unit delimiters (default false)&#xA;  -bluray-compat     <boolean>    E..V....... Bluray compatibility workarounds (default false)&#xA;  -init_qpP          <int>        E..V....... Initial QP value for P frame (from -1 to 51) (default -1)&#xA;  -init_qpB          <int>        E..V....... Initial QP value for B frame (from -1 to 51) (default -1)&#xA;  -init_qpI          <int>        E..V....... Initial QP value for I frame (from -1 to 51) (default -1)&#xA;  -qp                <int>        E..V....... Constant quantization parameter rate control method (from -1 to 51) (default -1)&#xA;  -weighted_pred     <int>        E..V....... Set 1 to enable weighted prediction (from 0 to 1) (default 0)&#xA;  -coder             <int>        E..V....... Coder type (from -1 to 2) (default default)&#xA;     default         -1           E..V.......&#xA;     auto            0            E..V.......&#xA;     cabac           1            E..V.......&#xA;     cavlc           2            E..V.......&#xA;     ac              1            E..V.......&#xA;     vlc             2            E..V.......&#xA;  -b_ref_mode        <int>        E..V....... Use B frames as references (from 0 to 2) (default disabled)&#xA;     disabled        0            E..V....... B frames will not be used for reference&#xA;     each            1            E..V....... Each B frame will be used for reference&#xA;     middle          2            E..V....... Only (number of B frames)/2 will be used for reference&#xA;  -a53cc             <boolean>    E..V....... Use A53 Closed Captions (if available) (default true)&#xA;  -dpb_size          <int>        E..V....... Specifies the DPB size used for encoding (0 means automatic) (from 0 to INT_MAX) (default 0)&#xA;  -multipass         <int>        E..V....... Set the multipass encoding (from 0 to 2) (default disabled)&#xA;     disabled        0            E..V....... Single Pass&#xA;     qres            1            E..V....... Two Pass encoding is enabled where first Pass is quarter resolution&#xA;     fullres         2            E..V....... Two Pass encoding is enabled where first Pass is full resolution&#xA;  -ldkfs             <int>        E..V....... Low delay key frame scale; Specifies the Scene Change frame size increase allowed in case of single frame VBV and CBR (from 0 to 255) (default 0)&#xA;</int></int></int></boolean></int></int></int></int></int></int></int></boolean></boolean></float></int></boolean></boolean></boolean></boolean></boolean></boolean></boolean></boolean></boolean></boolean></int></int></boolean></boolean></int></int></int></int></int></int></int>

    &#xA;

  • ffmpeg ; opus encoded sound in webm does not work with ffplay or YouTube, only VLC [on hold]

    2 août 2017, par Mockarutan

    I’m having trouble getting Opus encoded sound in the webm container to work. I’m using libopus in ffmpeg.

    The file does work in VLC. But not in ffplay or on YouTube. If I take the raw wav data in a wav file and then convert it to Opus/webm with the ffmpeg.exe that comes pre-compiled. It works in VLC, ffplay and YouTube.

    So ffmpeg can obviously do it correctly, I must be doing something wrong in my code.

    The file my code produces : https://drive.google.com/file/d/0B16rIXjPXJCqcU5HVllIYW1iODg/view?usp=sharing

    Edit, More details that I forgot in my frustration : The file can be opened by ffplay and uploaded to youtube (when I interlace it with VP9 video). But the sound is just "ticks", example : https://www.youtube.com/watch?v=j_ShBbuizeo&feature=youtu.be

    I have read though all example codes that I know of from ffmpeg, but all of them is in the old API, not the send/receive api, so a big part of the code does not apply anymore. This code works with all other Codes I’ve tested, including H.264+AAC in mp4, VP8+Opus in ogg and raw PCM F32LE in wav. I would have gone with VP8+Opus in ogg if the license was as straight forward as the webm license

    I’ve looked though the source for the ffmpeg.exe command line tool and coped everything applicable in to my code base.

    (Edit 3, reduced the code as much as I can)
    Here is my code : https://pastebin.com/HTuc0g8K

    Setup :

    int initialize(int sample_rate, int per_frame_audio_samples, int audio_bitrate, const char *filename)
       {
           int ret;

           avcodec_register_all();
           av_register_all();

           ret = avformat_alloc_output_context2(&amp;outctx, NULL, "webm", filename);

           if (ret &lt; 0)
               return ret;

           aud_codec = avcodec_find_encoder(aud_codec_id);
           avcodec_register(aud_codec);

           if (!aud_codec)
               return -1;

           // Setup Audio Stream

           aud_codec_context = avcodec_alloc_context3(aud_codec);
           if (!aud_codec_context)
               return -1;

           /* select other audio parameters supported by the encoder */
           aud_codec_context->bit_rate = audio_bitrate;
           aud_codec_context->sample_rate = sample_rate;
           aud_codec_context->sample_fmt = sample_fmt;
           aud_codec_context->channel_layout = AV_CH_LAYOUT_STEREO;
           aud_codec_context->channels = av_get_channel_layout_nb_channels(aud_codec_context->channel_layout);

           aud_codec_context->codec = aud_codec;
           aud_codec_context->codec_id = aud_codec_id;


           AVRational time_base;
           time_base.num = per_frame_audio_samples;
           time_base.den = aud_codec_context->sample_rate;
           aud_codec_context->time_base = time_base;

           ret = avcodec_open2(aud_codec_context, aud_codec, NULL);

           if (ret &lt; 0)
               return ret;

           outctx->audio_codec = aud_codec;
           outctx->audio_codec_id = aud_codec_id;

           audio_st = avformat_new_stream(outctx, aud_codec);

           avcodec_parameters_from_context(audio_st->codecpar, aud_codec_context);

           conv_time_base.num = aud_codec_context->frame_size;
           conv_time_base.den = aud_codec_context->sample_rate;

           // Setup audio frame
           aud_frame = av_frame_alloc();
           aud_frame->nb_samples = aud_codec_context->frame_size;
           aud_frame->format = aud_codec_context->sample_fmt;
           aud_frame->channel_layout = aud_codec_context->channel_layout;
           aud_frame->sample_rate = aud_codec_context->sample_rate;

           int buffer_size;
           if (aud_codec_context->frame_size == 0)
           {
               buffer_size = per_frame_audio_samples * 2 * 4;
               aud_frame->nb_samples = per_frame_audio_samples;
           }
           else
           {
               buffer_size = av_samples_get_buffer_size(NULL, aud_codec_context->channels, aud_codec_context->frame_size,
                   aud_codec_context->sample_fmt, 0);
           }

           if (av_sample_fmt_is_planar(sample_fmt))
               ret = av_frame_get_buffer(aud_frame, buffer_size / 2);
           else
               ret = av_frame_get_buffer(aud_frame, buffer_size);

           if (!aud_frame || ret &lt; 0)
               return ret;

           // Setup audio resampler

           audio_swr_ctx = swr_alloc();
           if (!audio_swr_ctx)
               return -1;

           /* set options */
           av_opt_set_int(audio_swr_ctx, "in_channel_layout", aud_codec_context->channel_layout, 0);
           av_opt_set_int(audio_swr_ctx, "in_sample_rate", sample_rate, 0);
           av_opt_set_int(audio_swr_ctx, "in_frame_size", per_frame_audio_samples, 0);
           av_opt_set_sample_fmt(audio_swr_ctx, "in_sample_fmt", AV_SAMPLE_FMT_FLT, 0);

           av_opt_set_int(audio_swr_ctx, "out_channel_layout", aud_codec_context->channel_layout, 0);
           av_opt_set_int(audio_swr_ctx, "out_sample_rate", aud_codec_context->sample_rate, 0);
           av_opt_set_int(audio_swr_ctx, "out_frame_size", aud_codec_context->frame_size, 0);
           av_opt_set_sample_fmt(audio_swr_ctx, "out_sample_fmt", aud_codec_context->sample_fmt, 0);

           /* initialize the resampling context */
           if ((ret = swr_init(audio_swr_ctx)) &lt; 0)
           {
               return ret;
           }

           dst_rate = aud_codec_context->sample_rate;
           src_rate = sample_rate;

           src_nb_samples = per_frame_audio_samples;
           dst_nb_samples = aud_codec_context->frame_size;

           max_dst_nb_samples = av_rescale_rnd(src_nb_samples, dst_rate, src_rate, AV_ROUND_UP);

           dst_nb_channels = av_get_channel_layout_nb_channels(aud_codec_context->channel_layout);

           ret = av_samples_alloc_array_and_samples(&amp;dst_data, &amp;dst_linesize, dst_nb_channels, dst_nb_samples, sample_fmt, 0);

           aud_frame_counter = 0;

           if (ret &lt; 0)
               return ret;

           av_dump_format(outctx, 0, filename, 1);

           if (!(outctx->oformat->flags &amp; AVFMT_NOFILE))
           {
               ret = avio_open(&amp;outctx->pb, filename, AVIO_FLAG_WRITE);
               if (ret &lt; 0)
               {
                   return ret;
               }
           }

           ret = avformat_write_header(outctx, NULL);
           if (ret &lt; 0)
               return ret;

           return 0;
       }

    Encoding and ending :

    int process_encode_loop(AVFormatContext *local_outctx, AVCodecContext *codec_context, AVStream *stream, AVRational time_base, bool flush)
       {
           int ret;

           AVPacket pkt;
           av_init_packet(&amp;pkt);
           pkt.data = NULL;
           pkt.size = 0;

           while (true)
           {
               ret = avcodec_receive_packet(codec_context, &amp;pkt);
               if (!ret)
               {
                   pkt.stream_index = stream->index;
                   av_packet_rescale_ts(&amp;pkt, time_base, stream->time_base);
                   av_interleaved_write_frame(local_outctx, &amp;pkt);

                   av_packet_unref(&amp;pkt);
               }

               if (ret == AVERROR(EAGAIN))
                   break;
               else if (ret == AVERROR_EOF)
                   break;
               else if (ret &lt; 0)
                   return ret;
               else if (flush == false)
                   break;
           }

           return 0;
       }

       int write_audio_frame(float_t *aud_sample)
       {
           int ret;
           if (dst_nb_samples > max_dst_nb_samples)
           {
               av_free(&amp;aud_frame->data[0]);
               ret = av_samples_alloc(aud_frame->data, &amp;dst_linesize, dst_nb_channels, dst_nb_samples, sample_fmt, 1);
               if (ret &lt; 0)
                   return ret;

               max_dst_nb_samples = dst_nb_samples;
           }

           ret = swr_convert(audio_swr_ctx, dst_data, dst_nb_samples, (const uint8_t **)&amp;aud_sample, src_nb_samples);
           if (ret &lt; 0)
           {
               return ret;
           }

           aud_frame->data[0] = (uint8_t*)dst_data[0];
           aud_frame->extended_data[0] = (uint8_t*)dst_data[0];

           aud_frame->pts = aud_frame_counter++;

           ret = avcodec_send_frame(aud_codec_context, aud_frame);

           ret = process_encode_loop(outctx, aud_codec_context, audio_st, conv_time_base, false);

           if (ret &lt; 0)
               return ret;

           return 0;
       }

       int finish_audio_encoding()
       {
           int ret = avcodec_send_frame(aud_codec_context, NULL);
           if (ret &lt; 0)
               return ret;

           ret = process_encode_loop(outctx, aud_codec_context, audio_st, conv_time_base, true);
           if (ret &lt; 0)
               return ret;

           av_write_trailer(outctx);

           return ret;
       }

    Main :

    void fill_samples(float_t *dst, int nb_samples, int nb_channels, int sample_rate, float_t *t)
       {
           int i, j;
           float_t tincr = 1.0 / sample_rate;
           const float_t c = 2 * M_PI * 440.0;
           /* generate sin tone with 440Hz frequency and duplicated channels */
           for (i = 0; i &lt; nb_samples; i++) {
               *dst = sin(c * *t);
               for (j = 1; j &lt; nb_channels; j++)
                   dst[j] = dst[0];
               dst += nb_channels;
               *t += tincr;
           }
       }

       int main()
       {
           int frame_rate = 30;
           int sec = 12;
           int bit_rate = 192000;
           float t = 0;

           int src_samples_linesize;
           int src_nb_samples = 1024;
           int src_channels = 2;
           int sample_rate = 48000;

           uint8_t **src_data = NULL;

           int ret;

           initialize(sample_rate, src_nb_samples, bit_rate, "sound_test.webm");

           ret = av_samples_alloc_array_and_samples(&amp;src_data, &amp;src_samples_linesize, src_channels,
               src_nb_samples, AV_SAMPLE_FMT_FLT, 0);

           for (size_t i = 0; i &lt; frame_rate * sec; i++)
           {
               fill_samples((float *)src_data[0], src_nb_samples, src_channels, sample_rate, &amp;t);
               write_audio_frame((float *)src_data[0]);
           }
           finish_audio_encoding();

           cleanup();

           return 0;
       }

    Edit 2, This code reproduces the issue exactly and is fully self contained, if you have the ffmpeg 3.3.x libraries. It’s tried with 3.3.1 and 3.3.2 is the same results.

    So what could I be missing ? I do not think something is wrong with the sample rates or any other specifications, else it would not work in VLC or an ogg file. I do think the audio stream itself if correct, just some part of the header or how the file is formatted (look further down for some EBML inspection) that is not correct.

    As explained earlier, the licence with VP9+Opus in webm is why I have these specifics. And the exact problem is that I want the audio stream produced to work well when I upload it to YouTube.

    Any suggestion is appreciated, thanks in Advance !

    Some other things I’ve tried :

    I’ve looked at the header with the "MediaInfo" app built in to MVKTool :
    https://i.gyazo.com/3b29b41629a28bd526bf7637ce3f2601.png
    It all looks fine to me.

    I’ve also inspected the raw EBML file with EBML-Viewer (https://code.google.com/archive/p/ebml-viewer/) and in there I can se some difference between the files ;

    My file : https://i.gyazo.com/6fa8c540a2698a8a4d3421d363aede0a.png
    File produced with ffmpeg.exe : https://i.gyazo.com/04d60e64ff3c3040ea83e98cdf507530.png

    In my file it’s "Cluster" -> "BlockGroup" -> "Block", " ?"
    In the other it’s just "Cluster" -> "SimpleBlock"
    And in the webm specs, it says both are supported (https://www.webmproject.org/docs/container/)

    But I do not know much about these specific things, just looking for anything.

  • Using ffmpeg for streaming video composition from Python : why the sound is cut only when streaming into a mp4 file ?

    4 décembre 2017, par redantlabs

    I am using ffmpeg within Python for automatizing some video compositions. To do so, I am using the subprocess module of Python and run a ffmpeg command with a pipe input. This allows me to stream frame by frame the video composition from my array of raw images (numpy matrices) into ffmpeg. In the following example, I reduced the video composition to a simple video of a duration of 12 seconds. The produced ffmpeg command is :

    ffmpeg -i stream_audio.mp3 -re -f rawvideo -vcodec rawvideo -s 1280x720 -pix_fmt rgb24 -r 25 -i - -map 0:a -map 1:v -y -strict -2 -f mp4 -pix_fmt yuv420p out.mp4

    The file stream_audio.mp3 is a well formed mp3 file corresponding to the audio output of the output mp4 file. However, the sound in the output file out.mp4 is cut 3 seconds before the end.

    If I am trying to output any other format (for example avi), I do not observe this problem. The following command produces a well formed avi file.

    ffmpeg -i ./stream_audio.mp3 -re -f rawvideo -vcodec rawvideo -s 1280x720 -pix_fmt rgb24 -r 25 -i - -map 0:a -map 1:v -y -b 4096k -f avi -pix_fmt yuv420p out.avi

    I tried to reproduce the bug with the most simple ffmpeg command without passing by Python, but did not succeed.The closest I have done is the following :

    Building a raw video file with the correct specifications

    ffmpeg -i samplevideo.mp4 -f rawvideo -vcodec rawvideo -acodec none -s 1280x720 -pix_fmt rgb24 -r 25 samplevideo.raw

    Streaming the raw video file into the ffmpeg command

    cat samplevideo.raw | ffmpeg -i /tmp/stream_audio.mp3 -re -f rawvideo -vcodec rawvideo -s 1280x720 -pix_fmt rgb24 -r 25 -i - -map 0:a -map 1:v
    -y -strict -2 -f mp4 -pix_fmt yuv420p  -ss 00:00:00 -t 00:00:12 out.mp4

    Here is the version of ffmpeg I am using :

    ffmpeg version 3.1.9 Copyright (c) 2000-2017 the FFmpeg developers
     built with gcc 6.3.1 (GCC) 20161221 (Red Hat 6.3.1-1)
     configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic' --extra-ldflags='-Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld' --enable-bzlib --disable-crystalhd --enable-fontconfig --enable-frei0r --enable-gcrypt --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libcdio --enable-indev=jack --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libmp3lame --enable-nvenc --extra-cflags=-I/usr/include/nvenc --enable-openal --enable-opencl --enable-opengl --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-x11grab --enable-avfilter --enable-avresample --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-libmfx --enable-runtime-cpudetect
     libavutil      55. 28.100 / 55. 28.100
     libavcodec     57. 48.101 / 57. 48.101
     libavformat    57. 41.100 / 57. 41.100
     libavdevice    57.  0.101 / 57.  0.101
     libavfilter     6. 47.100 /  6. 47.100
     libavresample   3.  0.  0 /  3.  0.  0
     libswscale      4.  1.100 /  4.  1.100
     libswresample   2.  1.100 /  2.  1.100
     libpostproc    54.  0.100 / 54.  0.100
    Hyper fast Audio and Video encoder

    The file samplevideo.mp4 can be found here : sample videos, the stream_audio.mp3 file is a simple extraction of the audio track of the samplevideo.mp4 file :

    ffmpeg -i samplevideo.mp4 stream_audio.mp3

    Thanks for your help.

    p.s : Here are the different logs of the ffmpeg commands :

    Command generated by my Python script with mp4 :

    Input #0, mp3, from './stream_audio.mp3':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf57.41.100
     Duration: 00:00:29.59, start: 0.023021, bitrate: 128 kb/s
       Stream #0:0: Audio: mp3, 48000 Hz, stereo, s16p, 128 kb/s
       Metadata:
         encoder         : Lavc57.48
    Input #1, rawvideo, from 'pipe:':
     Duration: N/A, start: 0.000000, bitrate: 552960 kb/s
       Stream #1:0: Video: rawvideo (RGB[24] / 0x18424752), rgb24, 1280x720, 552960 kb/s, 25 tbr, 25 tbn, 25 tbc
    [libx264 @ 0xf5cb748ac0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 AVX2 LZCNT BMI2
    [libx264 @ 0xf5cb748ac0] profile High, level 3.1
    [libx264 @ 0xf5cb748ac0] 264 - core 148 r2708 86b7198 - H.264/MPEG-4 AVC codec - Copyleft 2003-2016 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
    [mp4 @ 0xf5cb7462a0] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
       Last message repeated 1 times
    Output #0, mp4, to 'out.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf57.41.100
       Stream #0:0: Audio: aac (LC) ([64][0][0][0] / 0x0040), 48000 Hz, stereo, fltp, 128 kb/s
       Metadata:
         encoder         : Lavc57.48.101 aac
       Stream #0:1: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 1280x720, q=-1--1, 25 fps, 12800 tbn, 25 tbc
       Metadata:
         encoder         : Lavc57.48.101 libx264
       Side data:
         cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
    Stream mapping:
     Stream #0:0 -> #0:0 (mp3 (native) -> aac (native))
     Stream #1:0 -> #0:1 (rawvideo (native) -> h264 (libx264))
    [rawvideo @ 0xf5cb722860] Thread message queue blocking; consider raising the thread_queue_size option (current value: 8)
    frame=   14 fps=0.0 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   0x    
    frame=   27 fps= 27 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   0x    
    frame=   40 fps= 26 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   0x    
    frame=   52 fps= 26 q=28.0 size=     113kB time=00:00:00.00 bitrate=N/A speed=   0x    
    frame=   65 fps= 26 q=28.0 size=     188kB time=00:00:00.49 bitrate=3145.8kbits/s speed=0.194x    
    frame=   77 fps= 25 q=28.0 size=     320kB time=00:00:01.00 bitrate=2615.3kbits/s speed=0.331x    
    frame=   90 fps= 25 q=28.0 size=     450kB time=00:00:01.51 bitrate=2431.3kbits/s speed=0.428x    
    frame=  103 fps= 25 q=28.0 size=     592kB time=00:00:02.00 bitrate=2418.9kbits/s speed=0.496x    
    frame=  116 fps= 25 q=28.0 size=     731kB time=00:00:02.52 bitrate=2376.1kbits/s speed=0.554x    
    frame=  128 fps= 25 q=28.0 size=     849kB time=00:00:03.02 bitrate=2295.6kbits/s speed=0.599x    
    frame=  141 fps= 25 q=28.0 size=     931kB time=00:00:03.54 bitrate=2153.0kbits/s speed=0.637x    
    frame=  153 fps= 25 q=28.0 size=     983kB time=00:00:04.03 bitrate=1996.7kbits/s speed=0.665x    
    frame=  166 fps= 25 q=28.0 size=    1067kB time=00:00:04.56 bitrate=1914.5kbits/s speed=0.695x    
    frame=  179 fps= 25 q=28.0 size=    1123kB time=00:00:05.04 bitrate=1824.8kbits/s speed=0.712x    
    frame=  191 fps= 25 q=28.0 size=    1213kB time=00:00:05.54 bitrate=1791.0kbits/s speed=0.732x    
    frame=  204 fps= 25 q=28.0 size=    1271kB time=00:00:06.05 bitrate=1718.5kbits/s speed=0.749x    
    frame=  217 fps= 25 q=28.0 size=    1346kB time=00:00:06.57 bitrate=1678.1kbits/s speed=0.764x    
    frame=  230 fps= 25 q=28.0 size=    1452kB time=00:00:07.08 bitrate=1678.9kbits/s speed=0.778x    
    frame=  242 fps= 25 q=28.0 size=    1567kB time=00:00:07.59 bitrate=1690.3kbits/s speed=0.79x    
    frame=  255 fps= 25 q=28.0 size=    1660kB time=00:00:08.08 bitrate=1682.4kbits/s speed=0.799x    
    frame=  267 fps= 25 q=28.0 size=    1739kB time=00:00:08.59 bitrate=1657.1kbits/s speed=0.81x    
    frame=  280 fps= 25 q=28.0 size=    1751kB time=00:00:09.08 bitrate=1578.1kbits/s speed=0.817x    
    frame=  291 fps= 24 q=-1.0 Lsize=    1864kB time=00:00:11.52 bitrate=1325.7kbits/s speed=0.954x    
    video:1707kB audio:149kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.437266%
    [aac @ 0xf5cb747540] Qavg: 202.422
    [libx264 @ 0xf5cb748ac0] frame I:2     Avg QP:15.83  size: 78710
    [libx264 @ 0xf5cb748ac0] frame P:183   Avg QP:21.13  size:  7293
    [libx264 @ 0xf5cb748ac0] frame B:106   Avg QP:26.82  size:  2406
    [libx264 @ 0xf5cb748ac0] consecutive B-frames: 47.8% 10.3%  2.1% 39.9%
    [libx264 @ 0xf5cb748ac0] mb I  I16..4: 22.1% 32.5% 45.4%
    [libx264 @ 0xf5cb748ac0] mb P  I16..4:  0.8%  1.4%  0.2%  P16..4: 25.3%  6.3%  3.1%  0.0%  0.0%    skip:62.9%
    [libx264 @ 0xf5cb748ac0] mb B  I16..4:  0.1%  0.2%  0.0%  B16..8: 39.0%  1.7%  0.2%  direct: 0.4%  skip:58.5%  L0:47.3% L1:49.6% BI: 3.1%
    [libx264 @ 0xf5cb748ac0] 8x8 transform intra:50.3% inter:57.9%
    [libx264 @ 0xf5cb748ac0] coded y,uvDC,uvAC intra: 49.5% 65.3% 23.0% inter: 7.8% 10.2% 0.5%
    [libx264 @ 0xf5cb748ac0] i16 v,h,dc,p: 30% 32% 11% 27%
    [libx264 @ 0xf5cb748ac0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 25% 21% 23%  4%  5%  7%  5%  5%  5%
    [libx264 @ 0xf5cb748ac0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 23% 15% 11%  8%  8%  9%  7% 12%  7%
    [libx264 @ 0xf5cb748ac0] i8c dc,h,v,p: 51% 20% 21%  8%
    [libx264 @ 0xf5cb748ac0] Weighted P-Frames: Y:0.0% UV:0.0%
    [libx264 @ 0xf5cb748ac0] ref P L0: 79.8% 11.4%  7.6%  1.2%
    [libx264 @ 0xf5cb748ac0] ref B L0: 96.9%  2.8%  0.4%
    [libx264 @ 0xf5cb748ac0] ref B L1: 97.7%  2.3%
    [libx264 @ 0xf5cb748ac0] kb/s:1200.72
    Exiting normally, received signal 15.

    Command generated by my Python script with avi :

    Input #0, mp3, from './stream_audio.mp3':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf57.41.100
     Duration: 00:00:29.59, start: 0.023021, bitrate: 128 kb/s
       Stream #0:0: Audio: mp3, 48000 Hz, stereo, s16p, 128 kb/s
       Metadata:
         encoder         : Lavc57.48
    Input #1, rawvideo, from 'pipe:':
     Duration: N/A, start: 0.000000, bitrate: 552960 kb/s
       Stream #1:0: Video: rawvideo (RGB[24] / 0x18424752), rgb24, 1280x720, 552960 kb/s, 25 tbr, 25 tbn, 25 tbc
    Please use -b:a or -b:v, -b is ambiguous
    [avi @ 0x82147c30e0] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
       Last message repeated 1 times
    Output #0, avi, to 'out.avi':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       ISFT            : Lavf57.41.100
       Stream #0:0: Audio: mp3 (libmp3lame) (U[0][0][0] / 0x0055), 48000 Hz, stereo, s16p
       Metadata:
         encoder         : Lavc57.48.101 libmp3lame
       Stream #0:1: Video: mpeg4 (FMP4 / 0x34504D46), yuv420p, 1280x720, q=2-31, 4096 kb/s, 25 fps, 25 tbn, 25 tbc
       Metadata:
         encoder         : Lavc57.48.101 mpeg4
       Side data:
         cpb: bitrate max/min/avg: 0/0/4096000 buffer size: 0 vbv_delay: -1
    Stream mapping:
     Stream #0:0 -> #0:0 (mp3 (native) -> mp3 (libmp3lame))
     Stream #1:0 -> #0:1 (rawvideo (native) -> mpeg4 (native))
    [rawvideo @ 0x821479f820] Thread message queue blocking; consider raising the thread_queue_size option (current value: 8)
    frame=   14 fps=0.0 q=2.6 size=     553kB time=00:00:00.56 bitrate=8082.6kbits/s speed= 1.1x    
    frame=   27 fps= 27 q=5.4 size=     858kB time=00:00:01.08 bitrate=6507.5kbits/s speed=1.06x    
    frame=   40 fps= 26 q=5.9 size=    1089kB time=00:00:01.60 bitrate=5574.9kbits/s speed=1.05x    
    frame=   52 fps= 26 q=5.5 size=    1332kB time=00:00:02.08 bitrate=5225.6kbits/s speed=1.03x    
    frame=   65 fps= 26 q=4.9 size=    1582kB time=00:00:02.60 bitrate=4985.6kbits/s speed=1.03x    
    frame=   78 fps= 26 q=4.3 size=    1816kB time=00:00:03.12 bitrate=4768.1kbits/s speed=1.03x    
    frame=   90 fps= 25 q=2.8 size=    2035kB time=00:00:03.60 bitrate=4631.7kbits/s speed=1.02x    
    frame=  103 fps= 25 q=2.3 size=    2288kB time=00:00:04.12 bitrate=4549.8kbits/s speed=1.02x    
    frame=  116 fps= 25 q=2.4 size=    2558kB time=00:00:04.64 bitrate=4516.3kbits/s speed=1.02x    
    frame=  128 fps= 25 q=2.3 size=    2835kB time=00:00:05.12 bitrate=4535.4kbits/s speed=1.01x    
    frame=  141 fps= 25 q=3.1 size=    3103kB time=00:00:05.64 bitrate=4506.6kbits/s speed=1.01x    
    frame=  154 fps= 25 q=2.8 size=    3381kB time=00:00:06.16 bitrate=4495.9kbits/s speed=1.01x    
    frame=  166 fps= 25 q=3.4 size=    3648kB time=00:00:06.64 bitrate=4494.9kbits/s speed=1.01x    
    frame=  179 fps= 25 q=3.3 size=    3894kB time=00:00:07.16 bitrate=4455.7kbits/s speed=1.01x    
    frame=  192 fps= 25 q=3.2 size=    4128kB time=00:00:07.68 bitrate=4402.9kbits/s speed=1.01x    
    frame=  204 fps= 25 q=3.4 size=    4404kB time=00:00:08.16 bitrate=4420.9kbits/s speed=1.01x    
    frame=  217 fps= 25 q=2.0 size=    4592kB time=00:00:08.68 bitrate=4334.0kbits/s speed=1.01x    
    frame=  230 fps= 25 q=2.0 size=    4657kB time=00:00:09.20 bitrate=4147.2kbits/s speed=1.01x    
    frame=  242 fps= 25 q=2.0 size=    4736kB time=00:00:09.68 bitrate=4007.9kbits/s speed=1.01x    
    frame=  255 fps= 25 q=2.0 size=    4830kB time=00:00:10.20 bitrate=3879.0kbits/s speed=1.01x    
    frame=  267 fps= 25 q=2.0 size=    4953kB time=00:00:10.68 bitrate=3799.5kbits/s speed=1.01x    
    frame=  280 fps= 25 q=2.0 size=    5093kB time=00:00:11.20 bitrate=3722.3kbits/s speed=1.01x    
    frame=  291 fps= 25 q=2.0 Lsize=    5209kB time=00:00:11.68 bitrate=3650.9kbits/s speed=1.01x    
    video:4998kB audio:183kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.542552%
    Exiting normally, received signal 15.

    Pure command line for mp4 format :

    Input #0, mp3, from './stream_audio.mp3':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf57.41.100
     Duration: 00:00:29.59, start: 0.023021, bitrate: 128 kb/s
       Stream #0:0: Audio: mp3, 48000 Hz, stereo, s16p, 128 kb/s
       Metadata:
         encoder         : Lavc57.48
    Input #1, rawvideo, from 'pipe:':
     Duration: N/A, start: 0.000000, bitrate: 552960 kb/s
       Stream #1:0: Video: rawvideo (RGB[24] / 0x18424752), rgb24, 1280x720, 552960 kb/s, 25 tbr, 25 tbn, 25 tbc
    [libx264 @ 0x75fc583aa0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 AVX2 LZCNT BMI2
    [libx264 @ 0x75fc583aa0] profile High, level 3.1
    [libx264 @ 0x75fc583aa0] 264 - core 148 r2708 86b7198 - H.264/MPEG-4 AVC codec - Copyleft 2003-2016 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
    [mp4 @ 0x75fc581280] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
       Last message repeated 1 times
    Output #0, mp4, to 'out.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf57.41.100
       Stream #0:0: Audio: aac (LC) ([64][0][0][0] / 0x0040), 48000 Hz, stereo, fltp, 128 kb/s
       Metadata:
         encoder         : Lavc57.48.101 aac
       Stream #0:1: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 1280x720, q=-1--1, 25 fps, 12800 tbn, 25 tbc
       Metadata:
         encoder         : Lavc57.48.101 libx264
       Side data:
         cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
    Stream mapping:
     Stream #0:0 -> #0:0 (mp3 (native) -> aac (native))
     Stream #1:0 -> #0:1 (rawvideo (native) -> h264 (libx264))
    [rawvideo @ 0x75fc55d840] Thread message queue blocking; consider raising the thread_queue_size option (current value: 8)
    frame=   14 fps=0.0 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   0x    
    frame=   27 fps= 27 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   0x    
    frame=   39 fps= 26 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   0x    
    frame=   52 fps= 26 q=28.0 size=     113kB time=00:00:00.00 bitrate=N/A speed=   0x    
    frame=   65 fps= 26 q=28.0 size=     188kB time=00:00:00.48 bitrate=3209.4kbits/s speed=0.191x    
    frame=   77 fps= 26 q=28.0 size=     320kB time=00:00:01.00 bitrate=2615.3kbits/s speed=0.332x    
    frame=   90 fps= 26 q=28.0 size=     450kB time=00:00:01.51 bitrate=2431.3kbits/s speed=0.43x    
    frame=  102 fps= 25 q=28.0 size=     591kB time=00:00:01.98 bitrate=2442.1kbits/s speed=0.493x    
    frame=  115 fps= 25 q=28.0 size=     731kB time=00:00:02.51 bitrate=2377.6kbits/s speed=0.556x    
    frame=  128 fps= 25 q=28.0 size=     845kB time=00:00:03.00 bitrate=2307.7kbits/s speed=0.596x    
    frame=  140 fps= 25 q=28.0 size=     930kB time=00:00:03.52 bitrate=2164.6kbits/s speed=0.636x    
    frame=  153 fps= 25 q=28.0 size=     983kB time=00:00:04.03 bitrate=1996.7kbits/s speed=0.668x    
    frame=  165 fps= 25 q=28.0 size=    1063kB time=00:00:04.52 bitrate=1925.2kbits/s speed=0.691x    
    frame=  178 fps= 25 q=28.0 size=    1122kB time=00:00:05.03 bitrate=1826.2kbits/s speed=0.714x    
    frame=  191 fps= 25 q=28.0 size=    1203kB time=00:00:05.52 bitrate=1783.6kbits/s speed=0.732x    
    frame=  203 fps= 25 q=28.0 size=    1270kB time=00:00:06.03 bitrate=1723.7kbits/s speed=0.749x    
    frame=  216 fps= 25 q=28.0 size=    1339kB time=00:00:06.52 bitrate=1680.5kbits/s speed=0.763x    
    frame=  228 fps= 25 q=28.0 size=    1443kB time=00:00:07.06 bitrate=1674.1kbits/s speed=0.779x    
    frame=  241 fps= 25 q=28.0 size=    1558kB time=00:00:07.55 bitrate=1690.0kbits/s speed=0.789x    
    frame=  254 fps= 25 q=28.0 size=    1654kB time=00:00:08.04 bitrate=1685.0kbits/s speed=0.799x    
    frame=  266 fps= 25 q=28.0 size=    1738kB time=00:00:08.55 bitrate=1664.6kbits/s speed=0.809x    
    frame=  279 fps= 25 q=28.0 size=    1750kB time=00:00:09.06 bitrate=1581.2kbits/s speed=0.818x    
    frame=  291 fps= 25 q=28.0 size=    1765kB time=00:00:09.55 bitrate=1512.7kbits/s speed=0.825x    
    frame=  300 fps= 25 q=28.0 size=    1779kB time=00:00:11.73 bitrate=1242.1kbits/s speed=0.971x    
    frame=  300 fps= 24 q=-1.0 Lsize=    1917kB time=00:00:12.01 bitrate=1307.2kbits/s speed=0.955x    
    video:1720kB audio:188kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.488004%
    [aac @ 0x75fc582520] Qavg: 221.585
    [libx264 @ 0x75fc583aa0] frame I:2     Avg QP:15.83  size: 78710
    [libx264 @ 0x75fc583aa0] frame P:185   Avg QP:21.02  size:  7259
    [libx264 @ 0x75fc583aa0] frame B:113   Avg QP:26.59  size:  2298
    [libx264 @ 0x75fc583aa0] consecutive B-frames: 46.3% 10.0%  1.0% 42.7%
    [libx264 @ 0x75fc583aa0] mb I  I16..4: 22.1% 32.5% 45.4%
    [libx264 @ 0x75fc583aa0] mb P  I16..4:  0.8%  1.4%  0.2%  P16..4: 25.2%  6.3%  3.1%  0.0%  0.0%    skip:63.0%
    [libx264 @ 0x75fc583aa0] mb B  I16..4:  0.1%  0.2%  0.0%  B16..8: 37.3%  1.6%  0.2%  direct: 0.4%  skip:60.2%  L0:47.3% L1:49.6% BI: 3.0%
    [libx264 @ 0x75fc583aa0] 8x8 transform intra:50.5% inter:58.1%
    [libx264 @ 0x75fc583aa0] coded y,uvDC,uvAC intra: 49.4% 65.2% 22.9% inter: 7.7% 10.0% 0.5%
    [libx264 @ 0x75fc583aa0] i16 v,h,dc,p: 29% 32% 11% 28%
    [libx264 @ 0x75fc583aa0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 26% 21% 23%  4%  5%  6%  5%  5%  5%
    [libx264 @ 0x75fc583aa0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 23% 15% 11%  8%  8%  9%  7% 12%  7%
    [libx264 @ 0x75fc583aa0] i8c dc,h,v,p: 51% 20% 21%  8%
    [libx264 @ 0x75fc583aa0] Weighted P-Frames: Y:0.0% UV:0.0%
    [libx264 @ 0x75fc583aa0] ref P L0: 79.7% 11.4%  7.7%  1.2%
    [libx264 @ 0x75fc583aa0] ref B L0: 96.8%  2.9%  0.4%
    [libx264 @ 0x75fc583aa0] ref B L1: 97.7%  2.3%
    [libx264 @ 0x75fc583aa0] kb/s:1173.39