Łączenie plików wideo ogg z wiersza polecenia

18

W porządku. Mam kilka plików OGG, które utworzyłem za pomocą narzędzia do nagrywania na pulpicie . Transkodowałem je ffmpegraz (głównie w celu wycięcia początków i końców).

Teraz mam 3 takie pliki, które chcę połączyć w jeden .ogvplik. Próbowałem użyć oggCat, awaria z pewnym błędem (próbowałem połączyć plik z samym sobą, oggCata to nie doprowadziło mnie do przekonania, że ​​moja dystrybucja wysyła zepsutą wersję pakietu). Po prostu cating pliki działają, ale nie mogę szukać, co nie jest fajne. mencoderprowadzony tak mencoder -ovc lavc -oac lavc file1.ogv file2.ogv file3.ogv -o complete.ogv. Transkoduje pliki do avii odcina trochę z 3 filmów.

Jak mam to zrobić?

Aktualizacja 1: Moje obecne obejście polega na transkodowaniu 3 plików na .mpgużywanie ffmpeg, następnie catłączeniu ich ze sobą, a następnie transkodowaniu z powrotem do ogv.

Aktualizacja 2: PiTiVi działa na takie rzeczy, ale potrzebuję czegoś z linii poleceń, które mogę zautomatyzować i napisać.

Noufal Ibrahim
źródło
@gry, Czego brakuje w bieżącej odpowiedzi?
soandos
@graj, ale chcesz dokładnie te same funkcje, ale inną nazwę? lub czy istnieje różnica w funkcjonalności, której szukasz. Nie zgadzam się, że o to prosił PO. Chciał, aby jego pliki zostały połączone, a oggCat nie działał. Teraz jest, więc nie podążam za tym, czego brakuje.
soandos
@soandos: Pierwotne pytanie brzmiało: „OggCat nie działa dla mnie, czy istnieje alternatywa?” i chociaż pytający sprawił, że zadziałało, przydatne może być znalezienie możliwych alternatyw, jak pierwotnie oczekiwano.
@ gratulacje, to 1) jest teraz naprawione (patrz ostatni komentarz do mojej odpowiedzi) i 2) Nie mogę znaleźć komentarza, który cytujesz.
soandos
1
Moim głównym zamiarem było połączenie filmów. Zanim pojawiły się odpowiedzi, odeszłam od ogv, więc tak naprawdę nie przejmowałem się zbytnio pytaniem. Wyraźnie wspomniałem, że nie chciałem używać oggCat, ponieważ nie działało dla mnie, kiedy zadałem pytanie.
Noufal Ibrahim

Odpowiedzi:

9

Narzędzia wideo Ogg wydają się robić to, czego szukasz.

Krótki opis:

Czasami dobrze byłoby połączyć (dołączyć) dwa lub więcej plików wideo. Do tego możesz użyć oggCat, który tworzy ciągły plik wideo Ogg z podanych plików.

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

Uwaga: pliki wideo muszą odpowiadać klatkom, odstępom między klatkami kluczowymi, rozmiarom klatek itp.

Zobacz więcej tutaj i tutaj .

soandos
źródło
2
W swoim pytaniu wspomniałem o moich doświadczeniach z oggCat. Nie działał nawet, gdy próbowałem połączyć plik z samym sobą.
Noufal Ibrahim,
Czy próbowałeś pobrać pakiet bezpośrednio? I jaki był błąd?
soandos,
1
Próbowałem skompilować go ze źródła. Dostałem bardzo duży zrzut heksowy, a potem segfault.
Noufal Ibrahim,
ten plik? Możesz spróbować wcześniejszej wersji, jeśli kompilacja się nie powiedzie.
soandos,
1
Nie jestem pewien, czy jest to dla ciebie przydatne, ale pobrana wersja binarna działa.
soandos
5

Użyłbym do tego demuxera konkat ffmpeg (wymaga najnowszej wersji ffmpeg).

Najpierw utwórz plik o nazwie inputs.txt (lub dowolną dowolną nazwę), zawierający wiersze takie jak:

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

Pamiętaj, że może to być względna lub bezwzględna ścieżka pliku. Jeśli wszystkie pliki znajdują się w tym samym katalogu i mają nazwę podobną do wzoru input1.ogv, input2.ogv ... , można użyć pętli for do wygenerowania inputs.txt:

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

Po utworzeniu pliku możesz bezstratnie połączyć pliki ogv w następujący sposób:

ffmpeg -f concat -i inputs.txt -c copy output.ogv
zła
źródło
Heh, znalazłem tę odpowiedź zaraz po tym, jak sam to wymyśliłem. Rozwiązanie oggCat nie działało dla mnie z powodu dziwnych błędów.
Działa
1

Próbowałeś używać PiTiVi ? Umieść trzy klipy sekwencyjnie na osi czasu, a następnie zapisz wynik jako jeden plik.

Shane Wealti
źródło
Tak, ale to nie jest linia poleceń. Nie mogę zautomatyzować tego za pomocą skryptu, jeśli korzystam z PiTiVi.
Noufal Ibrahim,
1
Wspomniałem teraz o punkcie mojego pytania.
Noufal Ibrahim,
1

http://www.xiph.org/oggz/ ma funkcję,

  • scalanie plików razem Merge Ogg, przeplatanie stron w czasie zamówienie ofpresentation.

Edycja: Nie robi tego, co chcesz, ponieważ chcesz odtwarzać jeden film po drugim.


http://sox.sourceforge.net może również działać, składnia ( http://sox.sourceforge.net/sox.html ):

 sox infile1 infile2 outfile

Edycja: obsługuje tylko dźwięk.


Można spróbować skompilować z oggvideotools i zobaczyć, czy oggCat działa wtedy.

Edycja: to zadziałało dla ciebie ...


Możesz poprosić na http://sourceforge.net/projects/oggvideotools/support o naprawienie problemów z dystrybucją, w tym tekstu komunikatów o błędach, które pojawia się, gdy 1) uruchamiasz plik binarny otrzymany z repozytoriów dystrybucji 2) kompilujesz 3) uruchom skompilowaną wersję.

Edycja: szukasz alternatywnych programów do łączenia.


Spróbuj użyć mkvtoolnix do połączenia plików ogg w jeden plik mkv, a następnie wyodrębnij z niego plik ogg za pomocą tego samego narzędzia


źródło
1
Scalanie różni się od konkatenacji i nie robi tego, co chcę. sox jest tylko dźwiękiem i nie obsługuje filmów.
Noufal Ibrahim,
1
Przeplata strony w kolejności czasu prezentacji”. Chcę konkatenować. Jedna gra po zakończeniu drugiej.
Noufal Ibrahim,
1
Ponieważ jest to jedyna odpowiedź, myślę, że Stack Exchange przyzna jej nagrodę, mimo że w ogóle nie odpowiada na pytanie.
Noufal Ibrahim,
1
Mogę „naprawić” dowolne z tych narzędzi, pytając na odpowiednich listach mailowych, modułach do śledzenia problemów. Szukam alternatyw dla tych, które określiłem.
Noufal Ibrahim,
1
Spróbuję mkvtoolnix, chociaż wolę coś takiego, oggCatco faktycznie działa. Zrezygnowałem jednak z ogga. Wydaje się, że wiele osób nie może w to grać. Zmieniłem na webm i powrót do FLV.
Noufal Ibrahim,