Jak mogę obrócić wideo o 180 stopni za pomocą avconv


24

Chciałbym obrócić wideo (MP4) o 180 stopni, ale nie odwrócić. Czy można to zrobić za pomocą avconv?


Znalazłem z obu istniejących odpowiedzi, które theywork z plikami MP4 z bohaterem 3 kamery, ale tylko po dodaniu -c:akopię polecenia (tuż przed nazwą pliku wyjściowego). Odkryłem również, że druga wersja była nierozróżnialna, ale o około 50% szybsza niż łańcuchowa wersja tłumaczenia.
Simon

Odpowiedzi:


31

Jest to możliwe przy użyciu transposefiltra wideo. Nie można obracać o 180 stopni, ale można obracać o 90 stopni i łańcuch filtra.

avconv -i video.mp4 -vf transpose=1,transpose=1 out.mkv

Zobacz transposena stronie avconv: http://manpages.ubuntu.com/manpages/quantal/en/man1/avconv.1.html


Obróciło to moje wideo, ale spadek jakości (rozdzielczość i liczba klatek na sekundę) był ogromny (plik .mov telefonu iPhone).
Gringo Suave

transpose = zegar działa teraz zobacz moją odpowiedź
Starszy Geek

15

Tak, ale musisz dodać kilka dodatkowych opcji do polecenia, aby działało poprawnie. Transpozycja i vflip / hflip powinny załatwić sprawę, ale jeśli nie powiesz avconv więcej szczegółów na temat tego, czego chcesz, prawdopodobnie uzyskasz bardzo niską jakość wydruku, spróbuj:

 avconv -i original.mp4 -vf "hflip,vflip" -codec:v libx264 -preset slow -crf 20 -codec:a copy flipped.mp4

Zwróć uwagę na -crfopcję. To decyduje o jakości wyjściowej. To idzie od 0 (bezstratnie) w górę logarytmicznie. W większości przypadków prawdopodobnie będziesz potrzebować wartości od 19 do 25. -presetustawia szybkość kodowania: „wolny”, „średni” lub „szybki”. Spowolnienie powinno zapewnić mniejsze rozmiary plików z oczywistym kompromisem. Powinieneś dopasować -codec:vdo oryginału. Jeśli nie ustawisz tych opcji, otrzymasz ustawienia domyślne, które nie działają dobrze podczas odwracania wideo iPhone'a.


Unrecognized option 'preset' Failed to set value 'slow' for option 'preset' Właśnie to dostałem
Karel Bílek

... i bez niego mamUnknown encoder 'libx264'
Karel Bílek

1
apt-get install libavcodec-extra-53rozwiązane
Karel Bílek

6

Dodatkową metodą w avconv jest użycie filtrów vflip i hflip. Powinien działać szybciej i być może lepszej jakości:

avconv -i video.mp4 -vf vflip,hflip out.mp4

To samo: to zmieniło mój film, ale spadek jakości (rozdzielczość i liczba klatek na sekundę) był ogromny (plik .mov telefonu iPhone).
Gringo Suave

1
@GringoSuave wcarlson dał ci uproszczony przykład, wciąż musisz dodać wszystkie -codec: v ... i inne tagi
v010dya

1

Ja to zrobiłem:

avconv -i invertedOne.mp4 -c:a copy -vf "hflip,vflip" rightOne.mp4

Wideo Full HD, doskonałe wyniki bez zauważalnej utraty jakości


1

Dla avconv lub ffmpeg Poniżej 14.04 lub później

Wprowadzono pewne zmiany w dokumentacji libav od czasu, gdy jakość @phoibos odpowiada na to pytanie. Możesz obrócić wideo o 180 stopni, unikając całkowitego przewracania, łącząc razem 2 polecenia 90 stopni (oddzielone przecinkiem). Udało mi się to za pomocą polecenia

avconv -i plik wejściowy -vf transpose = zegar, transpozycja = plik wyjściowy zegara

do obrotu w prawo.

w ffmpeg składnia jest taka sama.

ffmpeg -i plik wejściowy -vf transpose = zegar, transpozycja = plik wyjściowy zegara

gdzie plik wejściowy to obsługiwany wejściowy plik wideo, a plik wyjściowy to pożądany plik wyjściowy.

Aby obrócić w lewo, zamień zegar na cclock

Źródła:

https://libav.org/avconv.html#transpose

Testowanie na Ubuntu 14.04.5 i 16.04 LTS

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.