Video's roteren

Uit De Vliegende Brigade
Versie door Jeroen Strompf (overleg | bijdragen) op 7 okt 2017 om 20:31
(wijz) ← Oudere versie | Huidige versie (wijz) | Nieuwere versie → (wijz)
Naar navigatie springen Naar zoeken springen
let op: Dit filmpje moet juist tegen de klok in geroteerd worden (of drie keer met de klok mee)

Normaal hebben films een landscape beeldverhouding: Ze zijn breder dan dat ze hoog zijn. Maar als je een fimpje maakt met bv. een mobiele telefoon, en je houdt de telefoon rechtop, schiet je in portrait. Dat moet je dus roteren.

Dat doe ik meestal zo:

# Roteer 90 graden kloksgewijs
####################################
#
# * "-vf" - Pas het "v"-filter toe
# * "transpose=1" - Roteer 90 graden kloksgewijs
#
avconv -i bestand_in.mp4 -vf transpose=1 -vsync 2 bestand_uit.mp4

of als het geluid ook nog weg moet:

avconv -i bestand_in.mp4 -vf transpose=1 -vsync 2 -an bestand_uit.mp4


Het probleem

Standaard gebruik ik OpenShot voor videobewerking. OpenShot biedt een eenvoudige rotatie-functie, die je op twee manieren kunt bereiken, en in die in beide gevallen niet doet wat je wilt:

  • Klik met de rechtermuistoets op het filmje en kies Rotate
  • Klik op het filmpje op Eigenschappen en daarna op het tabblad Video.

Wat het probleem is, is dat OpenShot de boven- en onderkant van het scherm afknipt (cropping), om de beeldverhouding niet te veel te laten afwijken. Alsof er een grens is aan de grootte van de zwarte verticale balken die je nu links en rechts krijgt. Dat is meestal geen oplossing.

Via het rechtermuismenu kun je via Layout kiezen voor Show all (distort). Dit maakt het probleem iets minder erg, maar lost het zeker niet op.

Ik geloof dat OpenShot geen oplossing voor dit probleem heeft - Er vindt altijd cropping plaats. [1].

ffmpeg

Aanvankelijk leek het erop dat ffmpeg dit karweitje prima kan klaren. Dit betrof een filmpje dat iemand me gemailed had:

ffmpeg -i in-01.mp4 -vf transpose=1 -an out-02.mp4

Waarbij -an het geluid weghaalt.

Bij een tweede gebruik werkte het niet: Na uren rekentijd was er nog geen resultaat. Tests met kortere videofragmenten leverde lege bestanden op.

Daarnaast is ffmpeg deprecated ten faveure van avconv. Zie aldaar voor details.

avconv

De vermoedelijke oplossing voor alle problemen:

avconv -i <bronbestand> -vf transpose=1 -vsync 2 -an <doelbestand>

Zie avconv.

Zie ook

Bronnen