Defekte Videos kann mencoder reparieren. Mittels apt-get ist dieses Programm schnell installiert.
1 | sudo apt-get install mencoder |
Der folgende Aufruf versucht das Video input.avi zu reparieren. Das Ergebnis wird unter output.avi gespeichert.
1 | mencoder -idx input.avi -ovc copy -oac copy -o output.avi |
Dabei stellt mencoder den Index wieder her und kopiert die Film- und Tonspur.
Für die ganze Filmsammlung eignet sich das folgende Script repair_movies.sh:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | #!/bin/sh #functions f_suffix() { echo "${1##*.}" } #parameters if [ $# -eq 1 ] then #parameter path="$1" else #default path="/data/media/movies" fi #main find "$path" -not -name '*.fixed.*' \( -iname '*.avi' -or -iname '*.mpg' -or -iname '*.mpeg' \) -type f | \ while read i do suffix=$(f_suffix "$i") filename_out="${i%.avi}.fixed.${suffix}" filename_tmp="${i}.tmp" echo "Repair file ${i}" #remove old temp file if [ -f $filename_tmp ] then echo "rm ${filename_tmp}" rm "${filename_tmp}" fi if [ -f $filename_out ] then #file is fixed, remove original file echo "rm ${i}" rm "${i}" else #repair video file mencoder -idx "$i" -ovc copy -oac copy -o "${filename_tmp}" #remove source file only, if mencoder was successfully finished if [ $? -eq 0 ] then mv "${filename_tmp}" "${filename_out}" #delete original movie echo "rm ${i}" rm "${i}" fi fi done |
Im Moment verarbeitet das Script nur avi, mpeg und mpg Dateien (case insensitiv), lässt sich aber leicht erweitern. Zur Sicherheit kann der Teil, der das Orginalvideo löscht, auskommentiert werden.
Nützlicher Tipp, danke dafür.
Hi,
was genau repariert mencoder denn da?
Sind das Filme die überhaupt nicht abgespielt werden können, oder solche welche z.B. irgendwie zu schell ablaufen, keinen Ton haben oder ruckelig wie fliegende Diashows ablaufen?
Ich bitte um eine präzisere Darstellung dessen,w as da repariert wird, Danke.
Ice
Beim Abspielen der kaputten Videos setzt bei meinem Blue Ray von Sony der Ton an der Schnittstelle (mit avidemux geschnitten) aus. Dieses Problem löst mencoder. Auch lassen sich dann Filme abspielen, die z.B. Totem nicht verarbeiten wollte.
Gruß Klaus