У меня есть файл mp4, похожий на этот (того же формата, но длиннее):
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'N1.2.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42mp41
creation_time : 2018-10-31T13:44:21.000000Z
Duration: 00:28:54.21, start: 0.000000, bitrate: 10295 kb/s
Stream #0:0(eng): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080, 9972 kb/s, 50 fps, 50 tbr, 50k tbn, 100 tbc (default)
Metadata:
creation_time : 2018-10-31T13:44:21.000000Z
handler_name : ?Mainconcept Video Media Handler
encoder : AVC Coding
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 317 kb/s (default)
Metadata:
creation_time : 2018-10-31T13:44:21.000000Z
handler_name : #Mainconcept MP4 Sound Media Handler
У меня также есть другой видеофайл, который длится 3 минуты.и не имеет аудио.Какой самый быстрый способ кодировать другое видео таким образом, чтобы оно кодировалось как мое основное видео, а затем заменить последние три минуты видео дорожки моего исходного видео на это?
Другими словами.У меня есть видео, которое длится 1 час.С кодировкой, показанной выше.
У меня есть видео B длиной 3 минуты без звука.со случайным кодированием.
Я хочу иметь видео C с той же кодировкой и таким же звуком, что и у A. Но эта видеодорожка будет первые 57 минут A + B (что составляет 3 минуты).
Я хочу сделать это как можно быстрее, чтобы не перекодировать A.
Я знаю, как объединить два видео, я использую эту команду:
ffmpeg -f concat -i files.txt -c copy res.mp4