18

Хорошо. У меня есть несколько ogg-файлов, которые я создал, используя инструмент записи на рабочем столе. Я транскодировал их, используя ffmpeg один раз (в основном, чтобы вырезать начало и конец).

Теперь у меня есть 3 таких файла, которые я хочу объединить в один файл .ogv . Я попытался использовать oggCat , он вылетел с какой-то ошибкой (я попытался объединить файл с помощью oggCat , но мне это не удалось, из-за чего я поверил, что мой дистрибутив отправляет сломанную версию пакета). Просто cat ТРАЕКТОРИЙ файлы работает , но я не могу искать, не круто. mencoder запускается следующим образом: mencoder -ovc lavc -oac lavc file1.ogv file2.ogv file3.ogv -o complete.ogv . Он перекодирует файлы в avi и снимает немного из 3 видео.

Итак, как мне это сделать?

Обновление 1: Мой текущий обходной путь, чтобы перекодировать 3 файла в .mpg с помощью ffmpeg то cat ИНГ их вместе и затем перекодировать их обратно в ogv

Обновление 2: PiTiVi работает для такого рода вещей, но мне нужно что-то из командной строки, что я могу автоматизировать и сценарий.

4 ответа4

9

Ogg Video Tools, кажется, делают то, что вы ищете.

Краткое описание:

Иногда было бы неплохо объединить (объединить) два или более видеофайлов. Для этого вы можете использовать oggCat, который создает непрерывный видеофайл Ogg из заданных файлов.

# oggCat newFile.ogv file1.ogv file2.ogv [ file3.ogv [...] ]

Примечание . Видеофайлы должны соответствовать частоте кадров, разнице ключевых кадров, размеру кадров и т.д.

Смотрите больше здесь и здесь.

5

Для этого я бы использовал демультиплексатор concat ffmpeg (требуется последняя версия ffmpeg).

Сначала создайте файл с именем input.txt (или любым произвольным именем), содержащий строки вроде:

file '/path/to/input1.ogv'
file '/path/to/input2.ogv'
file '/path/to/input3.ogv'

Обратите внимание, что это может быть относительный или абсолютный путь к файлу. Если все ваши файлы находятся в одном каталоге и названы по шаблону, аналогичному input1.ogv, input2.ogv ..., вы можете использовать цикл for для создания input.txt:

rm inputs.txt; for f in input*.ogv; do echo "$f" >> inputs.txt; done

Создав файл, вы можете без потерь объединить файлы ogv следующим образом:

ffmpeg -f concat -i inputs.txt -c copy output.ogv
1

http://www.xiph.org/oggz/ имеет функцию,

  • объединить файлы слияния Ogg вместе, чередуя страницы в порядке времени представления.

Изменить: Это не делает то, что вы хотите, так как вы хотите воспроизводить одно видео за другим.


http://sox.sourceforge.net тоже может работать, синтаксис ( http://sox.sourceforge.net/sox.html ):

 sox infile1 infile2 outfile

Изменить: это обрабатывает только аудио.


Вы можете попробовать скомпилировать oggvideotools и посмотреть, работает ли тогда oggCat.

Изменить: это сработало для вас ...


Вы можете попросить по адресу http://sourceforge.net/projects/oggvideotools/support исправить проблемы с вашим дистрибутивом, включая текст сообщений об ошибках, которые вы получаете, когда вы 1) запускаете бинарный файл, полученный из репозиториев дистрибутива 2) компилируете 3) запустить скомпилированную версию.

Изменить: вы ищете альтернативные программы для объединения.


Попробуйте использовать mkvtoolnix для объединения файлов OGG в один MKV, а затем извлечь из него OGG, используя тот же инструмент

1

Вы пробовали использовать PiTiVi? Поместите три клипа последовательно на временной шкале, а затем сохраните результат как один файл.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .