Jak przycinać pliki OGV bez ponownego kodowania?


5

Więc najpierw trochę tła. Nagrywam filmy za pomocą recordMyDesktop . To nie są opakowania GTK ani QT, używam tylko wiersza poleceń. Polecenie wygląda tak.

recordmydesktop -o file.ogv --full-shots --device=default

Problem polega na tym, że oszczędza Wideo Theora i dźwięk Vorbis w pojemniku OGV. Nie ma alternatyw, których mogę użyć. Mój problem polega na tym, że kończę się na jakiś czas przed i jakiś czas po pożądanym czasie nagrywania. To znaczy czas spędzony na ustawianiu i sprzątaniu. Chcę to usunąć. Więc moje pytanie jest ...

Jak wyodrębnić z filmu sekundy X do Y?

Chcę zachować całą oryginalną jakość. Musi również zostać przesłany na YouTube. Tak naprawdę nie zależy mi na innym formacie, o ile spełnione są te dwa warunki.


Używam Linux Mint (opartego na Ubuntu / Debianie) i mogę zainstalować dowolne potrzebne oprogramowanie, o ile nie muszę go kompilować.


edytować:
Spróbowałem opublikowanego rozwiązania tutaj . Avi, które wyprodukowało, miało dźwięk niezsynchronizowany i po jakimś czasie odrzucono wszystko po pierwszych 30 sekundach.

Odpowiedzi:


12

Czy naprawdę nie chcesz się kompilować? To całkiem proste. Śledzić Przewodniki tutaj zainstalować najnowszą wersję FFmpeg. To trwa kilka minut. Możesz także pobrać kompilację statyczną ich stronę pobierania , które musisz wyciągnąć i jesteś gotowy do pracy.

Naprawdę radziłbym, żebyś poszedł na najnowszą wersję, ponieważ wersje dostarczane z Ubuntu (Mint) są prawdopodobnie błędne i naprawdę przestarzałe, a do instalacji potrzebujesz kilku zależności apt-get.

Po pierwsze, możesz wyodrębnić część bez ponownego kodowania czegokolwiek, np. 10 sekund od 01:23:

ffmpeg -ss 00:01:23 -i file.ogv -t 00:00:10 -c copy out.ogv

Jeśli chcesz ponownie zakodować wideo (co powinno pomóc w przypadku problemów z synchronizacją), będzie to coś podobnego w przypadku wideo H.264 i audio AAC (wystarczy skopiować i wkleić wszystko, w tym odwrotny ukośnik):

ffmpeg -ss 00:01:23.450 -i file.ogv -t 00:00:10.000 \
-c:v libx264 -preset slow -c:v aac -strict experimental -b:a 128k out.mp4

Aby uzyskać szczegółowe wyjaśnienie, jakie opcje można tutaj dodać, zaznacz opcję Przewodnik kodowania x264 .


Próbuję tego. Wielkie dzięki! (Ja też to kompiluję. Nigdy nie znalazłem przewodnika, który działałby dla mnie wcześniej, ale myślę, że ten będzie.)
— FakeRainBrigand

Udało mi się skompilować wszystko (tak!). Uruchomiłem to polecenie jako opublikowane. Wideo i audio są zsynchronizowane. Film wydaje się być poprawny. Dźwięk wydaje się być około 40 sekund z tyłu. Jakieś pomysły? Uwaga: to również około połowy 1:23 ... jeśli to ma z tym coś wspólnego.
— FakeRainBrigand

Hm, to dziwne? Możesz spróbować dodać -async 1 opcja.
— slhck

Wydaje się, że to naprawiło. Wielkie dzięki. Zamierzam tylko przekonwertować całość i zaakceptować odpowiedź, jeśli wszystko pójdzie dobrze
— FakeRainBrigand

Fajne! Dobrze wiedzieć :) Dodano sposób kopiowania bez ponownego kodowania. YouTube może mieć z tym problemy.
— slhck
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.