Конкатенация OGG видео файлов из командной строки

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 работает для такого рода вещей, но мне нужно что-то из командной строки, что я могу автоматизировать и сценарий.

Нуфал Ибрагим
источник
@ gry, Чего не хватает в текущем ответе?
Soandos
@ gry, но вы хотите точно такие же функции, но другое имя? или есть разница в функциональности, которую вы ищете. Я не согласен с тем, что именно об этом просил ФП. Он хотел, чтобы его файлы были объединены, а oggCat не работал. Теперь это так, поэтому я не слежу за тем, чего не хватает.
Soandos
@soandos: оригинальный вопрос был «oggCat не работает для меня, есть ли альтернатива?» и хотя спрашивающий заставил его работать, было бы полезно найти возможные альтернативы, как первоначально ожидалось.
@ gry, это 1) исправлено (см. последний комментарий к моему ответу) и 2) я не могу найти комментарий, который вы цитируете.
Soandos
1
Моим главным намерением было объединить видео. К тому времени, как пришли ответы, я отошел от ogv и поэтому не особо заботился о вопросе. Я прямо упомянул, что не хочу использовать oggCat, потому что он не работает для меня, когда я задал вопрос.
Нуфал Ибрагим

Ответы:

9

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

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

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

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

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

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

soandos
источник
2
Я упомянул мой опыт с oggCat в моем вопросе. Не работало, даже когда я пытался объединить файл с самим собой.
Нуфал Ибрагим
Вы пытались загрузить пакет напрямую? И в чем была ошибка?
Soandos
1
Я попытался скомпилировать его из источника. Я получил очень большой hexdump, а затем segfault.
Нуфал Ибрагим
этот файл? Возможно, вы захотите попробовать более раннюю версию, если компиляция не удалась.
Soandos
1
Не уверен, что вам это нужно, но бинарная версия, которую я скачал, работает.
Soandos
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
evilsoup
источник
Хех, нашел этот ответ сразу после того, как сам его выяснил ... Решение oggCat не сработало для меня из-за некоторых странных ошибок. Это сработало хорошо ..
Джиндра Хелкл
1

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

Шейн Веалти
источник
Да, но это не командная строка. Я не могу автоматизировать это с помощью скрипта, если я использую PiTiVi.
Нуфал Ибрагим
1
Я упомянул точку в моем вопросе сейчас.
Нуфал Ибрагим
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
Слияние отличается от объединения и не делает то, что я хочу. Сокс только аудио и не обрабатывает видео.
Нуфал Ибрагим
1
Он « чередует страницы в порядке времени представления». Я хочу объединить. Один должен играть после того, как другой закончится.
Нуфал Ибрагим
1
Поскольку это единственный ответ, я думаю, что Stack Exchange присудит ему награду, даже если он не отвечает на вопрос вообще.
Нуфал Ибрагим
1
Я могу получить любой из этих инструментов "исправлено", задавая в соответствующих списках рассылки, трекеры проблем. Я ищу альтернативы тем, которые я указал.
Нуфал Ибрагим
1
Я попробую mkvtoolnix, хотя предпочитаю что-то вроде того, oggCatчто на самом деле работает. Я отказался от OGG, хотя. Многие люди не могут играть в нее. Я перешел на webm и flv откат.
Нуфал Ибрагим