Мой ноутбук выполняет 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
работать хорошо на это? Или я должен просто уменьшить промежуточное звено без потерь для создания перемультиплексирования практичным?
Мое знание основано 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 -