Skip to content

Eine Sammlung von ffmpeg-Shell-Skripten für grundlegende Bearbeitungsaufgaben

License

Notifications You must be signed in to change notification settings

NapoleonWils0n/ffmpeg-Skripte

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ffmpeg-Skripte

Eine Sammlung von ffmpeg-Shell-Skripten für grundlegende Bearbeitungsaufgaben

ffmpeg-Skripte englische Version

ffmpeg-Skripte, die mit Google Translate aus dem Englischen ins Deutsche übersetzt wurden, Wenn es irgendwelche Fehler in der Übersetzung gibt, melden Sie sich bitte

Ich war mir nicht sicher, ob die Skriptnamen Umlaute enthalten sollten, oder wenn Sie ein englisches oder US-Layout im Terminal verwenden, lassen Sie es mich wissen

Skripte installieren

ffmpeg-Skripte installieren YouTube

Erstellen Sie ein bin-Verzeichnis

Erstellen Sie ein bin-Verzeichnis in Ihrem Home-Verzeichnis, um die Skripte hinzuzufügen

mkdir -p ~/bin

Wenn Sie bash verwenden, fügen Sie den folgenden Code zu Ihrer ~/.bashrc hinzu

if [ -d "$HOME/bin" ]; then
   PATH="$HOME/bin:$PATH"
fi

Wenn Sie zsh verwenden, fügen Sie Ihrer ~/.zshenv-Datei den folgenden Code hinzu

typeset -U PATH path
path=("$HOME/bin" "$path[@]")
export PATH
  • beziehen Sie Ihre ~/.bashrc, wenn Sie die Bash-Shell verwenden
source ~/.bashrc
  • beziehen Sie Ihre ~/.zshenv, wenn Sie die zsh-Shell verwenden
source ~/.zshenv

Klonen Sie das Git-Repository

Erstellen Sie ein Git-Verzeichnis in Ihrem Home-Ordner, um die Skripte herunterzuladen, oder verwenden Sie einen anderen Speicherort in Ihrem Dateisystem

mkdir -p ~/git

Verzeichnis im Git-Verzeichnis wechseln

cd ~/git

Klonen Sie das Git-Repository

git clone https://github.com/NapoleonWils0n/ffmpeg-scripts.git

Aktualisieren Sie die Skripte mit Git Pull

Skripte in das bin-Verzeichnis kopieren oder symbolisch verlinken

Sie können die Skripte jetzt entweder in das Verzeichnis ~/bin in Ihrem Home kopieren, oder erstellen Sie symbolische Links von den Skripten im Verzeichnis ~/git/ffmpeg-scripts zum Verzeichnis ~/bin

Erstellen eines symbolischen Links

ln -s path/to/source path/to/destination

Beispiel

ln -s ~/git/ffmpeg-scripts/trim-clip ~/bin

ffmpeg installieren

Linux ffmpeg installieren

installiere ffmpeg auf debian oder ubuntu, Informationen zu anderen Linux-Distributionen finden Sie in der Dokumentation Ihres Paketmanagers

sudo apt install ffmpeg

mac ffmpeg installieren

Öffnen Sie ein Terminal und führen Sie die folgenden Befehle aus, um die xcode-Befehlszeilentools Homebrew und ffmpeg zu installieren

  • Xcode-Befehlszeilentools installieren
xcode-select --install
  • Homebrew-Installation
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  • ffmpeg-Installation mit libfdk_aac
brew tap homebrew-ffmpeg/ffmpeg
brew install homebrew-ffmpeg/ffmpeg/ffmpeg --with-fdk-aac --HEAD
  • ffmpeg-Upgrade
brew update && brew upgrade homebrew-ffmpeg/ffmpeg/ffmpeg --fetch-HEAD

freebsd ffmpeg installieren

Wechseln Sie zu root und installieren Sie das ffmpeg-Paket

pkg install ffmpeg

Sie können ffmpeg auch von Ports installieren, oder verwenden Sie poudriere, um das ffmpeg-Paket zu erstellen

Beachten Sie, dass das Ebumeter-Skript ffplay verwendet, das nicht mit dem ffmpeg-Paket installiert wird. Sie müssen also ffmpeg mit der sdl-Option enable from ports oder mit poudriere erstellen

Wenn Sie das libfdk_aac-Audio verwenden möchten, sollten Sie diese Option auch beim Erstellen aktivieren den ffmpeg-Port und bauen Sie das lame-Paket für die MP3-Unterstützung

windows ffmpeg installieren

Installieren Sie das Windows-Subsystem für Linux und installieren Sie dann eine Linux-Distribution wie Ubuntu. Folgen Sie dann den Linux-Installationsanweisungen

audio-stille

audio-stille stummes Audio zu einem Videoclip hinzufügen

Wenn das Video keine Audiospur hat, kopiert das Skript die Videospur, und fügt eine stumme Audiospur hinzu, die der Dauer des Videos entspricht, und erstellt einen neuen Videoclip

Wenn das Video eine Video- und eine Audiospur hat, kopiert das Skript nur die Videospur, und fügt eine stumme Audiospur hinzu, die der Dauer des Videos entspricht, und erstellt einen neuen Videoclip.

audio-stille youtube

  • Verwendung von Skripten
audio-stille -i eingang.(mp4|mkv|mov|m4v) -c (mono|stereo) -r (44100|48000) -o ausgang.mp4
  • Skript hilfe
audio-stille -h
# Audio-stille fügt einem Videoclip stummen Ton hinzu

audio-stille -i eingang.(mp4|mkv|mov|m4v) -c (mono|stereo) -r (44100|48000) -o ausgang.mp4
-i eingang.(mp4|mkv|mov|m4v)
-c (mono|stereo) : optionales Argument # wenn die Option nicht angegeben wird, ist die Standardeinstellung mono
-r (44100|48000) : optionales Argument # wenn Option nicht angegeben, standardmäßig 44100
-o ausgang.mp4   : optionales Argument # wenn die Option nicht bereitgestellt wird,
wird standardmäßig Eingabename-Stille-Datum-Uhrzeit verwendet

audio-stille Batch-Prozess

Stapelverarbeitungsdateien im aktuellen Arbeitsverzeichnis

Beachten Sie, dass wir die Option -o weglassen, um die Standardausgabe zu verwenden. das ist input-name-silence-date-time

audio-stille stapelverarbeitung ohne Angabe der Optionen -c und -r unter Verwendung der Standardwerte von -c mono und -r 44100

find . -type f -name "*.mp4" -exec sh -c \
'audio-stille -i "${0}"'     
"{}" \;

audio-stille Batch-Prozess und überschreiben die Standardwerte mit den Optionen -c und -r

find . -type f -name "*.mp4" -exec sh -c \
'audio-stille -i "${0}" -c stereo -r 48000'     
"{}" \;

clip-zeit

Konvertieren Sie Zeitstempel in Start und Dauer

  • Verwendung von Skripten
clip-zeit -i eingang -o ausgang
  • Skript hilfe
clip-zeit -h

kapitel-hinzufugen

Hinzufügen von Kapiteln zu einer Video- oder Audiodatei mit ffmpeg mithilfe einer Metadatendatei, Verwenden Sie das Kapitel-CSV-Skript, um die Metadatendatei aus einer CSV-Datei zu erstellen

  • Verwendung von Skripten
kapitel-hinzufugen -i eingabe -c metadata.txt -o ausgabe
  • Skripthilfe
kapitel-hinzufugen -h

kapitel-csv

Konvertieren Sie eine CSV-Datei in eine Kapitel-Metadatendatei für ffmpeg

  • script usage
kapitel-csv -i eingabe -o ausgabe
  • script help
kapitel-csv -h
  • csv-Datei Beispiel

Der letzte Datensatz ist die Dauer des Videos und wird als Endzeit für das vorherige Kapitel verwendet, und Ende wird nicht als Kapitel verwendet

00:00:00,Einführung
00:02:30,Szene 1
00:05:00,Szene 2
00:07:00,Szene 3
00:10:00,Ende

kapitel-auszug

Extrahieren Sie Kapitel aus einer Video- oder Audiodatei und speichern Sie sie als CSV-Datei

  • Verwendung von Skripten
kapitel-auszug -i input -o output
  • Skripthilfe
kapitel-auszug -h
  • Konvertieren Sie die CSV-Datei in YouTube-Zeitstempel
tr ',' ' ' < eingabe.txt > Ausgabe.txt

kombinieren-clips

Kombinieren Sie eine Bild- oder Videodatei mit einem Audioclip

kombinieren-clips youtube

  • Verwendung von Skripten
kombinieren-clips -i eingang.(mp4|mkv|mov|m4v|png|jpg) -a audio.(m4a|aac|wav|mp3) -o ausgang.mp4
  • Skript hilfe
kombinieren-clips -h
# Kombinieren Sie eine Bild- oder Videodatei mit einem Audioclip

kombinieren-clips -i eingang.(mp4|mkv|mov|m4v|png|jpg) -a audio.(m4a|aac|wav|mp3) -o ausgang.mp4
-i eingang.(mp4|mkv|mov|m4v|png|jpg)
-a audio.(m4a|aac|wav|mp3)
-o ausgang.mp4 : Optionales Argument
# Wenn die Option nicht angegeben wird, wird standardmäßig Eingabename-kombiniertes Datum-Uhrzeit verwendet

kombinieren-clips Batch-Prozess

Stapelverarbeitungsdateien im aktuellen Arbeitsverzeichnis

Beachten Sie, dass wir die Option -o weglassen, um den standardmäßigen Namen der Ausgangsdatei zu verwenden. input-name-combined-date-time

  • Kombinieren Sie Video- und Audiodateien stapelweise zu Videoclips

Die Video- und Audiodateien, die Sie kombinieren möchten, müssen denselben Namen haben

Zum Beispiel

file1.mp4
file1.wav
file2.mp4
file2.wav

Durch Ausführen des folgenden Codes wird kombiniert file1.mp4 mit file1.wav und file2.mp4 mit file2.wav

find . -type f -name "*.mp4" -exec sh -c \
'kombinieren-clips -i "${0}" -a "${0%.*}.wav"' \
"{}" \;
  • Kombinieren Sie Bilder und Audiodateien stapelweise zu Videoclips

Die Bild- und Audiodateien, die Sie kombinieren möchten, müssen denselben Namen haben

Zum Beispiel

file1.png
file1.wav
file2.png
file2.wav

Durch Ausführen des folgenden Codes wird kombiniert file1.png mit file1.wav und file2.png mit file2.wav

find -s . -type f -name "*.png" -exec sh -c \
'kombinieren-clips -i "${0}" -a "${0%.*}.wav"' \
"{}" \;

korrekter-clip

  • Kurvencode basierend auf:

Konvertieren von Gimp-Kurvendateien für ffmpeg

Korrigieren Sie einen Videoclip, indem Sie eine Gimp-Kurve verwenden, die in einen ffmpeg-Kurvenfilterbefehl umgewandelt wurde. zum Anpassen der Pegel und des Weißabgleichs

  • erfordert eine Kurvendatei, die mit dem folgenden Skript erstellt wurde

curve2ffmpeg

korrekter-clip youtube

  • Verwendung von Skripten
korrekter-clip -i eingang.(mp4|mkv|mov|m4v) -c kurve.txt -o ausgang.mp4
  • Skript hilfe
korrekter-clip -h
# Korrigieren Sie einen Videoclip mit einer Gimp-Kurve

# erfordert eine Kurvendatei, die mit dem folgenden Skript erstellt wurde
# https://github.com/NapoleonWils0n/curve2ffmpeg

korrekter-clip -i eingang.(mp4|mkv|mov|m4v) -c kurve.txt -o ausgang.mp4
-i eingang.(mp4|mkv|mov|m4v)
-c kurve.txt
-o ausgang.mp4 : Optionales Argument
# Wenn die Option nicht angegeben wird, wird standardmäßig Eingabename-korrigiertes-Datum-Uhrzeit verwendet

korrekter-clip Batch-Prozess

Stapelverarbeitungsdateien im aktuellen Arbeitsverzeichnis

Beachten Sie, dass wir die Option -o weglassen, um den Standardausgabenamen zu verwenden. Eingabename-korrigiertes-Datum-Uhrzeit

Die Video- und Gimp-Kurven-Textdateien, die Sie kombinieren möchten, müssen denselben Namen haben

Zum Beispiel

file1.mp4
file1.txt
file2.mp4
file2.txt

Durch Ausführen des folgenden Codes wird dies behoben file1.mp4 mit file1.txt Gimp-Kurvendatei und file2.mp4 mit file2.txt Gimp-Kurvendatei

find . -type f -name "*.mp4" -exec sh -c \
'korrekter-clip -i "${0}" -c "${0%.*}.txt"' \
"{}" \;

clips-überblenden

Überblenden Sie 2 Videoclips mit einer Überblendung von 1 oder 2 Sekunden Die Videos müssen die gleichen Codecs, Größe und Bildrate haben

clips-überblenden youtube

  • Verwendung von Skripten
clips-uberblenden -a clip1.(mp4|mkv|mov|m4v) -b clip2.(mp4|mkv|mov|m4v) -d (1|2) -o ausgang.mp4
  • Skript hilfe
clips-uberblenden -h
# Clips überblenden

clips-uberblenden -a clip1.(mp4|mkv|mov|m4v) -b clip2.(mp4|mkv|mov|m4v) -d (1|2) -o ausgang.mp4
-a clip1.(mp4|mkv|mov|m4v) : Erster clip
-b clip2.(mp4|mkv|mov|m4v) : Zweiter clip
-d (1|2)                   : Dauer der Überblendung: optionales Argument
# Wenn die Option nicht angegeben wird, ist die Voreinstellung 1 Sekunde
-o ausgang.mp4             : Dauer der Überblendung: optionales Argument
# Wenn die Option nicht angegeben wird, ist die Voreinstellung 1 Sekunde

ebu-meter

ffplay ebu meter

ebu-meter youtube

  • Verwendung von Skripten
ebu-meter -i eingang.(mp4|mkv|mov|m4v|webm|aac|m4a|wav|mp3) -t (00)

-t = luf target, eg 16

  • Skript hilfe
ebu-meter -h

rahmen-extrahieren

Extrahieren Sie einen Frame aus einem Video und speichern Sie ihn als PNG-Bild

ffmpeg wiki seeking

Beachten Sie, dass Sie zwei verschiedene Formate für Zeiteinheiten verwenden können: Sexagesimal (HOURS:MM:SS.MILLISECONDS, wie in 01:23:45.678) oder in Sekunden. Wenn ein Bruch verwendet wird, z. B. 02:30.05, wird dies als “5 Hundertstelsekunden” interpretiert, nicht als Frame 5. Zum Beispiel wäre 02:30,5 2 Minuten, 30 Sekunden und eine halbe Sekunde, was der Verwendung von 150,5 in Sekunden entspricht.

rahmen-extrahieren youtube

  • Verwendung von Skripten
rahmen-extrahieren -i eingang.(mp4|mov|mkv|m4v|webm) -s 00:00:00.000 -o ausgang.png
  • Skript hilfe
rahmen-extrahieren -h
# Extrahieren Sie einen Frame aus einem Video als PNG-Datei
https://trac.ffmpeg.org/wiki/Seeking

rahmen-extrahieren -i eingang.(mp4|mov|mkv|m4v|webm) -s 00:00:00.000 -o ausgang.png
-i eingang.(mp4|mov|mkv|m4v)
-s 00:00:00.000    : optionales Argument #, wenn die Option nicht angegeben wird 00:00:00
-o ausgang.png     : optionales Argument # wenn die Option nicht bereitgestellt wird,
wird standardmäßig Eingabename-timecode

rahmen-extrahieren Batch-Prozess

Stapelverarbeitungsdateien im aktuellen Arbeitsverzeichnis

Beachten Sie, dass wir die Option -o weglassen, um den Standardausgabenamen zu verwenden. Eingabename-Frame-Datum-Uhrzeit

  • Rahmen mit der Standardoption 00:00:00 extrahieren
find . -type f -name "*.mp4" -exec sh -c \
'rahmen-extrahieren -i "${0}"' \
"{}" \;
  • Einzelbild bei 30 Sekunden in das Video extrahieren
find . -type f -name "*.mp4" -exec sh -c \
'rahmen-extrahieren -i "${0}" -s 00:00:30' \
"{}" \;

überblenden-clip

fade video and audio in and out

überblenden-clip youtube

  • Verwendung von Skripten
uberblenden-clip -i eingang.(mp4|mkv|mov|m4v) -d (0.[0-9]|1) -o ausgang.mp4
  • Skript hilfe
uberblenden-clip -h
# Video und Audio ein- und ausblenden

uberblenden-clip -i eingang.(mp4|mkv|mov|m4v) -d (0.[0-9]|1) -o ausgang.mp4
-i eingang.(mp4|mkv|mov|m4v)
-d (0.[0-9]|1) : optionales Argument # wenn die Option nicht angegeben wird, ist der Standardwert 0,5
-o ausgang.mp4 : optionales Argument # wenn die Option nicht bereitgestellt wird,
wird standardmäßig Eingabename-Fade-Datum-Uhrzeit verwendet

uberblenden-clip Batch-Prozess

Stapelverarbeitungsdateien im aktuellen Arbeitsverzeichnis

Beachten Sie, dass wir die Option -o weglassen, um den Standardausgabenamen zu verwenden. input-name-fade-date-time

  • uberblenden-clip mit Standardoption von 0,5
find . -type f -name "*.mp4" -exec sh -c \
'uberblenden-clip -i "${0}"' \
"{}" \;
  • uberblenden-clip und überschreiben Sie die Standardoption von 0,5 mit -d 1 für ein 1-Sekunden-Fade
find . -type f -name "*.mp4" -exec sh -c \
'uberblenden-clip -i "${0}" -d 1' \
"{}" \;

verblassen-normalisieren

Video und Audio ein- und ausblenden und normalisieren

verblassen-normalisieren youtube

  • Verwendung von Skripten
verblassen-normalisieren -i eingang.(mp4|mkv|mov|m4v) -d (0.[0-9]|1) -o ausgang.mp4
  • Skript hilfe
verblassen-normalisieren -h
# Video verblassen und Audiopegel normalisieren

verblassen-normalisieren -i eingang.(mp4|mkv|mov|m4v) -d (0.[0-9]|1) -o ausgang.mp4

-d (0.[0-9]|1) : optionales Argument # wenn die Option nicht angegeben wird, ist der Standardwert 0,5
-o ausgang.mp4 : optionales Argument # wenn die Option nicht angegeben ist,
wird standardmäßig Eingabename-normalisiertes-Datum-Uhrzeit verwendet

verblassen-normalisieren batch process

Batch process files in the current working directory

find . -type f -name "*.mp4" -exec sh -c \
'verblassen-normalisieren -i "${0}" -d 0.5' \
"{}" \;

titel-verblassen

Video und Audio ein- und ausblenden, Normalisieren Sie das Audio und erstellen Sie ein Video mit einem unteren Dritteltitel aus dem Dateinamen

titel-verblassen youtube

  • Verwendung von Skripten
titel-verblassen -i eingang.(mp4|mkv|mov|m4v) -d (0.[0-9]|1) -s 000 -e 000 -o ausgang.mp4
  • Skript hilfe
titel-verblassen -h
# Video ausblenden, Audio Titel aus Videodateinamen hinzufügen

titel-verblassen -i eingang.(mp4|mkv|mov|m4v) -d (0.[0-9]|1) -s 000 -e 000 -o ausgang.mp4

-i eingang.(mp4|mkv|mov|m4v)
-d (0.[0-9]|1) : von 0,1 bis 0,9 oder 1 : optionales Argument # wenn die Option nicht angegeben wird, ist standardmäßig 0,5
-s 000         : von 000 bis 999
-e 000         : von 000 bis 999
-o ausgang.mp4 : optionales Argument # wenn die Option nicht bereitgestellt wird,
wird standardmäßig Eingabename-Titel-Datum-Uhrzeit verwendet

titel-verblassen Batch-Prozess

Stapelverarbeitungsdateien im aktuellen Arbeitsverzeichnis

find . -type f -name "*.mp4" -exec sh -c \
'titel-verblassen -i "${0}" -d 0.5 -s 10 -e 20' \
"{}" \;

img2video

Konvertieren Sie ein Bild in eine Videodatei

img2video youtube

  • Verwendung von Skripten
img2video -i eingang.(png|jpg|jpeg) -d (000) -o ausgang.mp4
  • Skript hilfe
img2video -h
# Bild zum Video

img2video -i eingang.(png|jpg|jpeg) -d (000) -o ausgang.mp4
-i eingang.(mp4|mkv|mov|m4v)
-d (000)       : Dauer
-o ausgang.mp4 : optionales Argument
# Wenn die Option nicht bereitgestellt wird, wird standardmäßig Eingabename-Video-Datum-Uhrzeit verwendet

img2video Batch-Prozess

Stapelverarbeitungsdateien im aktuellen Arbeitsverzeichnis

Beachten Sie, dass wir die Option -o weglassen, um den Standardausgabenamen zu verwenden. Eingabe-Name-Video-Datum-Uhrzeit

Batch-Konvertierung von PNG im aktuellen Verzeichnis in Videoclips mit einer Dauer von 30 Sekunden

find . -type f -name "*.png" -exec sh -c \
'img2video -i "${0}" -d 30' \
"{}" \;

lautnorm

ffmpeg lautnorm

lautnorm youtube

  • Verwendung von Skripten
lautnorm -i eingang.(mp4|mkv|mov|m4v|aac|m4a|wav|mp3)
  • Skript hilfe
lautnorm -h

normalisieren

Audiopegel normalisieren

normalisieren youtube

  • Verwendung von Skripten
normalisieren -i eingang.(mp4|mkv|mov|m4v|aac|m4a|wav|mp3) -o ausgang.(mp4|mkv|mov|m4v|aac|m4a|wav|mp3)
  • Skript hilfe
normalisieren -h
# Audiopegel normalisieren

normalisieren -i eingang.(mp4|mkv|mov|m4v|aac|m4a|wav|mp3) -o ausgang.(mp4|mkv|mov|m4v|aac|m4a|wav|mp3)
-i eingang.(mp4|mkv|mov|m4v|aac|m4a|wav|mp3)
-o ausgang.(mp4|mkv|mov|m4v|aac|m4a|wav|mp3) : optionales Argument
# Wenn die Option nicht bereitgestellt wird, wird standardmäßig Eingabename-normalisierte-Datum-Uhrzeit-Erweiterung verwendet

normalisieren Batch-Prozess

Stapelverarbeitungsdateien im aktuellen Arbeitsverzeichnis

Beachten Sie, dass wir die Option -o weglassen, um den Standardausgabenamen zu verwenden. input-name-normalize-date-time

Batch-Normalisierung von mp4-Videos im aktuellen Verzeichnis

find . -type f -name "*.mp4" -exec sh -c \
'normalisieren -i "${0}"' \
"{}" \;

uberzug-clip

einen Videoclip über einen anderen Videoclip legen

uberzug-clip youtube

  • Verwendung von Skripten
uberzug-clip -i eingang.(mp4|mkv|mov|m4v) -v eingang.(mp4|mkv|mov|m4v) -p [0-999] -o ausgang.mp4
  • Skript hilfe
uberzug-clip -h
# einen Videoclip über einen anderen Videoclip legen

uberzug-clip -i eingang.(mp4|mkv|mov|m4v) -v eingang.(mp4|mkv|mov|m4v) -p [0-999] -o ausgang.mp4
-i eingang.(mp4|mkv|mov|m4v) : unteres Video
-v eingang.(mp4|mkv|mov|m4v) : Video überlagern
-p [0-999]                   : Zeit, um das Video zu überlagern
-o ausgang.mp4               : optionales Argument # Wenn die Option nicht bereitgestellt wird,
wird standardmäßig Eingabename-Overlay-Datum-Uhrzeit verwendet

uberzug-pip

create a picture in picture

uberzug-pip youtube

  • Verwendung von Skripten
uberzug-pip -i eingang.(mp4|mkv|mov|m4v) -v eingang.(mp4|mkv|mov|m4v) -p [0-999]
-m [00] -x (tl|tr|bl|br) -w [000] -f (0.1-9|1) -b [00] -c colour -o ausgang.mp4
  • Skript hilfe
uberzug-pip -h
# Erstellen Sie ein Bild-in-Bild-Video

uberzug-pip -i eingang.(mp4|mkv|mov|m4v) -v eingang.(mp4|mkv|mov|m4v) -p [0-999]
-m [00] -x (tl|tr|bl|br) -w [000] -f (0.1-9|1) -b [00] -c colour -o ausgang.mp4

-i eingang.(mp4|mkv|mov|m4v) : unteres Video
-v eingang.(mp4|mkv|mov|m4v) : Video überlagern
-p [0-999]                   : Zeit, um das Video zu überlagern
-m [00]                      : Rand ist standardmäßig 0
-x (tl|tr|bl|br)             : Pip-Position - standardmäßig tr
-w [000]                     : width - standardmäßig 1/4 der Videogröße
-f (0.1-9|1)                 : Fade von 0,1 auf 1 - Standardeinstellung 0,2
-b [00]                      : Grenze
-c colour                    : Farbe
-o ausgang.mp4               : Optionales Argument # Wenn die Option nicht bereitgestellt wird,
wird standardmäßig Eingabename-Pip-Datum-Uhrzeit verwendet

pfanne-scan

Bild schwenken

  • Verwendung von Skripten
pfanne-scan -i eingang.(png|jpg|jpeg) -d (000) -p (l|r|u|d) -o ausgang.mp4
  • Skript hilfe
pfanne-scan -h
# Schwenken Sie über ein Bild

pfanne-scan -i eingang.(png|jpg|jpeg) -d (000) -p (l|r|u|d) -o ausgang.mp4
-i = eingang.(png|jpg|jpeg)
-d = dauer : aus 1-999
-p = position : left, right, up, down
-o = ausgang.mp4 : optionales Argument # Standard ist Eingabename-Pan-Datum-Uhrzeit

sexagesimal-zeit

Berechnen Sie die sexagesimale Dauer, indem Sie die Endzeit von der Startzeit zum Trimmen von Dateien mit ffmpeg subtrahieren

  • Skripthilfe
sexagesimal-zeit -h

Beispiel

sexagesimal-zeit -s 00:05:30 -e 00:18:47

Ausgang

00:13:17

funktioniert auch mit Millisekunden

szene-geschnitten

Szene-geschnitten nimmt eine geschnittene Datei und ein Video und schneidet das Video in Clips

  • Verwendung von Skripten
szene-geschnitten -i eingang -c datei schneiden
  • Skript hilfe
szene-geschnitten -h
szene-geschnitten -i eingang -c datei schneiden

-i eingang.(mp4|mov|mkv|m4v)
-c datei schneiden

ffmpeg erfordert einen Startpunkt und eine Dauer, keinen Endpunkt

Schnittdatei - Stunden, Minuten, Sekunden In diesem Beispiel erstellen wir Clips von 2 bis 30 Sekunden

ein 30-Sekunden-Clip, der bei 00:00:00 beginnt und ein weiterer 30-Sekunden-Clip, der bei 00:01:00 beginnt

00:00:00,00:00:30
00:01:00,00:00:30

Schnittdatei - Sekunden In diesem Beispiel erstellen wir Clips von 2 bis 30 Sekunden

ein 30-Sekunden-Clip, der bei 0 beginnt und ein weiterer 30-Sekunden-Clip, der bei 60 beginnt

0,30
60,30

szene-erkennen

Szenenerkennung nimmt eine Videodatei und einen Schwellwert für die Szenenerkennung von 0,1 bis 0,9 Sie können auch die Optionen -s und -e verwenden, um einen Bereich für die Szenenerkennung festzulegen. Wenn Sie keinen Bereich angeben, wird die Szenenerkennung für das gesamte Video durchgeführt

ffmpeg-Szenenerkennung - Videos automatisch in separate Szenen schneiden

ffmpeg Szenenerkennung - Version 2 - einen Bereich im Video angeben und in einzelne Szenen schneiden

ffmpeg-Szenenerkennung - Version 3 - Sexagesimalformat - Stunden, Minuten, Sekunden

  • Verwendung von Skripten
szene-erkennen -s 00:00:00 -i eingang -e 00:00:00 -t (0.1 - 0.9) -f sec -o ausgang
  • Skript hilfe
szene-erkennen -h
szene-erkennen -s 00:00:00 -i eingang -e 00:00:00 -t (0.1 - 0.9) -f sec -o ausgang

-s 00:00:00 : startzeit
-i eingang.(mp4|mov|mkv|m4v)
-e 00:00:00 : endzeit
-t (0.1 - 0.9) # schwelle
-f sec # ausgabe in sekunden
-o ausgang.txt

szene-bilder

szene-bilder nimmt eine Videodatei und eine geschnittene Datei, erstellt mit dem Scene-Detect-Skript entweder im Sekunden- oder Sexagesimalformat und erstellt dann ein Bild für jeden Schnittpunkt

  • Verwendung von Skripten
szene-bilder -i eingang -c datei schneiden
  • Skript hilfe
szene-bilder -h
szene-bilder -i eingang -c datei schneiden

-i eingang.(mp4|mov|mkv|m4v)
-c datei schneiden

szene-zeit

szene-zeit nimmt eine geschnittene Datei, erstellt mit dem Scene-Detect-Skript entweder im Sekunden- oder Sexagesimalformat

0:00:00
0:00:11.875000
0:00:15.750000

Das Skript erstellt Clips, indem es den Schnittpunkt vom Startpunkt subtrahiert und konvertiert das Sexagesimalformat und erstellt dann eine Datei mit dem Startpunkt ein Komma und dann die Dauer des Clips

Die Ausgabe des Szenenzeit-Skripts wird mit dem Szenenschnitt-Skript verwendet, um die Clips zu erstellen

0,11.875
11.875,3.875
  • Verwendung von Skripten
szene-zeit -i eingang -o ausgang
  • Skript hilfe
szene-zeit -h
szene-zeit -i eingang -o ausgang

-i eingang
-o ausgang

untertitel-hinzufügen

Untertitel zu einer Videodatei hinzufügen

untertitel-hinzufügen youtube

  • Verwendung von Skripten
untertitel-hinzufugen -i eingang.(mp4|mkv|mov|m4v) -s untertitel.(srt|vtt) -o ausgang.mp4
  • Skript hilfe
untertitel-hinzufugen -h
# Untertitel zu einem Video hinzufügen

untertitel-hinzufugen -i eingang.(mp4|mkv|mov|m4v) -s untertitel.(srt|vtt) -o ausgang.mp4
-i eingang.(mp4|mkv|mov|m4v)
-s untertitel.(srt|vtt)
-o ausgang.mp4 : optionales Argument # wenn die Option nicht bereitgestellt wird,
wird standardmäßig Eingabename-Subs-Datum-Uhrzeit verwendet

untertitel-hinzufügen Batch-Prozess

Stapelverarbeitungsdateien im aktuellen Arbeitsverzeichnis

Beachten Sie, dass wir die Option -o weglassen, um den Standardausgabenamen zu verwenden. input-name-subs-date-time

Die Video- und Untertiteldateien, die Sie kombinieren möchten, müssen denselben Namen haben

Zum Beispiel

file1.mp4
file1.srt
file2.mp4
file2.srt

Durch Ausführen des folgenden Codes wird das subtitle-add-Skript ausgeführt und kombiniert file1.mp4 mit file1.srt und file2.mp4 mit file2.srt

find . -type f -name "*.mp4" -exec sh -c \
'untertitel-hinzufugen -i "${0}" -s "${0%.*}.srt"' \
"{}" \;

bereiche

ffplay-Videoskope youtube

  • Verwendung von Skripten
bereiche -i eingang = histogramm
bereiche -o eingang = rgb überlagern
bereiche -p eingang = rgb parade
bereiche -s eingang = rgb überlagern and parade
bereiche -w eingang = wellenform
bereiche -v eingang = Vektorskop
bereiche -h = hilfe
  • Skript hilfe
bereiche -h
# ffplay-Videoskope

bereiche -i eingang = histogramm
bereiche -o eingang = rgb überlagern
bereiche -p eingang = rgb parade
bereiche -s eingang = rgb überlagern and parade
bereiche -w eingang = wellenform
bereiche -v eingang = Vektorskop
bereiche -h = hilfe

fliese-miniaturansichten

Erstellen Sie Miniaturansichten aus einem Video und kacheln Sie sie in ein Bild

fliese-miniaturansichten youtube

ffmpeg-Farbsyntax

ffmpeg wiki suchen

Beachten Sie, dass Sie zwei verschiedene Formate für Zeiteinheiten verwenden können: Sexagesimal (HOURS:MM:SS.MILLISECONDS, wie in 01:23:45.678) oder in Sekunden. Wenn ein Bruch verwendet wird, z. B. 02:30.05, wird dies als “5 Hundertstelsekunden” interpretiert, nicht als Frame 5. Zum Beispiel wäre 02:30,5 2 Minuten, 30 Sekunden und eine halbe Sekunde, was der Verwendung von 150,5 in Sekunden entspricht.

  • Verwendung von Skripten
fliese-miniaturansichten -i eingang -s 00:00:00.000 -w 000 -t 0x0 -p 00 -m 00 -c farbe -f Schriftfarbe -b Kastenfarbe -x on -o ausgang.png
  • Skript hilfe
fliese-miniaturansichten -h
# Erstellen Sie ein Bild mit Miniaturansichten aus einem Video

fliese-miniaturansichten -i eingang -s 00:00:00.000 -w 000 -t 0x0 -p 00 -m 00 -c farbe -f Schriftfarbe -b Kastenfarbe -x on -o ausgang.png

-i eingang.(mp4|mkv|mov|m4v|webm)
-s Suchen Sie in der Videodatei            : Standard 00:00:05
-w Thumbnail-Breite                        : 160
-t Fliese layout format breite x höhe      : Standard 4x3
-p Polsterung zwischen Bildern             : Standard 7
-m Rand                                    : Standard 2
-c Farbe = https://ffmpeg.org/ffmpeg-utils.html#color-syntax : Standard black
-f Schriftfarbe                            : Standardmäßig weiß
-b Kastenfarbe                             : Standardmäßig schwarz
-x on                                      : Standardmäßig deaktiviert, Zeitstempel anzeigen
-o ausgang.png :optionales Argument
# Wenn die Option nicht bereitgestellt wird, wird standardmäßig Eingabename-Kachel-Datum-Uhrzeit.png verwendet

Wenn das gekachelte Bild nur ein Miniaturbild aus dem Video erstellt und der Rest des Bildes schwarz ist, Dann könnte das Problem die Bildrate des Videos sein

Sie können die Bildrate des Videos mit ffmpeg überprüfen

ffmpeg -i eingang.mp4

Wenn die Framerate 29,97 statt 30 beträgt, können Sie ffmpeg verwenden, um die Framerate zu ändern und das Problem zu beheben

ffmpeg -i eingang.mp4 -vf fps=fps=30 ausgang.mp4

fliese-miniaturansichten Batch-Prozess

Batch-Verarbeitung von Videos und Erstellen von Miniaturansichten aus den Videos und Kacheln in einem Bild

find . -type f -name "*.mp4" -exec sh -c \
'fliese-miniaturansichten -i "${0}" -s 00:00:10 -w 200 -t 4x4 -p 7 -m 2 -c white' \
"{}" \;

trimmen-clip

Trimmen von Videoclips und Audioclips

ffmpeg wiki suchen

Beachten Sie, dass Sie zwei verschiedene Formate für Zeiteinheiten verwenden können: Sexagesimal (HOURS:MM:SS.MILLISECONDS, wie in 01:23:45.678) oder in Sekunden. Wenn ein Bruch verwendet wird, z. B. 02:30.05, wird dies als “5 Hundertstelsekunden” interpretiert, nicht als Frame 5. Zum Beispiel wäre 02:30,5 2 Minuten, 30 Sekunden und eine halbe Sekunde, was der Verwendung von 150,5 in Sekunden entspricht.

trimmen-clip youtube

  • Verwendung von Skripten
trimmen-clip -s 00:00:00.000 -i eingang.(mp4|mov|mkv|m4v|aac|m4a|wav|mp3) -t 00:00:00.000 -o ausgang.(mp4|aac|mp3|wav)
  • Skript hilfe
trimmen-clip -h
# Trimmen Sie Video- oder Audioclips mit Millisekunden-Genauigkeit
https://trac.ffmpeg.org/wiki/Seeking

trimmen-clip -s 00:00:00.000 -i eingang.(mp4|mov|mkv|m4v|aac|m4a|wav|mp3) -t 00:00:00.000 -o ausgang.(mp4|aac|mp3|wav)
-s 00:00:00.000 : Startzeit
-i eingang.(mp4|mov|mkv|m4v|aac|m4a|wav|mp3)
-t 00:00:00.000 : Anzahl Sekunden nach der Startzeit
-o ausgang.(mp4|aac|mp3|wav) : optionales Argument
# Wenn die Option nicht bereitgestellt wird, gilt die Standardeinstellung Name-eingeben-[start ende].(mp4|webm|aac|mp3|wav|ogg)

trimmen-clip Batch-Prozess

Stapelverarbeitungsdateien im aktuellen Arbeitsverzeichnis

Beachten Sie, dass wir die Option -o weglassen, um den Standardausgabenamen zu verwenden. input-name-trimmed-date-time

Alle mp4-Dateien im aktuellen Verzeichnis stapelweise trimmen, von 00:00:00 bis 00:00:30

find . -type f -name "*.mp4" -exec sh -c \
'trimmen-clip -s 00:00:00 -i "${0}" -t 00:00:30' \
"{}" \;

vid2gif

Erstellen Sie eine GIF-Animation aus einem Video

vid2gif youtube

  • Verwendung von Skripten
vid2gif -s 00:00:00.000 -i eingang.(mp4|mov|mkv|m4v) -t 00:00:00.000 -f [00] -w [0000] -o ausgang.gif
  • Skript hilfe
vid2gif -h
# Konvertieren Sie ein Video in eine GIF-Animation

vid2gif -s 00:00:00.000 -i eingang.(mp4|mov|mkv|m4v) -t 00:00:00.000 -f [00] -w [0000] -o ausgang.gif
-s 00:00:00.000 : Startzeit
-i eingang.(mp4|mov|mkv|m4v)
-t 00:00:00.000 : Anzahl Sekunden nach der Startzeit
-f [00]         : Bildrate
-w [0000]       : Breite
-o ausgang.gif  : optionales Argument
# Wenn die Option nicht angegeben ist, wird standardmäßig input-name-gif-date-time.gif verwendet

wellenform

Erstellen Sie eine Wellenform aus einer Audio- oder Videodatei und speichern Sie sie als PNG

wellenform youtube

  • Verwendung von Skripten
wellenform -i eingang.(mp4|mkv|mov|m4v|webm|aac|m4a|wav|mp3) -o ausgang.png
  • Skript hilfe
wellenform -h
# Erstellen Sie eine Wellenform aus einer Audio- oder Videodatei und speichern Sie sie als PNG

wellenform -i eingang.(mp4|mkv|mov|m4v|webm|aac|m4a|wav|mp3) -o ausgang.png
-i eingang.(mp4|mkv|mov|m4v|aac|m4a|wav|mp3)
-o ausgang.png : optionales Argument # wenn die Option nicht bereitgestellt wird,
wird standardmäßig Eingabename-Wellenform-Datum-Uhrzeit verwendet

wellenform Batch-Prozess

Stapelverarbeitungsdateien im aktuellen Arbeitsverzeichnis

Beachten Sie, dass wir die Option -o weglassen, um den Standardausgabenamen zu verwenden. Eingabename-Wellenform-Datum-Uhrzeit

Erstellen Sie Wellenformbilder aus allen MP4-Dateien im aktuellen Verzeichnis

find . -type f -name "*.mp4" -exec sh -c \
'wellenform -i "${0}"' \
"{}" \;

webp

Erstellen Sie ein animiertes Webp-Bild aus einem Video mit ffmpeg

webp animierte bilder youtube

  • Verwendung von Skripten
webp -i eingang -c 0-6 -q 0-100 -f 15 -w 600 -p none -o ausgang.webp
  • Skript hilfe
webp -h
# Webp animiertes Bild

webp -i eingang -c 0-6 -q 0-100 -f 15 -w 600 -p none -o ausgang.webp
-i eingang
-c komprimierungsstufe: 0 - 6: standard 4
-q qualität: 0 - 100 : standard 80
-f framerate: standard 15
-w breite: standard 600px
-p voreingestellt: none|default|picture|photo|drawing|icon|text : standard none
-o ausgang.webp : optionales argument
# Wenn die Option nicht angegeben ist, wird standardmäßig input-name.webp verwendet

webp Batch-Prozess

Stapelverarbeitungsdateien im aktuellen Arbeitsverzeichnis

find . -type f -name "*.mp4" -exec sh -c 'webp -i "${0}"' "{}" \;

xfade

Wenden Sie mit den xfade-Filtern einen Übergang zwischen zwei Clips an

xfade ffmpeg wiki

  • Verwendung von Skripten
xfade -a clip1.(mp4|mkv|mov|m4v) -b clip2.(mp4|mkv|mov|m4v) -d dauer -t Übergang -f versetzt -o ausgang.mp4
  • Skript hilfe
xfade -h
# ffmpeg Xfade-Übergänge

xfade -a clip1.(mp4|mkv|mov|m4v) -b clip2.(mp4|mkv|mov|m4v) -d dauer -t Übergang -f versetzt -o ausgang.mp4
-a clip1.(mp4|mkv|mov|m4v) : erster Clip
-b clip2.(mp4|mkv|mov|m4v) : zweiter Clip
-d dauer                   : Übergangszeit
-t übergang                : Übergang
-f versetzt                : versetzt
-o ausgang.mp4             : optionales Argument # wenn die Option nicht bereitgestellt wird,
wird standardmäßig Eingabename-xfade-Datum-Uhrzeit verwendet

+ übergänge

circleclose, circlecrop, circleopen, diagbl, diagbr, diagtl, diagtr, dissolve, distance
fade, fadeblack, fadegrays, fadewhite, hblur, hlslice, horzclose, horzopen, hrslice
pixelize, radial, rectcrop, slidedown, slideleft, slideright, slideup, smoothdown
smoothleft, smoothright, smoothup, squeezeh, squeezev, vdslice, vertclose, vertopen, vuslice
wipebl, wipebr, wipedown, wipeleft, wiperight, wipetl, wipetr, wipeup

zoompan

Konvertieren Sie ein Bild in ein Video und wenden Sie den Ken Burns-Effekt auf den Clip an

  • Verwendung von Skripten
zoompan -i eingang.(png|jpg|jpeg) -d (000) -z (in|out) -p (tl|c|tc|tr|bl|br) -o ausgang.mp4
  • Skript hilfe
zoompan -h
# ken burns wirkung

zoompan -i eingang.(png|jpg|jpeg) -d (000) -z (in|out) -p (tl|c|tc|tr|bl|br) -o ausgang.mp4
-i = eingang.(png|jpg|jpeg)
-d = dauer       : von 1-999
-z = zoomen      : in or out
-p = position    : Zoomen Sie auf die unten aufgeführte Position
-o = ausgang.mp4 : optionales Argument # Standard ist Eingabename-Zoompan-Datum-Uhrzeit

+------------------------------+
+tl            tc            tr+
+                              +
+              c               +
+                              +
+bl                          br+
+------------------------------+
+------------------------------+
+tl            tc            tr+
+                              +        
+              c               +
+                              +
+bl                          br+
+------------------------------+

zoompan Batch-Prozess

Stapelverarbeitungsdateien im aktuellen Arbeitsverzeichnis

Beachten Sie, dass wir die Option -o weglassen, um den Standardausgabenamen zu verwenden. Eingabename-Zoompan-Datum-Uhrzeit

Batch-Verarbeitung aller PNG-Dateien im aktuellen Arbeitsverzeichnis, Wenden Sie das Zoompan-Skript mit einer Dauer von 5 Sekunden an, zoomen Sie in die Mitte des Bildes

find . -type f -name "*.png" -exec sh -c \
'zoompan -i "${0}" -d 5 -z in -p c' \
"{}" \;

About

Eine Sammlung von ffmpeg-Shell-Skripten für grundlegende Bearbeitungsaufgaben

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published