Um automatisch Videodateien mit unterschiedlichen Seitenlängen und -verhältnissen in Einzelbilder zu zerlegen, habe ich mir dieses Script aus meinen übermüdeten, koffeinverseuchten Gehirnwindungen geleiert:
Code: Alles auswählen
source=$1 # Video-Dateiname
path="/media/yadgar/POVEARTH_MESH2/Videos/Video-Experimente (Yadgar)/"
: 'frn=$2 # Anzahl der Frames in Video
maxdigits=$3 # höchste vorkommende Stellenzahl
bsize=$4 # Größe der jeweils zu mittelnden Frame-Blöcke'
# Ermittlung der Seitenlängen des zu verarbeitenden Videos
# Breite:
widthraw=$(ffprobe -v quiet -print_format json -show_format -show_streams ${path}${source} | sed -n '12p;13q')
width=$(echo $widthraw | grep -oP '[0-9]+')
# Höhe:
heightraw=$(ffprobe -v quiet -print_format json -show_format -show_streams ${path}${source} | sed -n '13p;14q')
height=$(echo $heightraw | grep -oP '[0-9]+')
echo "Breite: "$width" Höhe: "$height
bleiben aus einem mir unerfindlichen Grund die Variablen $width und $height leer - darf in ffprobe der Datei-Parameter grundsätzlich nicht substituiert werden oder liegt es womöglich an den Leerzeichen in Pfad- und Dateinamens-String?