ich würde gerne mkv Dateien mit ffmpeg verkleinern. Hierfür bietet sich ja der 2 pass Modus an. Ich habe mir ein Script geschrieben und gelesen und gelesen aber kein Erfolg.
Ich bekomme zwar am Ende eine mkv Datei, diese hat auch die Größe die ich angegeben habe, allerdings kommt der Audiostream noch oben drauf sodass die Datei dann wieder Größer ist aber ok. Leider lassen sich die Dateien nicht abspielen. VLC öffnet die Datei zwar aber dann macht er sofort stop. Wenn man auf Play drückt folgt auch sofort wieder der Stop.
Kennt sich vielleicht jemand mit FFMPEG aus?
So sieht mein Script aus:
Code: Alles auswählen
#!/bin/bash
# $1 = Datei
# $2 = Dateigröße
laufzeit=`mkvinfo $1 | grep "Duration"`;
laufzeit=${laufzeit::-8}
laufzeit=${laufzeit:26}
minuten=(`echo $laufzeit | tr ':', ' '`)
sekunden=$[(${minuten[1]} * 60) + ((${minuten[0]} * 60) * 60)]
bitrate=$[($2 * 8192) / $sekunden];
ffmpeg -y -i "$1" -vcodec libx264 -acodec copy -b "$bitrate"k -pass 1 -f matroska /dev/null && \
ffmpeg -y -i "$1" -vcodec libx264 -acodec copy -b "$bitrate"k -pass 2 /root/new/"$1"