В документации ffmpeg показан следующий пример кода:
ffmpeg -i input1.mp4 -i input2.webm \
-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]" <encoding options> output.mkv
Ниже приведен пример: «Как видно из этого примера, поддерживается несколько типов ввода, и все, что может прочитать ffmpeg, должно работать. Входные данные должны быть одинакового размера кадра, и несколько других атрибутов должны совпадать. "
Кто-нибудь знает, какие атрибуты должны быть одинаковыми? Ниже приведены два файла, которые я пытаюсь объединить, и я даже не знаю, возможно ли это, учитывая множество различий в атрибутах, несмотря на то, что оба файла имеют формат .avi:
(Sidenote: file2.avi был зациклен на изображении, и я был бы открыт для объединения зацикленного изображения непосредственно в file1.avi).
ffmpeg -i file2.avi
ffmpeg version 2.6.1 Copyright (c) 2000-2015 the FFmpeg developers
built with Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn)
configuration: --prefix=/usr/local/Cellar/ffmpeg/2.6.1 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-libx264 --enable-libmp3lame --enable-libvo-aacenc --enable-libxvid --enable-vda
libavutil 54. 20.100 / 54. 20.100
libavcodec 56. 26.100 / 56. 26.100
libavformat 56. 25.101 / 56. 25.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 11.102 / 5. 11.102
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 3.100 / 53. 3.100
Input #0, avi, from 'file2.avi':
Metadata:
encoder : Lavf56.25.101
Duration: 00:05:00.09, start: 0.000000, bitrate: 389 kb/s
Stream #0:0: Video: mpeg2video (Main) (mpg2 / 0x3267706D), yuv420p(tv), 1000x700 [SAR 1:1 DAR 10:7], 244 kb/s, 47.95 fps, 23.98 tbr, 47.95 tbn, 47.95 tbc
Stream #0:1: Audio: mp2 (P[0][0][0] / 0x0050), 44100 Hz, stereo, s16p, 128 kb/s
At least one output file must be specified
file1.avi был преобразован из необработанного видеофайла .mts.
ffmpeg -i file1.avi
ffmpeg version 2.6.1 Copyright (c) 2000-2015 the FFmpeg developers
built with Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn)
configuration: --prefix=/usr/local/Cellar/ffmpeg/2.6.1 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-libx264 --enable-libmp3lame --enable-libvo-aacenc --enable-libxvid --enable-vda
libavutil 54. 20.100 / 54. 20.100
libavcodec 56. 26.100 / 56. 26.100
libavformat 56. 25.101 / 56. 25.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 11.102 / 5. 11.102
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 3.100 / 53. 3.100
Input #0, avi, from 'file1.avi':
Metadata:
encoder : Lavf56.25.101
Duration: 00:16:28.06, start: 0.000000, bitrate: 6889 kb/s
Stream #0:0: Video: h264 (High) (H264 / 0x34363248), yuv420p, 1440x1080 [SAR 4:3 DAR 16:9], 6616 kb/s, 59.94 fps, 59.94 tbr, 59.94 tbn, 59.94 tbc
Stream #0:1: Audio: ac3 ([0] [0][0] / 0x2000), 48000 Hz, stereo, fltp, 256 kb/s
At least one output file must be specified
Большое спасибо за Вашу помощь!