У меня есть несколько файлов, подобных этим двум, показанным ниже (всегда input_X.tmp.avi и input_X_tmp.start.avi), которые я хочу объединить.Видео / аудио синхронизируются в этих файлах.
Со временем полученный файл становится асинхронным.Я искал в стеке потока несколько часов, пробуя различные параметры, такие как
- async 1
- vsync 1
- async 25
- fflags+ genpts
и так далее.Но я не могу найти решение своей проблемы.
ffmpeg -f concat -fflags +genpts -i concat.txt -c:a copy -c:v copy -y out.avi
Когда я перекодирую аудиопоток, все в порядке.Тем не менее, я бы предпочел, если бы было решение без перекодирования аудио.Может быть, у кого-то есть совет, что я должен изменить, чтобы сделать эту работу.
Файл 1:
Input #0, avi, from 'input_0.tmp.avi':
Metadata:
encoder : Lavf58.12.100
Duration: 00:33:59.36, start: 0.000000, bitrate: 1002 kb/s
Stream #0:0: Video: h264 (High) (H264 / 0x34363248), yuv420p(tv, bt470bg, progressive), 720x576 [SAR 64:45 DAR 16:9], 797 kb/s, 25 fps, 25 tbr, 25 tbn, 50 tbc
Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 48000 Hz, stereo, fltp, 192 kb/s
Файл 2:
Input #0, avi, from 'input_0.tmp.start.avi':
Metadata:
encoder : Lavf58.12.100
Duration: 00:00:11.59, start: 0.000000, bitrate: 428 kb/s
Stream #0:0: Video: h264 (High) (H264 / 0x34363248), yuv420p(progressive), 720x576 [SAR 64:45 DAR 16:9], 220 kb/s, 25 fps, 25 tbr, 25 tbn, 50 tbc
Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 48000 Hz, stereo, fltp, 192 kb/s
Результат:
Input #0, avi, from 'out.avi':
Metadata:
encoder : Lavf58.12.100
Duration: 02:05:40.56, start: 0.000000, bitrate: 975 kb/s
Stream #0:0: Video: h264 (High) (H264 / 0x34363248), yuv420p(progressive), 720x576 [SAR 64:45 DAR 16:9], 770 kb/s, 25 fps, 25 tbr, 25 tbn, 50 tbc
Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 48000 Hz, stereo, fltp, 192 kb/s
Различные файлы, которые я получил от input_X ...avi - это набор файлов, которые я только что вырезал с / без перекодирования из того же файла.