Arris
@Arris
Сапиенсы учатся, играя.

Как правильно пересадить аудиодорожку из одного файла в другой?

Есть два видео(контейнера), вот их дороги:

Первое:
Duration: 01:24:13.28, start: 0.000000, bitrate: 2477 kb/s
    Stream #0:0: Video: mpeg4 (Advanced Simple Profile) (XVID / 0x44495658), yuv420p, 720x304 [SAR 1:1 DAR 45:19], 1567 kb/s, 25 fps, 25 tbr, 25 tbn, 25 tbc
    Stream #0:1: Audio: ac3 ([0] [0][0] / 0x2000), 48000 Hz, 5.1(side), fltp, 448 kb/s Rus
    Stream #0:2: Audio: ac3 ([0] [0][0] / 0x2000), 48000 Hz, 5.1(side), fltp, 448 kb/s Eng


Второе:
Duration: 01:24:13.28, start: 0.000000, bitrate: 3718 kb/s
    Stream #0:0(eng): Video: h264 (High), yuv420p(progressive), 1268x540 [SAR 1:1 DAR 317:135], 25 fps, 25 tbr, 1k tbn, 50 tbc (default)
    Stream #0:1(rus): Audio: ac3, 48000 Hz, 5.1(side), fltp, 448 kb/s (default) (forced)
    Stream #0:2(spa): Audio: ac3, 48000 Hz, 5.1(side), fltp, 448 kb/s
    Stream #0:3(rus): Subtitle: subrip (default) (forced)
    Stream #0:4(rus): Subtitle: subrip
    Stream #0:5(eng): Subtitle: subrip


Квест:
Пересадить во второй контейнер первую аудиодорогу из первого контейнера (во втором видео хороший видеоряд, но совершенно уродливый русский перевод). Без перекодирования видео или аудио.

Я делаю так:
ffmpeg -i video_0.avi -i video_1.mkv -map 1:0 -map 0:1 -map 0:2 -map 1:3 -map 1:4 -map 1:5  -codec copy -f matroska out_new.mkv


И вроде бы получаю результат. Но любой seek по результирующему файлу дает короткую долю секунды скрежета и тишину.

ЧЯДНТ?
  • Вопрос задан
  • 65 просмотров
Пригласить эксперта
Ответы на вопрос 1
Moskus
@Moskus
Разберите исходники на нужные дорожки и воспользуйтесь более наглядным MKVToolnix (можно даже через GUI), чтобы собрать все в один контейнер и расставить очередность/приоритеты/свойства.
Лично мне всегда западло с этими -map возиться, когда их больше двух, тем более - еще и метаданные через ffmpeg пытаться редактировать.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы