Как я играю видео с аудио из отдельного файла? (мультиплексор во время воспроизведения)

Мой ноутбук выполняет Xubuntu 14.04 LTS. Я составляю счет к немому фильму, и я пробую "Mickey Mouse" его (синхронизируйте примечания с действием). Я могу настроить редактирование немого фильма немного для выстраивания в линию событий с ударами музыки. Инструмент для того, чтобы сделать фильм представляет к промежуточному звену без потерь (AVI с Huffyuv) на уровне приблизительно 1 ГБ в две минуты, которые я могу закодировать к сжатому формату (WebM с VP8 или MPEG-4 с AVC).

Если я уже закодировал видео, я обычно использую эту командную строку для объединения сжатого видео со счетом, на основе аудио замены avconv:

avconv -y -i the_video.mp4 -i the_audio.wav -map 0:0 -map 1:0 -c:v copy -c:a libvo_aacenc -ac 1 -ab 48000 -t 120 result.mp4
avplay result.mp4

Поскольку промежуточное звено без потерь является гигабайтами в размере, я не хочу использовать -c:v copy для копирования тех гигабайтов каждый раз, я хочу проверить свои изменения. И при этом я не хочу кодировать каждый раз, потому что ЦП моего ноутбука (ядро Atom N450, 1 2 потока) также не спешит кодировать полноразмерное видео в режиме реального времени. Но когда я пытаюсь использовать подобную командную строку для проигрывания вместо кодирования:

avplay -i the_video.avi -i sound/sticks.wav -map 0:0 -map 1:0

Я получаю следующее сообщение об ошибке:

avplay version 9.18-6:9.18-0ubuntu0.14.04.1, Copyright (c) 2003-2014 the Libav developers
  built on Mar 16 2015 13:20:58 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
Argument 'sound/sticks.wav' provided as input filename, but 'hyf_enc.mp4' was already specified.

Google "avplay" "was already specified" приведенные только результаты исходного кода, не обходные решения. Я попробовал "ffplay" "was already specified" также, но большинство страниц с вопросами, о которых были связаны с накладыванием PNG, не мультиплексированием.

Как я должен играть аудио одного файла и видео другого файла, с поиском, связанным между этими двумя, не имея необходимость повторно мультиплексировать их в файл на диске? Был бы плеер в репозиториях Ubuntu кроме avplay работать хорошо на это? Или я должен просто уменьшить промежуточное звено без потерь для создания перемультиплексирования практичным?

2
задан 30 August 2015 в 02:48

1 ответ

Мое знание основано ffmpeg и ffplay инструменты, которые я понимаю, чтобы быть замененным avconv и avplay на Ubuntu, которые, как предполагается, функционально эквивалентны (давайте не дебатируем относительно того, как далеко та функциональная эквивалентность идет).

я не думаю игра , инструменты принимают несколько исходных данных. Можно передать потоком через канал от ffmpeg (er, avconv) в ffplay (avplay). Попробуйте это:

$ avconv -i the_video.avi -i sound/sticks.wav -map 0:0 -map 1:0 - | avplay -

Вышеупомянутое является предположением на основе Вашего вопроса, но это основано на моем собственном реальном примере, который я вставил ниже так же, как ссылка (да, я использую ffmpeg и ffplay инструменты):

ffmpeg -f alsa -i hw:0,2 -f v4l2 -i /dev/video0 -f avi pipe:1 | ffplay -
0
ответ дан 3 December 2019 в 00:02

Другие вопросы по тегам:

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