Об’єднання 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, здається, роблять те, що ви шукаєте.

Короткий опис:

Іноді було б непогано об'єднати (приєднати) два чи більше відеофайлів. Для цього ви можете використовувати oggCat, який створює безперервний Ogg відео-файл із даних файлів.

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

Примітка . Відео файли повинні відповідати у кадрі, проміжку кадрів, розмірі кадрів тощо.

Дивіться більше тут і тут .


2
У своєму запиті я згадав про свій досвід роботи з oggCat. Не вийшло навіть тоді, коли я намагався приєднати файл до себе.
Нуфал Ібрагім

Ви намагалися завантажити пакет безпосередньо? А в чому була помилка?
soandos

1
Я спробував скласти це з джерела. У мене дуже великий hexdump, а потім segfault.
Нуфал Ібрагім

цей файл? Ви можете спробувати більш ранню версію, якщо компіляція не вдається.
soandos

1
Не впевнений, чи це вам корисно, але завантажена я бінарна версія працює.
соандос

5

Я використовую для цього concat demuxer ffmpeg (потрібна остання версія ffmpeg).

Спочатку створіть файл під назвою inputs.txt (або будь-яке довільне ім'я), що містить рядки типу:

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

Зауважте, що це може бути відносний або абсолютний шлях до файлу. Якщо ваші файли всі в одному каталозі та названі в шаблоні, подібному до input1.ogv, input2.ogv ... , ви можете використовувати цикл для створення inputs.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

Гей, знайшов цю відповідь відразу після того, як я сам це зрозумів. Рішення oggCat не працювало для мене через якісь дивні помилки. Це спрацювало добре ..
Jindra Helcl

1

Ви пробували використовувати PiTiVi ? Розмістіть три кліпи послідовно на часовій шкалі, а потім збережіть результат як один файл.


Так, але це не командний рядок. Я не можу автоматизувати це за допомогою сценарію, якщо я використовую PiTiVi.
Нуфал Ібрагім

1
Зараз я вже згадував про те, що в моєму питанні.
Нуфал Ібрагім

1

http://www.xiph.org/oggz/ має особливість,

  • об'єднати файли Merge 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
Злиття відрізняється від конкатенації і не робить те, що я хочу. sox - це лише аудіо та не обробляє відео.
Нуфал Ібрагім

1
Він " перемежовує сторінки в порядку часу презентації". Я хочу об'єднати. Слід грати після закінчення іншого.
Нуфал Ібрагім

1
Оскільки це єдина відповідь, я думаю, що Stack Exchange присвоїть йому винагороду, навіть якщо вона взагалі не відповідає на питання.
Нуфал Ібрагім

1
Я можу отримати будь-який із цих інструментів «виправлений», запитавши у відповідних списках розсилки, видавши трекери. Я шукаю альтернативи для тих, які я вказав.
Нуфал Ібрагім

1
Я спробую mkvtoolnix, хоча я вважаю за краще щось подібне, oggCatяке насправді працює. Я все-таки відмовився від ogg. Багато людей, здається, не можуть це грати. Я перейшов на webm та резервну програму flv.
Нуфал Ібрагім
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.