Mittwoch, 19. Juni 2013

FFMPEG - Thumbnails aus Filme erstellen und Filme schneiden mit ffmpeg

Mit ffmpeg kann man schnell die meist benötigten Videoarbeiten ausführen. Die Parameterflut ist jedoch schnell unübersichtlicht. FFMPEG kann super viel.

Kleine Auswahl was FFMPEG kann:


  • Streaming Server
  • Video schneiden
  • Thumbnails, also Screenshots heraus holen
  • Videoaufnahme
  • Videos konvertieren, also in andere Formate umwandeln

FFMPEG für jedes Betriebssystem

Man kann die Quelldateien herunter laden und alles selbst kompilieren. Oder man lädt nur die ausführbare Datei für sein eigenes Betriebssystem. Ich empfehle fertig herunter laden.
Herunterladen und in einen Ordner entpacken. Die Dateien haben keine grafische Oberfläche. Wir nutzen Sie auf der Kommandozeile.

Viele FFMPEG Parameter

Mit FFMPEG einen Screenshot aus einem Video erstellen

  ffmpeg -ss SEKUNDEN_START|HH:MM:SS -i PFAD_ZUM_VIDEO -t 0.001 -s WIDTHxHEIGHT pic.jpg

  • -ss Startpunkt im Film als Zeitangabe
    Entweder Sekunden oder eine Uhrzeit
  • -i Pfad zum Film selbst
  • -t Dauer der Aufnahme in Sekunden.
    Wir benötigen ja nur ein Bild, also die kleinste Dauer
  • -s Die Ausgabegrösse für das Bild in Pixel
    Breite mal Höhe
  • Der Bilddateiname muss eine bekannte Bildformat-Dateiendung haben!
    Am besten .jpg nehmen

Beispiel für einen Screen nach 20 Sekunden im Film

  ffmpeg -ss 20 -i meinFilm.mp4 -t 0.001 -s 320x240 pic.jpg

Mit FFMPEG einen kleines Vorschauvideo aus einem Video schneiden

  ffmpeg -ss SEKUNDEN_START|HH:MM:SS -i PFAD_ZUM_VIDEO -t DAUER -s WIDTHxHEIGHT pre.mp4

  • -ss Startpunkt im Film als Zeitangabe
    Entweder Sekunden oder eine Uhrzeit
  • -i Pfad zum Film selbst
  • -t Dauer der Aufnahme in Sekunden.
    Wir benötigen nur 20 Sekunden, also die kleinste Dauer
  • -s Die Ausgabegrösse für das Bild in Pixel

Beispiel für einen 20 Sekunden Schnitt nach 20 Sekunden im Film

  ffmpeg -ss 20 -i meinFilm.mp4 -t 20 -s 320x240 pre.mp4

Mit FFMPEG sich selbst über Webcam aufnehmen

Natürlich können wir auch Videos aufnehmen. Dazu nutzen wir unsere Webcam. Da jede Webcam anders benannt ist, suchen wir zuerst den Namen des Eingabegerätes heraus. Danach nutzen wir dieses.

Holen der angeschlossenen Eingabegeräte:

Video mit der Webcam aufnehmen für 10 Sekunden:

  ffmpeg -f dshow -i video="Integrated Camera" -t 10 output.flv

Foto (320x240 gross) mit der Webcam aufnehmen nach 10 Sekunden:

  ffmpeg -f dshow -i video="Integrated Camera" -ss 10 -s 320x240 -t 0.001 output.jpg

Buchtipps

Wenn man seinen eigenen Video-Server betreiben will, könnte dieses Wissen nützlich sein:

Fazit

Mit FFMPEG kann man schnell und unkompliziert Videos streamen, schneiden und umwandeln. Oft werden teuere kommerzielle Lösungen gar nicht benötigt. Gerade im Web kann man es mit den meisten Sprachen nutzen oder am besten gleich immer in einem eigenen Prozess auf der Konsole starten.

Mit etwas Geschick baut man sich schnell einen eigenen Videoserver. Siehe mein Youtube-Clone Post:
http://sasonikolov.blogspot.de/2013/03/youtube-clone-selber-gemacht-mit.html

Viel Spass
Saso Nikolov

2 Kommentare:

  1. Wie verändert sich die command line ffmpeg -ss 20 -i meinFilm.mp4 -t 0.001 -s 320x240 pic.jpg wenn der film "unbekannt" ist? Also so, dass ich nicht für jeden Filme den Namen kopieren und in die .bat einfügen muss? Zudem, wie kann ddie Outputdatei dann so heißen, wie die inputdatei nur eben mit .jpg?

    AntwortenLöschen
  2. eventuell über Variablen?

    set DATEI='irgendeinedatei'
    %DATEI%

    AntwortenLöschen