Присоединяйтесь к файлам mp4 в linux

Я хочу объединить два файла mp4, чтобы создать один. Видеопотоки кодируются в формате h264, а аудио - в формате aac. Я не могу перекодировать видео в другой формат по вычислительным причинам. Кроме того, я не могу использовать какие-либо графические программы, вся обработка должна выполняться с помощью утилит командной строки Linux. FFmpeg не может сделать это для файлов mpeg4, поэтому вместо этого я использовал MP4Box:

MP4Box -add video1.mp4 -cat video2.mp4 newvideo.mp4

К сожалению, звук полностью перепутан. Я думал, что проблема в том, что звук был в aac, поэтому я перекодировал его в mp3 и снова использовал MP4Box. В этом случае звук подходит для первой половины newvideo.mp4 (соответствует video1.mp4), но тогда у них нет звука, и я также не могу перемещаться по видео.

Моей следующей мыслью было, что в аудио- и видеопотоках были некоторые небольшие расхождения в их длине, которые я должен исправить. Поэтому для каждого входного видео я разделил видео- и аудиопотоки, а затем объединил их с помощью опции - кратчайший в FFmpeg.

Таким образом, для первого видео Я побежал:

 avconv -y -i video1.mp4 -c copy -map 0:0 videostream1.mp4
 avconv -y -i video1.mp4 -c copy -map 0:1 audiostream1.m4a
 avconv -y -i videostream1.mp4 -i audiostream1.m4a  -c copy -shortest  video1_aligned.mp4

Аналогично для второго видео, а затем использовал MP4Box, как и ранее. К сожалению, это тоже не сработало. Единственным успехом, который у меня был, было то, что я присоединился к видеопотокам отдельно (т.Е. videostream1.mp4 и videostream2.mp4) и аудиопотокам (т.Е. audiostream1.m4a и audiostream2.m4a), а затем присоединился к видео и аудио в конечном файле. Однако синхронизация теряется для второй половины видео. Конкретно, существует задержка аудио и видео на 1 секунду. Какой-нибудь предложения действительно приветствуются.