
Recherche avancée
Autres articles (50)
-
MediaSPIP v0.2
21 juin 2013, parMediaSPIP 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, parPar 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, parMediaSPIP 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 user2522885I'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
 built with gcc 10.2.0 (Rev6, Built by MSYS2 project)
 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
 libavutil 56. 70.100 / 56. 70.100
 libavcodec 58.134.100 / 58.134.100
 libavformat 58. 76.100 / 58. 76.100
 libavdevice 58. 13.100 / 58. 13.100
 libavfilter 7.110.100 / 7.110.100
 libswscale 5. 9.100 / 5. 9.100
 libswresample 3. 9.100 / 3. 9.100
 libpostproc 55. 9.100 / 55. 9.100
Encoder h264_nvenc [NVIDIA NVENC H.264 encoder]:
 General capabilities: dr1 delay hardware
 Threading capabilities: none
 Supported hardware devices: cuda cuda d3d11va d3d11va
 Supported pixel formats: yuv420p nv12 p010le yuv444p p016le yuv444p16le bgr0 rgb0 cuda d3d11
h264_nvenc AVOptions:
 -preset <int> E..V....... Set the encoding preset (from 0 to 18) (default p4)
 default 0 E..V.......
 slow 1 E..V....... hq 2 passes
 medium 2 E..V....... hq 1 pass
 fast 3 E..V....... hp 1 pass
 hp 4 E..V.......
 hq 5 E..V.......
 bd 6 E..V.......
 ll 7 E..V....... low latency
 llhq 8 E..V....... low latency hq
 llhp 9 E..V....... low latency hp
 lossless 10 E..V.......
 losslesshp 11 E..V.......
 p1 12 E..V....... fastest (lowest quality)
 p2 13 E..V....... faster (lower quality)
 p3 14 E..V....... fast (low quality)
 p4 15 E..V....... medium (default)
 p5 16 E..V....... slow (good quality)
 p6 17 E..V....... slower (better quality)
 p7 18 E..V....... slowest (best quality)
 -tune <int> E..V....... Set the encoding tuning info (from 1 to 4) (default hq)
 hq 1 E..V....... High quality
 ll 2 E..V....... Low latency
 ull 3 E..V....... Ultra low latency
 lossless 4 E..V....... Lossless
 -profile <int> E..V....... Set the encoding profile (from 0 to 3) (default main)
 baseline 0 E..V.......
 main 1 E..V.......
 high 2 E..V.......
 high444p 3 E..V.......
 -level <int> E..V....... Set the encoding level restriction (from 0 to 62) (default auto)
 auto 0 E..V.......
 1 10 E..V.......
 1.0 10 E..V.......
 1b 9 E..V.......
 1.0b 9 E..V.......
 1.1 11 E..V.......
 1.2 12 E..V.......
 1.3 13 E..V.......
 2 20 E..V.......
 2.0 20 E..V.......
 2.1 21 E..V.......
 2.2 22 E..V.......
 3 30 E..V.......
 3.0 30 E..V.......
 3.1 31 E..V.......
 3.2 32 E..V.......
 4 40 E..V.......
 4.0 40 E..V.......
 4.1 41 E..V.......
 4.2 42 E..V.......
 5 50 E..V.......
 5.0 50 E..V.......
 5.1 51 E..V.......
 5.2 52 E..V.......
 6.0 60 E..V.......
 6.1 61 E..V.......
 6.2 62 E..V.......
 -rc <int> E..V....... Override the preset rate-control (from -1 to INT_MAX) (default -1)
 constqp 0 E..V....... Constant QP mode
 vbr 1 E..V....... Variable bitrate mode
 cbr 2 E..V....... Constant bitrate mode
 vbr_minqp 8388612 E..V....... Variable bitrate mode with MinQP (deprecated)
 ll_2pass_quality 8388616 E..V....... Multi-pass optimized for image quality (deprecated)
 ll_2pass_size 8388624 E..V....... Multi-pass optimized for constant frame size (deprecated)
 vbr_2pass 8388640 E..V....... Multi-pass variable bitrate mode (deprecated)
 cbr_ld_hq 8388616 E..V....... Constant bitrate low delay high quality mode
 cbr_hq 8388624 E..V....... Constant bitrate high quality mode
 vbr_hq 8388640 E..V....... Variable bitrate high quality mode
 -rc-lookahead <int> E..V....... Number of frames to look ahead for rate-control (from 0 to INT_MAX) (default 0)
 -surfaces <int> E..V....... Number of concurrent surfaces (from 0 to 64) (default 0)
 -cbr <boolean> E..V....... Use cbr encoding mode (default false)
 -2pass <boolean> E..V....... Use 2pass encoding mode (default auto)
 -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)
 any -1 E..V....... Pick the first device available
 list -2 E..V....... List the available devices
 -delay <int> E..V....... Delay frame output by the given amount of frames (from 0 to INT_MAX) (default INT_MAX)
 -no-scenecut <boolean> E..V....... When lookahead is enabled, set this to 1 to disable adaptive I-frame insertion at scene cuts (default false)
 -forced-idr <boolean> E..V....... If forcing keyframes, force them as IDR frames. (default false)
 -b_adapt <boolean> E..V....... When lookahead is enabled, set this to 0 to disable adaptive B-frame decision (default true)
 -spatial-aq <boolean> E..V....... set to 1 to enable Spatial AQ (default false)
 -spatial_aq <boolean> E..V....... set to 1 to enable Spatial AQ (default false)
 -temporal-aq <boolean> E..V....... set to 1 to enable Temporal AQ (default false)
 -temporal_aq <boolean> E..V....... set to 1 to enable Temporal AQ (default false)
 -zerolatency <boolean> E..V....... Set 1 to indicate zero latency operation (no reordering delay) (default false)
 -nonref_p <boolean> E..V....... Set this to 1 to enable automatic insertion of non-reference P-frames (default false)
 -strict_gop <boolean> E..V....... Set 1 to minimize GOP-to-GOP rate fluctuations (default false)
 -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)
 -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)
 -aud <boolean> E..V....... Use access unit delimiters (default false)
 -bluray-compat <boolean> E..V....... Bluray compatibility workarounds (default false)
 -init_qpP <int> E..V....... Initial QP value for P frame (from -1 to 51) (default -1)
 -init_qpB <int> E..V....... Initial QP value for B frame (from -1 to 51) (default -1)
 -init_qpI <int> E..V....... Initial QP value for I frame (from -1 to 51) (default -1)
 -qp <int> E..V....... Constant quantization parameter rate control method (from -1 to 51) (default -1)
 -weighted_pred <int> E..V....... Set 1 to enable weighted prediction (from 0 to 1) (default 0)
 -coder <int> E..V....... Coder type (from -1 to 2) (default default)
 default -1 E..V.......
 auto 0 E..V.......
 cabac 1 E..V.......
 cavlc 2 E..V.......
 ac 1 E..V.......
 vlc 2 E..V.......
 -b_ref_mode <int> E..V....... Use B frames as references (from 0 to 2) (default disabled)
 disabled 0 E..V....... B frames will not be used for reference
 each 1 E..V....... Each B frame will be used for reference
 middle 2 E..V....... Only (number of B frames)/2 will be used for reference
 -a53cc <boolean> E..V....... Use A53 Closed Captions (if available) (default true)
 -dpb_size <int> E..V....... Specifies the DPB size used for encoding (0 means automatic) (from 0 to INT_MAX) (default 0)
 -multipass <int> E..V....... Set the multipass encoding (from 0 to 2) (default disabled)
 disabled 0 E..V....... Single Pass
 qres 1 E..V....... Two Pass encoding is enabled where first Pass is quarter resolution
 fullres 2 E..V....... Two Pass encoding is enabled where first Pass is full resolution
 -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)
</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>


-
ffmpeg ; opus encoded sound in webm does not work with ffplay or YouTube, only VLC [on hold]
2 août 2017, par MockarutanI’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/HTuc0g8KSetup :
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(&outctx, NULL, "webm", filename);
if (ret < 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 < 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 < 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)) < 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(&dst_data, &dst_linesize, dst_nb_channels, dst_nb_samples, sample_fmt, 0);
aud_frame_counter = 0;
if (ret < 0)
return ret;
av_dump_format(outctx, 0, filename, 1);
if (!(outctx->oformat->flags & AVFMT_NOFILE))
{
ret = avio_open(&outctx->pb, filename, AVIO_FLAG_WRITE);
if (ret < 0)
{
return ret;
}
}
ret = avformat_write_header(outctx, NULL);
if (ret < 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(&pkt);
pkt.data = NULL;
pkt.size = 0;
while (true)
{
ret = avcodec_receive_packet(codec_context, &pkt);
if (!ret)
{
pkt.stream_index = stream->index;
av_packet_rescale_ts(&pkt, time_base, stream->time_base);
av_interleaved_write_frame(local_outctx, &pkt);
av_packet_unref(&pkt);
}
if (ret == AVERROR(EAGAIN))
break;
else if (ret == AVERROR_EOF)
break;
else if (ret < 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(&aud_frame->data[0]);
ret = av_samples_alloc(aud_frame->data, &dst_linesize, dst_nb_channels, dst_nb_samples, sample_fmt, 1);
if (ret < 0)
return ret;
max_dst_nb_samples = dst_nb_samples;
}
ret = swr_convert(audio_swr_ctx, dst_data, dst_nb_samples, (const uint8_t **)&aud_sample, src_nb_samples);
if (ret < 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 < 0)
return ret;
return 0;
}
int finish_audio_encoding()
{
int ret = avcodec_send_frame(aud_codec_context, NULL);
if (ret < 0)
return ret;
ret = process_encode_loop(outctx, aud_codec_context, audio_st, conv_time_base, true);
if (ret < 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 < nb_samples; i++) {
*dst = sin(c * *t);
for (j = 1; j < 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(&src_data, &src_samples_linesize, src_channels,
src_nb_samples, AV_SAMPLE_FMT_FLT, 0);
for (size_t i = 0; i < frame_rate * sec; i++)
{
fill_samples((float *)src_data[0], src_nb_samples, src_channels, sample_rate, &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.pngIn 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 redantlabsI 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.mp4Here 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 encoderThe 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