Для исправления увеличения количества кадров при использовании функции concat в FFmpeg, вам может понадобиться использовать фильтр setpts для коррекции временных меток каждого кадра. Например, вы можете добавить "-vf setpts='N/25/TB'" в вашу команду FFmpeg, где 25 - это частота кадров в вашем видео.
Чтобы объединить два видео и сохранить качество, рекомендуется указать одинаковый битрейт и кодек для обоих видео в команде FFmpeg. Например, если ваше видео имеет кодек H.264 и битрейт 5000 kbps, вы можете задать "-b:v 5000k -c:v libx264" для каждого видео в команде.
Что касается проблемы с частотой кадров ~40-45FPS и потерей звука для второго видео, это может быть вызвано несовпадением временных меток (DTS - Decoding Time Stamp) между видео файлами или не правильным указанием частоты кадров.
Для исправления этой проблемы вам может потребоваться использовать фильтр aresample для коррекции аудио временных меток или указать корректные временные метки при конкатенации видео файлов. Также рекомендуется явно указать частоту кадров при конкатенации двух видео файлов.
Например, вы можете добавить "-r 25" перед указанием ваших видео файлов в команде FFmpeg, чтобы указать частоту кадров 25FPS для результирующего видео.
Надеюсь, эти рекомендации помогут вам исправить проблему и получить желаемый результат.