
Recherche avancée
Médias (91)
-
Spoon - Revenge !
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
My Morning Jacket - One Big Holiday
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Zap Mama - Wadidyusay ?
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
David Byrne - My Fair Lady
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Beastie Boys - Now Get Busy
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Granite de l’Aber Ildut
9 septembre 2011, par
Mis à jour : Septembre 2011
Langue : français
Type : Texte
Autres articles (47)
-
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 (7787)
-
Adding unregistered SEI data to every frame (ffmpeg / C++ / Windows)
14 novembre 2022, par Diego SatizabalI am working with FFMPEG 5.2 using it with C++ in Visual Studio. What I require to do is to add a SEI Unregistered message (5) to every frame of a stream, for that, I am demuxing a MP4 container, then taking the video stream, decoding every packet to get a frame, then add SEI message to every frame, encoding and remuxing a new video stream (video only) and saving the new stream to a separate container.


To add the SEI data I use this specific code :


const char* sideDataMsg = "139FB1A9446A4DEC8CBF65B1E12D2CFDHola";;
 size_t sideDataSize = sizeof(sideDataMsg);
 AVBufferRef* sideDataBuffer = av_buffer_alloc(20);
 sideDataBuffer->data = (uint8_t*)sideDataMsg;

 AVFrameSideData* sideData = av_frame_new_side_data_from_buf(frame, AV_FRAME_DATA_SEI_UNREGISTERED, sideDataBuffer);



regarding the format of the sideDataMsg I have tried several apporaches including setting it like : "139FB1A9-446A-4DEC-8CBF65B1E12D2CFD+Hola !" which is indicated to be the required format in H.264 specs, however, even when in memory I see the SEI data is added to every frame as we observe as follows :




the resulting stream/container does not shows the expected data, below my entire code, this is mostly code taken/adapted from doc/examples folder of FFMPEG library.


BTW : I also tried setting AVCodecContext->export_side_data to different bit values (0 to FF) understanding that this can indicate the encoder to export the SEI data in every frame to be encoded but no luck.


I appreciate in advance any help from you !


// FfmpegTests.cpp : This file contains the 'main' function. Program execution begins and ends there.
//
#pragma warning(disable : 4996)
extern "C"
{
#include "libavformat/avformat.h"
#include "libavcodec/avcodec.h"
#include "libavfilter/avfilter.h"
#include "libavutil/opt.h"
#include "libavutil/avutil.h"
#include "libavutil/error.h"
#include "libavfilter/buffersrc.h"
#include "libavfilter/buffersink.h"
#include "libswscale/swscale.h"
}

#pragma comment(lib, "avcodec.lib")
#pragma comment(lib, "avformat.lib")
#pragma comment(lib, "avfilter.lib")
#pragma comment(lib, "avutil.lib")
#pragma comment(lib, "swscale.lib")

#include <cstdio>
#include <iostream>
#include <chrono>
#include <thread>


static AVFormatContext* fmt_ctx;
static AVCodecContext* dec_ctx;
AVFilterGraph* filter_graph;
AVFilterContext* buffersrc_ctx;
AVFilterContext* buffersink_ctx;
static int video_stream_index = -1;

const char* filter_descr = "scale=78:24,transpose=cclock";
static int64_t last_pts = AV_NOPTS_VALUE;


// FOR SEI NAL INSERTION
const AVOutputFormat* ofmt = NULL;
AVFormatContext* ofmt_ctx = NULL;
int stream_index = 0;
int* stream_mapping = NULL;
int stream_mapping_size = 0;
int FRAMES_COUNT = 0;
const AVCodec* codec_enc;
AVCodecContext* c = NULL;

static int open_input_file(const char* filename)
{
 const AVCodec* dec;
 int ret;

 if ((ret = avformat_open_input(&fmt_ctx, filename, NULL, NULL)) < 0) {
 av_log(NULL, AV_LOG_ERROR, "Cannot open input file\n");
 return ret;
 }

 if ((ret = avformat_find_stream_info(fmt_ctx, NULL)) < 0) {
 av_log(NULL, AV_LOG_ERROR, "Cannot find stream information\n");
 return ret;
 }

 /* select the video stream */
 ret = av_find_best_stream(fmt_ctx, AVMEDIA_TYPE_VIDEO, -1, -1, &dec, 0);
 if (ret < 0) {
 av_log(NULL, AV_LOG_ERROR, "Cannot find a video stream in the input file\n");
 return ret;
 }
 video_stream_index = ret;

 /* create decoding context */
 dec_ctx = avcodec_alloc_context3(dec);
 if (!dec_ctx)
 return AVERROR(ENOMEM);
 avcodec_parameters_to_context(dec_ctx, fmt_ctx->streams[video_stream_index]->codecpar);

 FRAMES_COUNT = fmt_ctx->streams[video_stream_index]->nb_frames;

 /* init the video decoder */
 if ((ret = avcodec_open2(dec_ctx, dec, NULL)) < 0) {
 av_log(NULL, AV_LOG_ERROR, "Cannot open video decoder\n");
 return ret;
 }

 return 0;
}

static int init_filters(const char* filters_descr)
{
 char args[512];
 int ret = 0;
 const AVFilter* buffersrc = avfilter_get_by_name("buffer");
 const AVFilter* buffersink = avfilter_get_by_name("buffersink");
 AVFilterInOut* outputs = avfilter_inout_alloc();
 AVFilterInOut* inputs = avfilter_inout_alloc();
 AVRational time_base = fmt_ctx->streams[video_stream_index]->time_base;
 enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE };

 filter_graph = avfilter_graph_alloc();
 if (!outputs || !inputs || !filter_graph) {
 ret = AVERROR(ENOMEM);
 goto end;
 }

 /* buffer video source: the decoded frames from the decoder will be inserted here. */
 snprintf(args, sizeof(args),
 "video_size=%dx%d:pix_fmt=%d:time_base=%d/%d:pixel_aspect=%d/%d",
 dec_ctx->width, dec_ctx->height, dec_ctx->pix_fmt,
 time_base.num, time_base.den,
 dec_ctx->sample_aspect_ratio.num, dec_ctx->sample_aspect_ratio.den);

 ret = avfilter_graph_create_filter(&buffersrc_ctx, buffersrc, "in",
 args, NULL, filter_graph);
 if (ret < 0) {
 av_log(NULL, AV_LOG_ERROR, "Cannot create buffer source\n");
 goto end;
 }

 /* buffer video sink: to terminate the filter chain. */
 ret = avfilter_graph_create_filter(&buffersink_ctx, buffersink, "out",
 NULL, NULL, filter_graph);
 if (ret < 0) {
 av_log(NULL, AV_LOG_ERROR, "Cannot create buffer sink\n");
 goto end;
 }

 ret = av_opt_set_int_list(buffersink_ctx, "pix_fmts", pix_fmts, AV_PIX_FMT_NONE, AV_OPT_SEARCH_CHILDREN);
 if (ret < 0) {
 av_log(NULL, AV_LOG_ERROR, "Cannot set output pixel format\n");
 goto end;
 }

 outputs->name = av_strdup("in");
 outputs->filter_ctx = buffersrc_ctx;
 outputs->pad_idx = 0;
 outputs->next = NULL;

 inputs->name = av_strdup("out");
 inputs->filter_ctx = buffersink_ctx;
 inputs->pad_idx = 0;
 inputs->next = NULL;

 if ((ret = avfilter_graph_parse_ptr(filter_graph, filters_descr,
 &inputs, &outputs, NULL)) < 0)
 goto end;

 if ((ret = avfilter_graph_config(filter_graph, NULL)) < 0)
 goto end;

end:
 avfilter_inout_free(&inputs);
 avfilter_inout_free(&outputs);

 return ret;
}

static void display_frame(const AVFrame* frame, AVRational time_base)
{
 int x, y;
 uint8_t* p0, * p;
 int64_t delay;

 if (frame->pts != AV_NOPTS_VALUE) {
 if (last_pts != AV_NOPTS_VALUE) {
 /* sleep roughly the right amount of time;
 * usleep is in microseconds, just like AV_TIME_BASE. */
 AVRational timeBaseQ;
 timeBaseQ.num = 1;
 timeBaseQ.den = AV_TIME_BASE;

 delay = av_rescale_q(frame->pts - last_pts, time_base, timeBaseQ);
 if (delay > 0 && delay < 1000000)
 std::this_thread::sleep_for(std::chrono::microseconds(delay));
 }
 last_pts = frame->pts;
 }

 /* Trivial ASCII grayscale display. */
 p0 = frame->data[0];
 puts("\033c");
 for (y = 0; y < frame->height; y++) {
 p = p0;
 for (x = 0; x < frame->width; x++)
 putchar(" .-+#"[*(p++) / 52]);
 putchar('\n');
 p0 += frame->linesize[0];
 }
 fflush(stdout);
}

int save_frame_as_jpeg(AVCodecContext* pCodecCtx, AVFrame* pFrame, int FrameNo) {
 int ret = 0;

 const AVCodec* jpegCodec = avcodec_find_encoder(AV_CODEC_ID_MJPEG);
 if (!jpegCodec) {
 return -1;
 }
 AVCodecContext* jpegContext = avcodec_alloc_context3(jpegCodec);
 if (!jpegContext) {
 return -1;
 }

 jpegContext->pix_fmt = pCodecCtx->pix_fmt;
 jpegContext->height = pFrame->height;
 jpegContext->width = pFrame->width;
 jpegContext->time_base = AVRational{ 1,10 };
 jpegContext->strict_std_compliance = FF_COMPLIANCE_UNOFFICIAL;

 ret = avcodec_open2(jpegContext, jpegCodec, NULL);
 if (ret < 0) {
 return ret;
 }
 FILE* JPEGFile;
 char JPEGFName[256];

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

 int gotFrame;

 ret = avcodec_send_frame(jpegContext, pFrame);
 if (ret < 0) {
 return ret;
 }

 ret = avcodec_receive_packet(jpegContext, &packet);
 if (ret < 0) {
 return ret;
 }

 sprintf(JPEGFName, "c:\\folder\\dvr-%06d.jpg", FrameNo);
 JPEGFile = fopen(JPEGFName, "wb");
 fwrite(packet.data, 1, packet.size, JPEGFile);
 fclose(JPEGFile);

 av_packet_unref(&packet);
 avcodec_close(jpegContext);
 return 0;
}

int initialize_output_stream(AVFormatContext* input_fctx, const char* out_filename) {
 int ret = 0;

 avformat_alloc_output_context2(&ofmt_ctx, NULL, NULL, out_filename);
 if (!ofmt_ctx) {
 fprintf(stderr, "Could not create output context\n");
 return -1;
 }

 stream_mapping_size = input_fctx->nb_streams;
 stream_mapping = (int*)av_calloc(stream_mapping_size, sizeof(*stream_mapping));
 if (!stream_mapping) {
 ret = AVERROR(ENOMEM);
 return -1;
 }

 for (int i = 0; i < input_fctx->nb_streams; i++) {
 AVStream* out_stream;
 AVStream* in_stream = input_fctx->streams[i];
 AVCodecParameters* in_codecpar = in_stream->codecpar;

 if (in_codecpar->codec_type != AVMEDIA_TYPE_AUDIO &&
 in_codecpar->codec_type != AVMEDIA_TYPE_VIDEO &&
 in_codecpar->codec_type != AVMEDIA_TYPE_SUBTITLE) {
 stream_mapping[i] = -1;
 continue;
 }

 stream_mapping[i] = stream_index++;

 out_stream = avformat_new_stream(ofmt_ctx, NULL);
 if (!out_stream) {
 fprintf(stderr, "Failed allocating output stream\n");
 ret = AVERROR_UNKNOWN;
 return ret;
 }

 ret = avcodec_parameters_copy(out_stream->codecpar, in_codecpar);
 if (ret < 0) {
 fprintf(stderr, "Failed to copy codec parameters\n");
 return -1;
 }
 out_stream->codecpar->codec_tag = 0;
 }

 ret = avio_open(&ofmt_ctx->pb, out_filename, AVIO_FLAG_WRITE);
 if (ret < 0) {
 fprintf(stderr, "Could not open output file '%s'", out_filename);
 return -1;
 }

 ret = avformat_write_header(ofmt_ctx, NULL);
 if (ret < 0) {
 fprintf(stderr, "Error occurred when opening output file\n");
 return -1;
 }

 // ENCODER
 codec_enc = avcodec_find_encoder_by_name("libx264");
 if (!codec_enc) {
 fprintf(stderr, "Codec '%s' not found\n", "libx264");
 return -1;
 }

 c = avcodec_alloc_context3(codec_enc);
 if (!c) {
 fprintf(stderr, "Could not allocate video codec context\n");
 exit(1);
 }

 c->bit_rate = dec_ctx->bit_rate;
 c->width = dec_ctx->width;
 c->height = dec_ctx->height;
 c->time_base = dec_ctx->time_base;
 c->framerate = dec_ctx->framerate;
 c->gop_size = dec_ctx->gop_size;
 c->max_b_frames = dec_ctx->max_b_frames;
 c->pix_fmt = dec_ctx->pix_fmt;
 c->time_base = AVRational{ 1,1 };
 c->export_side_data = 255;

 if (codec_enc->id == AV_CODEC_ID_H264)
 av_opt_set(c->priv_data, "preset", "slow", 0);

 ret = avcodec_open2(c, codec_enc, NULL);
 if (ret < 0) {
 fprintf(stderr, "Could not open codec\n");
 return ret;
 }
}

int add_frame_output_stream(AVFrame* frame) {
 int ret;
 AVPacket* pkt;
 pkt = av_packet_alloc();

 ret = avcodec_send_frame(c, frame);
 if (ret < 0) {
 fprintf(stderr, "Error sending a frame for decoding\n");
 return ret;
 }

 while (ret >= 0) {
 ret = avcodec_receive_packet(c, pkt);
 if (ret == AVERROR(EAGAIN) || ret == AVERROR_EOF)
 return 0;
 else if (ret < 0) {
 fprintf(stderr, "Error during decoding\n");
 return -1;
 }

 pkt->stream_index = stream_mapping[pkt->stream_index];
 ret = av_interleaved_write_frame(ofmt_ctx, pkt);

 av_packet_unref(pkt);
 }

 return 0;
}

int main(int argc, char** argv)
{
 AVFrame* frame;
 AVFrame* filt_frame;
 AVPacket* packet;
 int ret, count = 0;

 // FOR SEI NAL INSERTION
 const char* out_filename;

 if (argc < 2) {
 fprintf(stderr, "Usage: %s file\n", argv[0]);
 exit(1);
 }

 frame = av_frame_alloc();
 filt_frame = av_frame_alloc();
 packet = av_packet_alloc();

 if (!frame || !filt_frame || !packet) {
 fprintf(stderr, "Could not allocate frame or packet\n");
 exit(1);
 }

 if ((ret = open_input_file(argv[1])) < 0)
 goto end;
 if ((ret = init_filters(filter_descr)) < 0)
 goto end;

 out_filename = argv[2];
 initialize_output_stream(fmt_ctx, out_filename);

 while (count < FRAMES_COUNT)
 {
 if ((ret = av_read_frame(fmt_ctx, packet)) < 0)
 break;

 if (packet->stream_index == video_stream_index) {
 ret = avcodec_send_packet(dec_ctx, packet);
 if (ret < 0) {
 av_log(NULL, AV_LOG_ERROR, "Error while sending a packet to the decoder\n");
 break;
 }

 while (ret >= 0)
 {
 ret = avcodec_receive_frame(dec_ctx, frame);
 if (ret == AVERROR(EAGAIN) || ret == AVERROR_EOF) {
 break;
 }
 else if (ret < 0) {
 av_log(NULL, AV_LOG_ERROR, "Error while receiving a frame from the decoder\n");
 goto end;
 }

 frame->pts = frame->best_effort_timestamp;

 /* push the decoded frame into the filtergraph */
 if (av_buffersrc_add_frame_flags(buffersrc_ctx, frame, AV_BUFFERSRC_FLAG_KEEP_REF) < 0) {
 av_log(NULL, AV_LOG_ERROR, "Error while feeding the filtergraph\n");
 break;
 }

 /* pull filtered frames from the filtergraph */
 while (1) {
 ret = av_buffersink_get_frame(buffersink_ctx, filt_frame);
 if (ret == AVERROR(EAGAIN) || ret == AVERROR_EOF)
 break;
 if (ret < 0)
 goto end;
 // display_frame(filt_frame, buffersink_ctx->inputs[0]->time_base);
 av_frame_unref(filt_frame);

 /* ret = save_frame_as_jpeg(dec_ctx, frame, dec_ctx->frame_number);
 if (ret < 0)
 goto end; */
 //2. Add metadata to frames SEI

 ret = av_frame_make_writable(frame);
 if (ret < 0)
 exit(1);

 char sideDataSei[43] = "139FB1A9446A4DEC8CBF65B1E12D2CFDHola";
 const char* sideDataMsg = "139FB1A9446A4DEC8CBF65B1E12D2CFDHola";
 size_t sideDataSize = sizeof(sideDataMsg);
 AVBufferRef* sideDataBuffer = av_buffer_alloc(20);
 sideDataBuffer->data = (uint8_t*)sideDataMsg;

 AVFrameSideData* sideData = av_frame_new_side_data_from_buf(frame, AV_FRAME_DATA_SEI_UNREGISTERED, sideDataBuffer);

 ret = add_frame_output_stream(frame);
 if (ret < 0)
 goto end;
 }
 av_frame_unref(frame);
 count++;
 }
 }
 av_packet_unref(packet);
 }

 av_write_trailer(ofmt_ctx);

end:
 avfilter_graph_free(&filter_graph);
 avcodec_free_context(&dec_ctx);
 avformat_close_input(&fmt_ctx);
 av_frame_free(&frame);
 av_frame_free(&filt_frame);
 av_packet_free(&packet);

 if (ret < 0 && ret != AVERROR_EOF) {
 char errBuf[AV_ERROR_MAX_STRING_SIZE]{ 0 };
 int res = av_strerror(ret, errBuf, AV_ERROR_MAX_STRING_SIZE);
 fprintf(stderr, "Error: %s\n", errBuf);
 exit(1);
 }

 exit(0);
}
</thread></chrono></iostream></cstdio>


-
Use ffmpeg to extract picture from m4v file
31 octobre 2017, par BrianI used a program called MetaZ on my mac to tag all my video files (m4v). I am now trying to use these m4v files in Kodi which requires .nfo files and separate picture files for movie posters, etc. I want to extract the picture that is already in the m4v file.
When I use ffprobe -show_streams, I can see that index4 is a png file (codec_name=png). How do I extract it ? I believe ffmpeg can do it, but can’t figure out how.
Here is the output from ffprobe :
Brians-Mac-mini:PythonScript brianjhille$ ffprobe -show_streams badwords.m4v
ffprobe version N-88046-g0cb8369-tessus Copyright (c) 2007-2017 the FFmpeg developers
built with Apple LLVM version 8.0.0 (clang-800.0.42.1)
configuration: --cc=/usr/bin/clang --prefix=/opt/ffmpeg --extra-version=tessus --enable-avisynth --enable-fontconfig --enable-gpl --enable-libass --enable-libbluray --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopus --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzmq --enable-libzvbi --enable-version3 --pkg-config-flags=--static --disable-ffplay
libavutil 56. 0.100 / 56. 0.100
libavcodec 58. 0.100 / 58. 0.100
libavformat 58. 0.100 / 58. 0.100
libavdevice 58. 0.100 / 58. 0.100
libavfilter 7. 0.100 / 7. 0.100
libswscale 5. 0.100 / 5. 0.100
libswresample 3. 0.100 / 3. 0.100
libpostproc 55. 0.100 / 55. 0.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fd67b002a00] stream 0, timescale not set
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'badwords.m4v':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42isomavc1
creation_time : 2014-10-20T13:01:06.000000Z
iTunEXTC : mpaa|R|400|
title : Bad Words
artist : Jason Bateman, Kathryn Hahn, Allison Janney, Philip Baker Hall, Rohan Chand, Ben Falcone, Patricia Belcher, Beth Grant, Rachel Harris, Steve Witting, Greg Cromer
date : 2013-09-06T11:00:00Z
track : 0
disc : 0
season_number : 0
episode_sort : 0
description : A spelling bee loser sets out to exact revenge by finding a loophole and attempting to win as an adult.
synopsis : A spelling bee loser sets out to exact revenge by finding a loophole and attempting to win as an adult.
encoder : HandBrake 0.9.9 2013052900
hd_video : 0
media_type : 9
genre : Comedy
iTunMOVI : <?xml version="1.0" encoding="UTF-8"?>
:
: <plist version="1.0">
: <dict>
: <key>cast</key>
: <array>
: <dict>
: <key>name</key>
: <string>Jason Bateman</string>
: </dict>
: <dict>
: <key>name</key>
: <string>Kathryn Hahn</string>
: </dict>
: <dict>
: <key>name</key>
: <string>Allison Janney</string>
: </dict>
: <dict>
: <key>name</key>
: <string>Philip Baker Hall</string>
: </dict>
: <dict>
: <key>name</key>
: <string>Rohan Chand</string>
: </dict>
: <dict>
: <key>name</key>
: <string>Ben Falcone</string>
: </dict>
: <dict>
: <key>name</key>
: <string>Patricia Belcher</string>
: </dict>
: <dict>
: <key>name</key>
: <string>Beth Grant</string>
: </dict>
: <dict>
: <key>name</key>
: <string>Rachel Harris</string>
: </dict>
: <dict>
: <key>name</key>
: <string>Steve Witting</string>
: </dict>
: <dict>
: <key>name</key>
: <string>Greg Cromer</string>
: </dict>
: </array>
: </dict>
: </plist>
:
Duration: 01:29:02.84, start: 0.000000, bitrate: 1339 kb/s
Chapter #0:0: start 0.000000, end 348.214000
Metadata:
title : Chapter 1
Chapter #0:1: start 348.214000, end 676.542000
Metadata:
title : Chapter 2
Chapter #0:2: start 676.542000, end 860.058000
Metadata:
title : Chapter 3
Chapter #0:3: start 860.058000, end 1171.836000
Metadata:
title : Chapter 4
Chapter #0:4: start 1171.836000, end 1441.839000
Metadata:
title : Chapter 5
Chapter #0:5: start 1441.839000, end 1632.129000
Metadata:
title : Chapter 6
Chapter #0:6: start 1632.129000, end 1925.422000
Metadata:
title : Chapter 7
Chapter #0:7: start 1925.422000, end 2167.030000
Metadata:
title : Chapter 8
Chapter #0:8: start 2167.030000, end 2409.605000
Metadata:
title : Chapter 9
Chapter #0:9: start 2409.605000, end 2748.276000
Metadata:
title : Chapter 10
Chapter #0:10: start 2748.276000, end 2917.945000
Metadata:
title : Chapter 11
Chapter #0:11: start 2917.945000, end 3309.502000
Metadata:
title : Chapter 12
Chapter #0:12: start 3309.502000, end 3634.660000
Metadata:
title : Chapter 13
Chapter #0:13: start 3634.660000, end 3942.434000
Metadata:
title : Chapter 14
Chapter #0:14: start 3942.434000, end 4101.626000
Metadata:
title : Chapter 15
Chapter #0:15: start 4101.626000, end 4336.193000
Metadata:
title : Chapter 16
Chapter #0:16: start 4336.193000, end 4620.643000
Metadata:
title : Chapter 17
Chapter #0:17: start 4620.643000, end 4873.729000
Metadata:
title : Chapter 18
Chapter #0:18: start 4873.729000, end 5153.341000
Metadata:
title : Chapter 19
Chapter #0:19: start 5153.341000, end 5342.796000
Metadata:
title : Chapter 20
Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p(tv, smpte170m/smpte170m/bt709), 720x356 [SAR 32:27 DAR 640:267], 716 kb/s, 23.98 fps, 59.94 tbr, 90k tbn, 180k tbc (default)
Metadata:
creation_time : 2014-10-20T13:01:06.000000Z
encoder : JVT/AVC Coding
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 159 kb/s (default)
Metadata:
creation_time : 2014-10-20T13:01:06.000000Z
Stream #0:2(eng): Audio: ac3 (ac-3 / 0x332D6361), 48000 Hz, 5.1(side), fltp, 448 kb/s
Metadata:
creation_time : 2014-10-20T13:01:06.000000Z
Side data:
audio service type: main
Stream #0:3(und): Data: bin_data (text / 0x74786574)
Metadata:
creation_time : 2014-10-21T13:42:00.000000Z
Stream #0:4: Video: png, rgb24(pc), 1400x2100, 90k tbr, 90k tbn, 90k tbc
Unsupported codec with id 100359 for input stream 3
[STREAM]
index=0
codec_name=h264
codec_long_name=H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
profile=Constrained Baseline
codec_type=video
codec_time_base=40071281/1921695000
codec_tag_string=avc1
codec_tag=0x31637661
width=720
height=356
coded_width=720
coded_height=356
has_b_frames=0
sample_aspect_ratio=32:27
display_aspect_ratio=640:267
pix_fmt=yuv420p
level=30
color_range=tv
color_space=smpte170m
color_transfer=bt709
color_primaries=smpte170m
chroma_location=left
field_order=unknown
timecode=N/A
refs=1
is_avc=true
nal_length_size=4
id=N/A
r_frame_rate=60000/1001
avg_frame_rate=960847500/40071281
time_base=1/90000
start_pts=0
start_time=0.000000
duration_ts=480855372
duration=5342.837467
bit_rate=716167
max_bit_rate=N/A
bits_per_raw_sample=8
nb_frames=128113
nb_read_frames=N/A
nb_read_packets=N/A
DISPOSITION:default=1
DISPOSITION:dub=0
DISPOSITION:original=0
DISPOSITION:comment=0
DISPOSITION:lyrics=0
DISPOSITION:karaoke=0
DISPOSITION:forced=0
DISPOSITION:hearing_impaired=0
DISPOSITION:visual_impaired=0
DISPOSITION:clean_effects=0
DISPOSITION:attached_pic=0
DISPOSITION:timed_thumbnails=0
TAG:creation_time=2014-10-20T13:01:06.000000Z
TAG:language=und
TAG:encoder=JVT/AVC Coding
[/STREAM]
[STREAM]
index=1
codec_name=aac
codec_long_name=AAC (Advanced Audio Coding)
profile=LC
codec_type=audio
codec_time_base=1/48000
codec_tag_string=mp4a
codec_tag=0x6134706d
sample_fmt=fltp
sample_rate=48000
channels=2
channel_layout=stereo
bits_per_sample=0
id=N/A
r_frame_rate=0/0
avg_frame_rate=0/0
time_base=1/48000
start_pts=0
start_time=0.000000
duration_ts=256454656
duration=5342.805333
bit_rate=159788
max_bit_rate=321176
bits_per_raw_sample=N/A
nb_frames=250444
nb_read_frames=N/A
nb_read_packets=N/A
DISPOSITION:default=1
DISPOSITION:dub=0
DISPOSITION:original=0
DISPOSITION:comment=0
DISPOSITION:lyrics=0
DISPOSITION:karaoke=0
DISPOSITION:forced=0
DISPOSITION:hearing_impaired=0
DISPOSITION:visual_impaired=0
DISPOSITION:clean_effects=0
DISPOSITION:attached_pic=0
DISPOSITION:timed_thumbnails=0
TAG:creation_time=2014-10-20T13:01:06.000000Z
TAG:language=eng
[/STREAM]
[STREAM]
index=2
codec_name=ac3
codec_long_name=ATSC A/52A (AC-3)
profile=unknown
codec_type=audio
codec_time_base=1/48000
codec_tag_string=ac-3
codec_tag=0x332d6361
sample_fmt=fltp
sample_rate=48000
channels=6
channel_layout=5.1(side)
bits_per_sample=0
dmix_mode=-1
ltrt_cmixlev=-1.000000
ltrt_surmixlev=-1.000000
loro_cmixlev=-1.000000
loro_surmixlev=-1.000000
id=N/A
r_frame_rate=0/0
avg_frame_rate=0/0
time_base=1/48000
start_pts=0
start_time=0.000000
duration_ts=256453632
duration=5342.784000
bit_rate=448000
max_bit_rate=N/A
bits_per_raw_sample=N/A
nb_frames=166962
nb_read_frames=N/A
nb_read_packets=N/A
DISPOSITION:default=0
DISPOSITION:dub=0
DISPOSITION:original=0
DISPOSITION:comment=0
DISPOSITION:lyrics=0
DISPOSITION:karaoke=0
DISPOSITION:forced=0
DISPOSITION:hearing_impaired=0
DISPOSITION:visual_impaired=0
DISPOSITION:clean_effects=0
DISPOSITION:attached_pic=0
DISPOSITION:timed_thumbnails=0
TAG:creation_time=2014-10-20T13:01:06.000000Z
TAG:language=eng
[SIDE_DATA]
side_data_type=Audio Service Type
[/SIDE_DATA]
[/STREAM]
[STREAM]
index=3
codec_name=bin_data
codec_long_name=binary data
profile=unknown
codec_type=data
codec_tag_string=text
codec_tag=0x74786574
id=N/A
r_frame_rate=0/0
avg_frame_rate=0/0
time_base=1/1000
start_pts=0
start_time=0.000000
duration_ts=5342837
duration=5342.837000
bit_rate=N/A
max_bit_rate=N/A
bits_per_raw_sample=N/A
nb_frames=20
nb_read_frames=N/A
nb_read_packets=N/A
DISPOSITION:default=0
DISPOSITION:dub=0
DISPOSITION:original=0
DISPOSITION:comment=0
DISPOSITION:lyrics=0
DISPOSITION:karaoke=0
DISPOSITION:forced=0
DISPOSITION:hearing_impaired=0
DISPOSITION:visual_impaired=0
DISPOSITION:clean_effects=0
DISPOSITION:attached_pic=0
DISPOSITION:timed_thumbnails=0
TAG:creation_time=2014-10-21T13:42:00.000000Z
TAG:language=und
[/STREAM]
[STREAM]
index=4
codec_name=png
codec_long_name=PNG (Portable Network Graphics) image
profile=unknown
codec_type=video
codec_time_base=0/1
codec_tag_string=[0][0][0][0]
codec_tag=0x0000
width=1400
height=2100
coded_width=1400
coded_height=2100
has_b_frames=0
sample_aspect_ratio=0:1
display_aspect_ratio=0:1
pix_fmt=rgb24
level=-99
color_range=pc
color_space=unknown
color_transfer=unknown
color_primaries=unknown
chroma_location=unspecified
field_order=unknown
timecode=N/A
refs=1
id=N/A
r_frame_rate=90000/1
avg_frame_rate=0/0
time_base=1/90000
start_pts=0
start_time=0.000000
duration_ts=480855372
duration=5342.837467
bit_rate=N/A
max_bit_rate=N/A
bits_per_raw_sample=N/A
nb_frames=N/A
nb_read_frames=N/A
nb_read_packets=N/A
DISPOSITION:default=0
DISPOSITION:dub=0
DISPOSITION:original=0
DISPOSITION:comment=0
DISPOSITION:lyrics=0
DISPOSITION:karaoke=0
DISPOSITION:forced=0
DISPOSITION:hearing_impaired=0
DISPOSITION:visual_impaired=0
DISPOSITION:clean_effects=0
DISPOSITION:attached_pic=1
DISPOSITION:timed_thumbnails=0
[/STREAM]Thanks. Brian
-
Concat failing with ffmpeg 5.0 vs ffmpeg 4.1.1
16 avril 2022, par WoolwitI have ffmpeg 5.0 installed on a new Silicon M1 Mac Mini running Monterey and concat is failing with the same command that has served me well on ffmpeg 4.1.1 lo, all these many years. Anyone have an idea why this command would fail on the newer version of ffmpeg.
This is with the exact same mp4 files. The ffmpeg 4.1.1. completes the concat in less than a minute.


ffmpeg -i vid1.mp4 -i vid2.mp4 -filter_complex "[0:v:0] [0:a:0] [1:v:0] [1:a:0] concat=n=2:v=1:a=1 [v] [a]" -map "[v]" -map "[a]" output.mp4




Thank you !


ffmpeg 4.1.1 Info and output...


$ ffmpeg -version
ffmpeg version 4.1.1 Copyright (c) 2000-2019 the FFmpeg developers
built with Apple LLVM version 8.0.0 (clang-800.0.42.1)
configuration: --prefix=/usr/local/Cellar/ffmpeg/4.1.1 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags='-I/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/include/darwin' --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom -


$ ffmpeg -i vid1.mp4 -i vid2.mp4 -filter_complex "[0:v:0] [0:a:0] [1:v:0] [1:a:0] concat=n=2:v=1:a=1 [v] [a]" -map "[v]" -map "[a]" output.mp4
ffmpeg version 4.1.1 Copyright (c) 2000-2019 the FFmpeg developers
 built with Apple LLVM version 8.0.0 (clang-800.0.42.1)
 configuration: --prefix=/usr/local/Cellar/ffmpeg/4.1.1 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags='-I/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/include/darwin' --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libmp3lame --enable-libopus --enable-librubberband --enable-libsnappy --enable-libtesseract --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-videotoolbox --disable-libjack --disable-indev=jack --enable-libaom --enable-libsoxr --enable-libvidstab
 libavutil 56. 22.100 / 56. 22.100
 libavcodec 58. 35.100 / 58. 35.100
 libavformat 58. 20.100 / 58. 20.100
 libavdevice 58. 5.100 / 58. 5.100
 libavfilter 7. 40.101 / 7. 40.101
 libavresample 4. 0. 0 / 4. 0. 0
 libswscale 5. 3.100 / 5. 3.100
 libswresample 3. 3.100 / 3. 3.100
 libpostproc 55. 3.100 / 55. 3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'vid1.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf59.16.100
 Duration: 00:00:13.01, start: 0.000000, bitrate: 1240 kb/s
 Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 720x480, 1103 kb/s, 29.97 fps, 29.97 tbr, 11988 tbn, 59.94 tbc (default)
 Metadata:
 handler_name : VideoHandler
 Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
 Metadata:
 handler_name : SoundHandler
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from 'vid2.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf59.16.100
 Duration: 00:00:07.00, start: 0.000000, bitrate: 122 kb/s
 Stream #1:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 720x480 [SAR 1:1 DAR 3:2], 112 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
 Metadata:
 handler_name : VideoHandler
 Stream #1:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 2 kb/s (default)
 Metadata:
 handler_name : SoundHandler
Stream mapping:
 Stream #0:0 (h264) -> concat:in0:v0
 Stream #0:1 (aac) -> concat:in0:a0
 Stream #1:0 (h264) -> concat:in1:v0
 Stream #1:1 (aac) -> concat:in1:a0
 concat:out:v0 -> Stream #0:0 (libx264)
 concat:out:a0 -> Stream #0:1 (aac)
Press [q] to stop, [?] for help
[libx264 @ 0x7fd56881dc00] using SAR=1/1
[libx264 @ 0x7fd56881dc00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.1 Cache64
[libx264 @ 0x7fd56881dc00] profile High, level 3.0
[libx264 @ 0x7fd56881dc00] 264 - core 155 r2917 0a84d98 - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - 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=3 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 'output.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf58.20.100
 Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p(progressive), 720x480 [SAR 1:1 DAR 3:2], q=-1--1, 29.97 fps, 11988 tbn, 29.97 tbc (default)
 Metadata:
 encoder : Lavc58.35.100 libx264
 Side data:
 cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
 Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
 Metadata:
 encoder : Lavc58.35.100 aac
frame= 46 fps=0.0 q=0.0 size= 0kB time=00:00:01.55 bitrate= 0.2kbits/s spframe= 64 fps= 57 q=26.0 size= 0kB time=00:00:02.15 bitrate= 0.2kbits/s sframe= 83 fps= 51 q=29.0 size= 0kB time=00:00:02.78 bitrate= 0.1kbits/s sframe= 106 fps= 49 q=26.0 size= 0kB time=00:00:03.55 bitrate= 0.1kbits/s sframe= 131 fps= 49 q=29.0 size= 256kB time=00:00:04.38 bitrate= 478.0kbits/s sframe= 155 fps= 49 q=29.0 size= 256kB time=00:00:05.20 bitrate= 403.3kbits/s sframe= 178 fps= 48 q=29.0 size= 512kB time=00:00:05.96 bitrate= 702.9kbits/s sframe= 198 fps= 47 q=26.0 size= 512kB time=00:00:06.61 bitrate= 633.9kbits/s sframe= 218 fps= 46 q=29.0 size= 512kB time=00:00:07.26 bitrate= 577.2kbits/s sframe= 238 fps= 46 q=29.0 size= 768kB time=00:00:07.96 bitrate= 790.0kbits/s sframe= 255 fps= 44 q=29.0 size= 768kB time=00:00:08.52 bitrate= 738.3kbits/s sframe= 278 fps= 45 q=26.0 size= 768kB time=00:00:09.28 bitrate= 677.4kbits/s sframe= 296 fps= 44 q=29.0 size= 1024kB time=00:00:09.89 bitrate= 848.1kbits/s sframe= 317 fps= 43 q=29.0 size= 1024kB time=00:00:10.58 bitrate= 792.3kbits/s sframe= 333 fps= 42 q=29.0 size= 1024kB time=00:00:11.12 bitrate= 754.2kbits/s sframe= 351 fps= 42 q=29.0 size= 1024kB time=00:00:11.72 bitrate= 715.4kbits/s sframe= 363 fps= 41 q=29.0 size= 1024kB time=00:00:12.14 bitrate= 690.8kbits/s sframe= 377 fps= 40 q=29.0 size= 1280kB time=00:00:12.60 bitrate= 831.7kbits/s sframe= 389 fps= 39 q=29.0 size= 1280kB time=00:00:12.95 bitrate= 809.3kbits/s sframe= 401 fps= 38 q=29.0 size= 1280kB time=00:00:13.39 bitrate= 782.7kbits/s dframe= 410 fps= 37 q=29.0 size= 1280kB time=00:00:13.72 bitrate= 764.1kbits/s dframe= 425 fps= 37 q=29.0 size= 1536kB time=00:00:14.18 bitrate= 886.9kbits/s dframe= 446 fps= 37 q=29.0 size= 1536kB time=00:00:14.90 bitrate= 844.1kbits/s dframe= 506 fps= 40 q=29.0 size= 1536kB time=00:00:16.90 bitrate= 744.4kbits/s dframe= 564 fps= 43 q=29.0 size= 1536kB time=00:00:18.83 bitrate= 668.2kbits/s dframe= 600 fps= 44 q=-1.0 Lsize= 1807kB time=00:00:20.03 bitrate= 738.9kbits/s dup=35 drop=0 speed=1.45x 
video:1580kB audio:206kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.204253%
[libx264 @ 0x7fd56881dc00] frame I:74 Avg QP:19.97 size: 9747
[libx264 @ 0x7fd56881dc00] frame P:205 Avg QP:19.82 size: 2384
[libx264 @ 0x7fd56881dc00] frame B:321 Avg QP:20.41 size: 1269
[libx264 @ 0x7fd56881dc00] consecutive B-frames: 25.8% 5.3% 9.5% 59.3%
[libx264 @ 0x7fd56881dc00] mb I I16..4: 17.8% 79.7% 2.5%
[libx264 @ 0x7fd56881dc00] mb P I16..4: 2.7% 5.7% 0.7% P16..4: 17.7% 3.1% 1.2% 0.0% 0.0% skip:68.8%
[libx264 @ 0x7fd56881dc00] mb B I16..4: 0.3% 1.1% 0.1% B16..8: 18.4% 1.7% 0.2% direct: 1.6% skip:76.5% L0:57.0% L1:40.0% BI: 3.0%
[libx264 @ 0x7fd56881dc00] 8x8 transform intra:75.9% inter:87.2%
[libx264 @ 0x7fd56881dc00] coded y,uvDC,uvAC intra: 54.9% 8.2% 1.3% inter: 6.5% 6.0% 0.9%
[libx264 @ 0x7fd56881dc00] i16 v,h,dc,p: 44% 34% 14% 8%
[libx264 @ 0x7fd56881dc00] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 22% 22% 30% 4% 5% 3% 5% 3% 5%
[libx264 @ 0x7fd56881dc00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 20% 41% 29% 1% 2% 2% 2% 1% 1%
[libx264 @ 0x7fd56881dc00] i8c dc,h,v,p: 92% 5% 1% 1%
[libx264 @ 0x7fd56881dc00] Weighted P-Frames: Y:1.5% UV:0.5%
[libx264 @ 0x7fd56881dc00] ref P L0: 58.7% 9.7% 21.6% 10.0% 0.1%
[libx264 @ 0x7fd56881dc00] ref B L0: 85.1% 11.6% 3.3%
[libx264 @ 0x7fd56881dc00] ref B L1: 95.7% 4.3%
[libx264 @ 0x7fd56881dc00] kb/s:646.32
[aac @ 0x7fd56881f400] Qavg: 23136.783
$



ffmpeg 5.0 Info and output... It never completes


% ffmpeg -version
ffmpeg version 5.0-tessus https://evermeet.cx/ffmpeg/ Copyright (c) 2000-2022 the FFmpeg developers
built with Apple clang version 11.0.0 (clang-1100.0.33.17)

% ffmpeg -i vid1.mp4 -i vid2.mp4 -filter_complex "[0:v:0] [0:a:0] [1:v:0] [1:a:0] concat=n=2:v=1:a=1 [v] [a]" -map "[v]" -map "[a]" output.mp4
ffmpeg version 5.0-tessus https://evermeet.cx/ffmpeg/ Copyright (c) 2000-2022 the FFmpeg developers
 built with Apple clang version 11.0.0 (clang-1100.0.33.17)
 configuration: --cc=/usr/bin/clang --prefix=/opt/ffmpeg --extra-version=tessus --enable-avisynth --enable-fontconfig --enable-gpl --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libmysofa --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvmaf --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-version3 --pkg-config-flags=--static --disable-ffplay
 libavutil 57. 17.100 / 57. 17.100
 libavcodec 59. 18.100 / 59. 18.100
 libavformat 59. 16.100 / 59. 16.100
 libavdevice 59. 4.100 / 59. 4.100
 libavfilter 8. 24.100 / 8. 24.100
 libswscale 6. 4.100 / 6. 4.100
 libswresample 4. 3.100 / 4. 3.100
 libpostproc 56. 3.100 / 56. 3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'vid1.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf59.16.100
 Duration: 00:00:13.01, start: 0.000000, bitrate: 1240 kb/s
 Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 720x480, 1103 kb/s, 29.97 fps, 29.97 tbr, 11988 tbn (default)
 Metadata:
 handler_name : VideoHandler
 vendor_id : [0][0][0][0]
 Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
 Metadata:
 handler_name : SoundHandler
 vendor_id : [0][0][0][0]
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from 'vid2.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf59.16.100
 Duration: 00:00:07.00, start: 0.000000, bitrate: 122 kb/s
 Stream #1:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 720x480 [SAR 1:1 DAR 3:2], 112 kb/s, 25 fps, 25 tbr, 12800 tbn (default)
 Metadata:
 handler_name : VideoHandler
 vendor_id : [0][0][0][0]
 Stream #1:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 2 kb/s (default)
 Metadata:
 handler_name : SoundHandler
 vendor_id : [0][0][0][0]
Stream mapping:
 Stream #0:0 (h264) -> concat
 Stream #0:1 (aac) -> concat
 Stream #1:0 (h264) -> concat
 Stream #1:1 (aac) -> concat
 concat -> Stream #0:0 (libx264)
 concat -> Stream #0:1 (aac)
Press [q] to stop, [?] for help
[mp4 @ 0x7fbab280dbc0] Frame rate very high for a muxer not efficiently supporting it.
Please consider specifying a lower framerate, a different muxer or -vsync 2
[libx264 @ 0x7fbab280e840] using SAR=1/1
[libx264 @ 0x7fbab280e840] MB rate (1350000000) > level limit (16711680)
[libx264 @ 0x7fbab280e840] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
[libx264 @ 0x7fbab280e840] profile High, level 6.2, 4:2:0, 8-bit
[libx264 @ 0x7fbab280e840] 264 - core 164 r3081 19856cc - H.264/MPEG-4 AVC codec - Copyleft 2003-2021 - 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=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.00
Output #0, mp4, to 'output.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf59.16.100
 Stream #0:0: Video: h264 (avc1 / 0x31637661), yuv420p(progressive), 720x480 [SAR 1:1 DAR 3:2], q=2-31, 1000k tbn
 Metadata:
 encoder : Lavc59.18.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), 44100 Hz, stereo, fltp, 128 kb/s
 Metadata:
 encoder : Lavc59.18.100 aac
frame= 1 fps=0.0 q=0.0 size= 0kB time=00:00:00.23 bitrate= 1.7kbits/sMore than 1000 frames duplicated
frame=33367 fps=843 q=33.0 size= 2048kB time=00:00:00.27 bitrate=60212.7kbitsMore than 10000 frames duplicatedx 
frame=66733 fps=841 q=33.0 size= 4352kB time=00:00:00.32 bitrate=109671.7kbitMore than 100000 frames duplicatedx 
frame=100100 fps=825 q=33.0 size= 6656kB time=00:00:00.34 bitrate=156550.4kbiframe=133467 fps=806 q=33.0 size= 8704kB time=00:00:00.39 bitrate=180634.7kbiframe=166834 fps=810 q=33.0 size= 11008kB time=00:00:00.41 bitrate=215757.8kbiframe=200200 fps=812 q=33.0 size= 13312kB time=00:00:00.46 bitrate=234824.6kbiframe=233567 fps=814 q=33.0 size= 153
...