Videoumwandlung per Befehlssteuerung

Status
Für weitere Antworten geschlossen.

Hessi30

Benutzer
Mitglied seit
23. Nov 2012
Beiträge
133
Punkte für Reaktionen
2
Punkte
24
Hallo zusammen, ich versuche mit einem eigenen Script meine Syno dazu zu bringen gewisse Videodateien in ein anderes Format zu wandeln. Das Script ist via Aufgabenplaner hinterlegt.
Allerdings frage ich mich beim normalen testen über putty ob dies so richtig sein könnte.

Rich (BBCode):
ffmpeg -i /volume1/photo/01-Photo-Backup/Videos/*.MOV -c:v mpeg4 -r 25 -b:v 16000 -c:a mp2 -ac 2 -ar 48000 -b:a 192k /volume1/photo/01-Photo-Backup/Videos/*.mp4

Hat jemand Erfahrungen diesbezüglich der mir helfen könnte? Hat vielleicht jemand eine alternative Lösung?
Hintergrund der ganzen Geschichte: Mein Handy überspielt Bilder und Videodateien in eine gewisse Ordner Struktur. Ich möchte so wenig wie möglich manuell eingreifen. So dachte ich mir, gut wenn die NAS eben diese Videos bekommt, dann kann sie es auch gleich in ein von mir gewünschtes Format umwandeln....
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
29.845
Punkte für Reaktionen
1.138
Punkte
754
Du müsstest doch mit der Zeile testen und am Ergebnis erkennen können, ob es so arbeitet, wie Du es haben möchtest.
 

Hessi30

Benutzer
Mitglied seit
23. Nov 2012
Beiträge
133
Punkte für Reaktionen
2
Punkte
24
Gemäß Kommandozeile passt das. allerdings erwartet Putty eine Eingabe nach Befehlsausführung. Er fragt "...." already exists. Overwirte? Y/N

Wie kann ich dem Script sagen, dass er die Rückfrage mit Y bestätigen soll?
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
29.845
Punkte für Reaktionen
1.138
Punkte
754
Probiere es 'mal mit der Option -y hinter dem Inputpfad - also z.B. vor der Option "-c:v mpeg4"
 

Hessi30

Benutzer
Mitglied seit
23. Nov 2012
Beiträge
133
Punkte für Reaktionen
2
Punkte
24
ok das hat soweit geklappt. Das Script ist durchgelaufen.
Aber irgendwo habe ich einen Denkfehler drin.

In dem besagten Ordner haben sich 4 Videodateien befunden, die hat er umgewandent allerdings ist jedes video mit dem selben inhalt?
Gibt es einen parameter der sagt. Nehme eine datei nach der anderen, und erzeuge daraus eine MP4 mit dem Dateiname "Video1, Video2, Video3" ?
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
29.845
Punkte für Reaktionen
1.138
Punkte
754
Probiere es bitte einmal mit folgendem Shell-Skript:

Rich (BBCode):
#!/bin/sh

for datei in *.MOV
do
   ffmpeg -i /volume1/photo/01-Photo-Backup/Videos/$datei -c:v mpeg4 -r 25 -b:v 16000 -c:a mp2 -ac 2 -ar 48000 -b:a 192k /volume1/photo/01-Photo-Backup/Videos/`basename $datei .MOV`.mp4
done
 

Hessi30

Benutzer
Mitglied seit
23. Nov 2012
Beiträge
133
Punkte für Reaktionen
2
Punkte
24
Das Script wurde ausgeführt. allerdings habe ich als Ergebnnis keine Änderungen feststellen können. Jede Videodatei ist gleichgroß und hat den selben Inhalt.
 

AndiHeitzer

Benutzer
Sehr erfahren
Mitglied seit
30. Jun 2015
Beiträge
3.215
Punkte für Reaktionen
509
Punkte
174
Ich habe bei mir folgendes Shell-Script am laufen, dass genau das macht, was Du möchtest:

Rich (BBCode):
########################################################################
# Script konvertiert Video-Files
########################################################################


##### Variablen vorbereiten
export LOGFILE=/volume1/_WARTUNGS-LOGS_/aktuelle_aufgabe_ablauf.txt
export dateiname=$(basename "$0")
date +"[%Y%m%d - %H%M%S] ${dateiname} - BEGINN">>$LOGFILE
export WORKLOG=/volume1/_WARTUNGS-LOGS_/convert_vid2mp4_automatisch.txt
export WORKPATH="/volume2/MULTIMEDIA/Video.bearbeiten/"
export WORKTIMESTART=$(date +%Y%m%d-%H%M%S)
export FFMPEGBIN=/bin/ffmpeg
# Folgende Zeile macht, dass Leerzeichen im Dateinamen ohne Zeilenumbruch aufgefasst werden.
IFS="
"


##### Wenn bereits ein Konvertierungsprozess rennt, dann abbrechen
if [ -f "${WORKPATH}_es-wird-gerade-konvertiert_" ]
	then
		echo Konvertierung rennt bereits ...
		date +"[%Y%m%d - %H%M%S] ${dateiname} - ENDE">>$LOGFILE
		exit 0
fi


##### Teste auf Videodateien, die konvertiert werden sollen
##### Wenn kein AVI & TS vorhanden ist, dann steige aus
if ls "${WORKPATH}"*".ts" 1> /dev/null 2>&1;
then
	echo TS-Videodatei vorhanden ...
elif ls "${WORKPATH}"*".avi" 1> /dev/null 2>&1;
then
	echo AVI-Videodatei vorhanden ...
elif ls "${WORKPATH}"*".mkv" 1> /dev/null 2>&1;
then
	echo MKV-Videodatei vorhanden ...
else
	echo Keine Videodatei vorhanden ...
	echo > ${WORKPATH}_nichts-zum-abarbeiten-gefunden_
	date +"[%Y%m%d - %H%M%S] ${dateiname} - ENDE">>$LOGFILE
	exit 0
fi


##### Wenn FFMPEG nicht installiert ist
date +"[%Y%m%d - %H%M%S] Script beginnt." >${WORKLOG}
if [ -f "${FFMPEGBIN}" ]
then
	echo FFMPEG ist unter ${FFMPEGBIN} installiert ...
	echo FFMPEG ist unter ${FFMPEGBIN} installiert ...>>${WORKLOG}
	echo >>${WORKLOG}
	echo >>${WORKLOG}
else
	echo FFMPEG ist NICHT installiert ...
	echo FFMPEG ist NICHT installiert ...>>${WORKLOG}
	date +"[%Y%m%d - %H%M%S] ${dateiname} - ENDE">>$LOGFILE
	exit 0
fi


##### Ab hier wird konvertiert
rm ${WORKPATH}_nichts-zum-abarbeiten-gefunden_
echo > ${WORKPATH}_es-wird-gerade-konvertiert_
echo Es wird abgearbeitet: ${WORKPATH} >>${WORKLOG}
echo >>${WORKLOG}
echo >>${WORKLOG}
echo >>${WORKLOG}
date +"[%Y%m%d - %H%M%S] Konvertierung beginnt." >>${WORKLOG}
echo -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+->>${WORKLOG}
for FILE in $(find "${WORKPATH}" -maxdepth 1 -name "*.avi" -type f)
	do
		export DATEIFULL=`basename "${FILE}"`
		export DATEISUFF=`basename --suffix=.avi "${FILE}"`
		export PFAD=`dirname "${FILE}"`
		export FILESIZE=$(du -h "${PFAD}/$DATEIFULL"|cut -f1)
		date +"[%Y%m%d - %H%M%S] Datei mit '${FILESIZE}' wird verarbeitet '${DATEIFULL}'" >>${WORKLOG}
		${FFMPEGBIN} -i "${FILE}" -c copy -c:a copy "${PFAD}/${DATEISUFF}.mp4" -y
		rm "${FILE}"
	done


for FILE in $(find "${WORKPATH}" -maxdepth 1 -name "*.mkv" -type f)
	do
		export DATEIFULL=`basename "${FILE}"`
		export DATEISUFF=`basename --suffix=.mkv "${FILE}"`
		export PFAD=`dirname "${FILE}"`
		export FILESIZE=$(du -h "${PFAD}/$DATEIFULL"|cut -f1)
		date +"[%Y%m%d - %H%M%S] Datei mit '${FILESIZE}' wird verarbeitet '${DATEIFULL}'" >>${WORKLOG}
		${FFMPEGBIN} -i "${FILE}" -c copy -c:a copy "${PFAD}/${DATEISUFF}.mp4" -y
		rm "${FILE}"
	done


for FILE in $(find "${WORKPATH}" -maxdepth 1 -name "*.ts" -type f)
	do
		export DATEIFULL=`basename "${FILE}"`
		export DATEISUFF=`basename --suffix=.ts "${FILE}"`
		export PFAD=`dirname "${FILE}"`
		export FILESIZE=$(du -h "${PFAD}/$DATEIFULL"|cut -f1)
		date +"[%Y%m%d - %H%M%S] Datei mit '${FILESIZE}' wird verarbeitet '${DATEIFULL}'" >>${WORKLOG}
		${FFMPEGBIN} -i "${FILE}" -c copy -c:a copy "${PFAD}/${DATEISUFF}.mp4" -y
		rm "${FILE}"
	done


echo >>${WORKLOG}
echo -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+->>${WORKLOG}
date +"[%Y%m%d - %H%M%S] Verarbeitung abgeschlossen." >>${WORKLOG}
export WORKTIMEENDE=$(date +%Y%m%d-%H%M%S)
cp ${WORKLOG} ${WORKPATH}/_${WORKTIMESTART}--${WORKTIMEENDE}___converted.log
chmod 774 ${WORKPATH}/*converted.log


rm ${WORKPATH}_es-wird-gerade-konvertiert_
rm ${WORKLOG}


date +"[%Y%m%d - %H%M%S] ${dateiname} - ENDE">>$LOGFILE

Das rennt erfolgreich schon seit einem knappen Jahr und wird per Aufgabenplaner einmal die Stunde angestossen.
Die Variablen in den Zeilen 6-12 solltest Du noch auf Deine Bedürfnisse anpassen ;-)
 

AndiHeitzer

Benutzer
Sehr erfahren
Mitglied seit
30. Jun 2015
Beiträge
3.215
Punkte für Reaktionen
509
Punkte
174

Hessi30

Benutzer
Mitglied seit
23. Nov 2012
Beiträge
133
Punkte für Reaktionen
2
Punkte
24
Vielen Dank erstmal. Werde ich gleich testen.
Wo im Script kann ich denn hinterlegen, welche Videobitrate etc. verwendet werden soll? Das ist mir nicht ganz klar.
Die Zeilen 6-12 habe ich angepasst.
 

AndiHeitzer

Benutzer
Sehr erfahren
Mitglied seit
30. Jun 2015
Beiträge
3.215
Punkte für Reaktionen
509
Punkte
174
Folgende Zeile macht die eigentliche Konvertierung:
${FFMPEGBIN} -i "${FILE}" -c copy -c:a copy "${PFAD}/${DATEISUFF}.mp4" -y

Ich denke mal, '-c copy' müsste entsprechend angepasst werden?
In deinem Eingangsposting hast Du ja die nötigen Parameter schon parat: '-c:v mpeg4 -r 25 -b:v 16000 -c:a mp2 -ac 2 -ar 48000 -b:a 192k'

Bei den Varaiblen-Definitionen könnte nun noch ein 'export CONVERTPARAM="-c:v mpeg4 -r 25 -b:v 16000 -c:a mp2 -ac 2 -ar 48000 -b:a 192k"' stehen.
Dann würde die Konvertierungszeile etwa folgendermassen heissen:
${FFMPEGBIN} -i "${FILE}" ${CONVERTPARAM} "${PFAD}/${DATEISUFF}.mp4" -y

Wenn es denn funktioniert, gibt doch einfach Bescheid, und ich überlege, das dann ebenso zu nutzen :eek:

Bei meinem Script wird das zu konvertierende File aus dem Verzeichnis gelöscht, sobald er fertig ist. Daher passieren bei mir so Dinge wie Du im Posting #7 geschrieben hast, eher nicht ;-)


Nachtrag:
Bei mir schaut der Workflow wie folgt aus ...
- Mein Intel-NUC nimmt die Sendungen mit DVB-Viewer auf und speichert die Aufnahme als TS-File auf meine DS916
- An meinem PC bearbeite (Anfang/Ende beschneiden & Werbung raus & Untertitel extrahieren) ich die Aufnahmen mittels 'TS-Doctor'
- Anschliesend kopiere ich das bearbeitete TS-File wieder in einen Ordner der DS, wo das obige Script dann zum Einsatz kommt.
- Die konvertierten Files sortiere ich dann nach meinem Gusto auf der DS ein.
- Mein RaspBerry3 Streamt mir dann die Filme auf meine Geräte (TV/Tablet/Smartphone)
 
Zuletzt bearbeitet:

Hessi30

Benutzer
Mitglied seit
23. Nov 2012
Beiträge
133
Punkte für Reaktionen
2
Punkte
24
vielen Dank für deine Unterstützung. Ich habe mal probiert alles das umzusetzen.

Obwohl ich der Meinung bin alles richtig angepasst zu haben, ist das Ergebnis nicht zufriedenstellend. Anscheinend sind keine MOV Dateien vorhanden obwohl diese da sind.

hab ich etwas im Code übersehen?

Rich (BBCode):
########################################################################
# Script konvertiert Video-Files
########################################################################


##### Variablen vorbereiten
export LOGFILE=/volume1/Transfer/aktuelle_aufgabe_ablauf.txt
export dateiname=$(basename "$0")
date +"[%Y%m%d - %H%M%S] ${dateiname} - BEGINN">>$LOGFILE
export WORKLOG=/volume1/Transfer/convert_vid2mp4_automatisch.txt
export WORKPATH="/volume1/photo/01-Photo-Backup/Videos/"
export WORKTIMESTART=$(date +%Y%m%d-%H%M%S)
export FFMPEGBIN=/bin/ffmpeg
# Folgende Zeile macht, dass Leerzeichen im Dateinamen ohne Zeilenumbruch aufgefasst werden.
IFS="
"


##### Wenn bereits ein Konvertierungsprozess rennt, dann abbrechen
if [ -f "${WORKPATH}_es-wird-gerade-konvertiert_" ]
        then
                echo Konvertierung rennt bereits ...
                date +"[%Y%m%d - %H%M%S] ${dateiname} - ENDE">>$LOGFILE
                exit 0
fi


##### Teste auf Videodateien, die konvertiert werden sollen
##### Wenn kein AVI & MOV vorhanden ist, dann steige aus
if ls "${WORKPATH}"*".mov" 1> /dev/null 2>&1;
then
        echo MOV-Videodatei vorhanden ...
elif ls "${WORKPATH}"*".avi" 1> /dev/null 2>&1;
then
        echo AVI-Videodatei vorhanden ...
elif ls "${WORKPATH}"*".mkv" 1> /dev/null 2>&1;
then
        echo MKV-Videodatei vorhanden ...
else
        echo Keine Videodatei vorhanden ...
        echo > ${WORKPATH}_nichts-zum-abarbeiten-gefunden_
        date +"[%Y%m%d - %H%M%S] ${dateiname} - ENDE">>$LOGFILE
        exit 0
fi


##### Wenn FFMPEG nicht installiert ist
date +"[%Y%m%d - %H%M%S] Script beginnt." >${WORKLOG}
if [ -f "${FFMPEGBIN}" ]
then
        echo FFMPEG ist unter ${FFMPEGBIN} installiert ...
        echo FFMPEG ist unter ${FFMPEGBIN} installiert ...>>${WORKLOG}
        echo >>${WORKLOG}
        echo >>${WORKLOG}
else
        echo FFMPEG ist NICHT installiert ...
        echo FFMPEG ist NICHT installiert ...>>${WORKLOG}
        date +"[%Y%m%d - %H%M%S] ${dateiname} - ENDE">>$LOGFILE
        exit 0
fi


##### Ab hier wird konvertiert
rm ${WORKPATH}_nichts-zum-abarbeiten-gefunden_
echo > ${WORKPATH}_es-wird-gerade-konvertiert_
echo Es wird abgearbeitet: ${WORKPATH} >>${WORKLOG}
echo >>${WORKLOG}
echo >>${WORKLOG}
echo >>${WORKLOG}
date +"[%Y%m%d - %H%M%S] Konvertierung beginnt." >>${WORKLOG}
echo -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+->>${WORKLOG}
for FILE in $(find "${WORKPATH}" -maxdepth 1 -name "*.avi" -type f)
        do
                export DATEIFULL=`basename "${FILE}"`
                export DATEISUFF=`basename --suffix=.avi "${FILE}"`
                export PFAD=`dirname "${FILE}"`
                export FILESIZE=$(du -h "${PFAD}/$DATEIFULL"|cut -f1)
                export CONVERTPARAM="-c:v mpeg4 -r 25 -b:v 16000 -c:a mp2 -ac 2 -ar 48000 -b:a 192k
                date +"[%Y%m%d - %H%M%S] Datei mit '${FILESIZE}' wird verarbeitet '${DATEIFULL}'" >>${WORKLOG}
                ${FFMPEGBIN} -i "${FILE}" ${CONVERTPARAM} "${PFAD}/${DATEISUFF}.mp4" -y
                rm "${FILE}"
        done


for FILE in $(find "${WORKPATH}" -maxdepth 1 -name "*.mkv" -type f)
        do
                export DATEIFULL=`basename "${FILE}"`
                export DATEISUFF=`basename --suffix=.mkv "${FILE}"`
                export PFAD=`dirname "${FILE}"`
                export FILESIZE=$(du -h "${PFAD}/$DATEIFULL"|cut -f1)
                export CONVERTPARAM="-c:v mpeg4 -r 25 -b:v 16000 -c:a mp2 -ac 2 -ar 48000 -b:a 192k
                date +"[%Y%m%d - %H%M%S] Datei mit '${FILESIZE}' wird verarbeitet '${DATEIFULL}'" >>${WORKLOG}
                ${FFMPEGBIN} -i "${FILE}" ${CONVERTPARAM} "${PFAD}/${DATEISUFF}.mp4" -y
                rm "${FILE}"
        done


for FILE in $(find "${WORKPATH}" -maxdepth 1 -name "*.mov" -type f)
        do
                export DATEIFULL=`basename "${FILE}"`
                export DATEISUFF=`basename --suffix=.mov "${FILE}"`
                export PFAD=`dirname "${FILE}"`
                export FILESIZE=$(du -h "${PFAD}/$DATEIFULL"|cut -f1)
                export CONVERTPARAM="-c:v mpeg4 -r 25 -b:v 16000 -c:a mp2 -ac 2 -ar 48000 -b:a 192k
                date +"[%Y%m%d - %H%M%S] Datei mit '${FILESIZE}' wird verarbeitet '${DATEIFULL}'" >>${WORKLOG}
                ${FFMPEGBIN} -i "${FILE}" ${CONVERTPARAM} "${PFAD}/${DATEISUFF}.mp4" -y
                rm "${FILE}"
        done


echo >>${WORKLOG}
echo -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+->>${WORKLOG}
date +"[%Y%m%d - %H%M%S] Verarbeitung abgeschlossen." >>${WORKLOG}
export WORKTIMEENDE=$(date +%Y%m%d-%H%M%S)
cp ${WORKLOG} ${WORKPATH}/_${WORKTIMESTART}--${WORKTIMEENDE}___converted.log
chmod 774 ${WORKPATH}/*converted.log


rm ${WORKPATH}_es-wird-gerade-konvertiert_
rm ${WORKLOG}


date +"[%Y%m%d - %H%M%S] ${dateiname} - ENDE">>$LOGFILE
 

AndiHeitzer

Benutzer
Sehr erfahren
Mitglied seit
30. Jun 2015
Beiträge
3.215
Punkte für Reaktionen
509
Punkte
174
Ich schreibe gerade am Smartphone.
Ich kucken mir das morgen am PC mit ordentlicher Auflösung an :)
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
29.845
Punkte für Reaktionen
1.138
Punkte
754
Zur Sicherheit der Hinweis darauf, das Linux case-sensitiv arbeitet, also bei Dateinamen Groß- und Kleinschreibung relevant ist. Falls Deine Dateien also als Extension MOV haben, dann wird dann, wenn man nach *.mov schaut, nichts gefunden. Es muss in dem Fall nach *.MOV geschaut werden.
 

AndiHeitzer

Benutzer
Sehr erfahren
Mitglied seit
30. Jun 2015
Beiträge
3.215
Punkte für Reaktionen
509
Punkte
174
Guten Morgen :)

Mal noch was Einfaches. Die Zeile
export CONVERTPARAM="-c:v mpeg4 -r 25 -b:v 16000 -c:a mp2 -ac 2 -ar 48000 -b:a 192k
Kannst Du direkt ganz oben in die Deklarationen reinschieben. Dann steht das nur einmal drin.

Hat jetzt aber nix damit zu tun, dass es bei Dir noch nicht läuft. Da kann ich mich nur dem dil88 anschliessen.
Gibst Du uns nur mal kurz ne Rückmeldung?

Du kannst ja auf der Shell das Script ausführen und an einzelnen Punkten die Variablen ausgeben lassen, um zu sehen, was grade läuft ...


!!!!!!
Ich sehe grade, dass Du dort, wo Du die noch zu verschiebende Zeile hast, die abschliessenden Gänsefüsschen fehlen ...
!!!!!!
 

Hessi30

Benutzer
Mitglied seit
23. Nov 2012
Beiträge
133
Punkte für Reaktionen
2
Punkte
24
bin gerade dabei das Script anzupassen.

Beim roten Hinweis kommt ich nicht weiter.
Wie ist das mit den Gänsefüssen " zu verstehen. Da brauche ich einen genaueren Hinweis. Ich bin leider immer noch blutiger Anfänger.
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
29.845
Punkte für Reaktionen
1.138
Punkte
754
Diese Zeile

Rich (BBCode):
                export CONVERTPARAM="-c:v mpeg4 -r 25 -b:v 16000 -c:a mp2 -ac 2 -ar 48000 -b:a 192k

ist nicht korrekt. Sie müsste mit Anführungsstrichen enden:

Rich (BBCode):
                export CONVERTPARAM="-c:v mpeg4 -r 25 -b:v 16000 -c:a mp2 -ac 2 -ar 48000 -b:a 192k"
 

AndiHeitzer

Benutzer
Sehr erfahren
Mitglied seit
30. Jun 2015
Beiträge
3.215
Punkte für Reaktionen
509
Punkte
174
Danke dil88 :eek:

Wobei ich grade nicht sicher bin, ob anstelle der doppelten Gänsefüsschen (") nicht doch die einfachen Gänsefüsschen (') korrekter wäre?
 

Hessi30

Benutzer
Mitglied seit
23. Nov 2012
Beiträge
133
Punkte für Reaktionen
2
Punkte
24
Ich habe das Script angepasst.... es sieht so aus:
Rich (BBCode):
########################################################################
# Script konvertiert Video-Files
########################################################################
##### Variablen vorbereiten
export LOGFILE=/volume1/Transfer/aktuelle_aufgabe_ablauf.txt
export dateiname=$(basename "$0")
date +"[%Y%m%d - %H%M%S] ${dateiname} - BEGINN">>$LOGFILE
export WORKLOG=/volume1/Transfer/convert_vid2mp4_automatisch.txt
export WORKPATH="/volume1/photo/01-Photo-Backup/Videos/"
export WORKTIMESTART=$(date +%Y%m%d-%H%M%S)
export CONVERTPARAM="-c:v mpeg4 -r 25 -b:v 16000 -c:a mp2 -ac 2 -ar 48000 -b:a 192k"
export FFMPEGBIN=/bin/ffmpeg
# Folgende Zeile macht, dass Leerzeichen im Dateinamen ohne Zeilenumbruch aufgefasst werden.
IFS="
"
##### Wenn bereits ein Konvertierungsprozess rennt, dann abbrechen
if [ -f "${WORKPATH}_es-wird-gerade-konvertiert_" ]
        then
                echo Konvertierung rennt bereits ...
                date +"[%Y%m%d - %H%M%S] ${dateiname} - ENDE">>$LOGFILE
                exit 0
fi


##### Teste auf Videodateien, die konvertiert werden sollen
##### Wenn kein AVI & MOV vorhanden ist, dann steige aus
if ls "${WORKPATH}"*".MOV" 1> /dev/null 2>&1;
then
        echo MOV-Videodatei vorhanden ...
elif ls "${WORKPATH}"*".avi" 1> /dev/null 2>&1;
then
        echo AVI-Videodatei vorhanden ...
elif ls "${WORKPATH}"*".mkv" 1> /dev/null 2>&1;
then
        echo MKV-Videodatei vorhanden ...
else
        echo Keine Videodatei vorhanden ...
        echo > ${WORKPATH}_nichts-zum-abarbeiten-gefunden_
        date +"[%Y%m%d - %H%M%S] ${dateiname} - ENDE">>$LOGFILE
        exit 0
fi


##### Wenn FFMPEG nicht installiert ist
date +"[%Y%m%d - %H%M%S] Script beginnt." >${WORKLOG}
if [ -f "${FFMPEGBIN}" ]
then
        echo FFMPEG ist unter ${FFMPEGBIN} installiert ...
        echo FFMPEG ist unter ${FFMPEGBIN} installiert ...>>${WORKLOG}
        echo >>${WORKLOG}
        echo >>${WORKLOG}
else
        echo FFMPEG ist NICHT installiert ...
        echo FFMPEG ist NICHT installiert ...>>${WORKLOG}
        date +"[%Y%m%d - %H%M%S] ${dateiname} - ENDE">>$LOGFILE
        exit 0
fi


##### Ab hier wird konvertiert
rm ${WORKPATH}_nichts-zum-abarbeiten-gefunden_
echo > ${WORKPATH}_es-wird-gerade-konvertiert_
echo Es wird abgearbeitet: ${WORKPATH} >>${WORKLOG}
echo >>${WORKLOG}
echo >>${WORKLOG}
echo >>${WORKLOG}
date +"[%Y%m%d - %H%M%S] Konvertierung beginnt." >>${WORKLOG}
echo -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+->>${WORKLOG}
for FILE in $(find "${WORKPATH}" -maxdepth 1 -name "*.avi" -type f)
        do
                export DATEIFULL=`basename "${FILE}"`
                export DATEISUFF=`basename --suffix=.avi "${FILE}"`
                export PFAD=`dirname "${FILE}"`
                export FILESIZE=$(du -h "${PFAD}/$DATEIFULL"|cut -f1)
                date +"[%Y%m%d - %H%M%S] Datei mit '${FILESIZE}' wird verarbeitet '${DATEIFULL}'" >>${WORKLOG}
                ${FFMPEGBIN} -i "${FILE}" ${CONVERTPARAM} "${PFAD}/${DATEISUFF}.mp4" -y
                rm "${FILE}"
        done


for FILE in $(find "${WORKPATH}" -maxdepth 1 -name "*.mkv" -type f)
        do
                export DATEIFULL=`basename "${FILE}"`
                export DATEISUFF=`basename --suffix=.mkv "${FILE}"`
                export PFAD=`dirname "${FILE}"`
                export FILESIZE=$(du -h "${PFAD}/$DATEIFULL"|cut -f1)
                date +"[%Y%m%d - %H%M%S] Datei mit '${FILESIZE}' wird verarbeitet '${DATEIFULL}'" >>${WORKLOG}
                ${FFMPEGBIN} -i "${FILE}" ${CONVERTPARAM} "${PFAD}/${DATEISUFF}.mp4" -y
                rm "${FILE}"
        done


for FILE in $(find "${WORKPATH}" -maxdepth 1 -name "*.mov" -type f)
        do
                export DATEIFULL=`basename "${FILE}"`
                export DATEISUFF=`basename --suffix=.mov "${FILE}"`
                export PFAD=`dirname "${FILE}"`
                export FILESIZE=$(du -h "${PFAD}/$DATEIFULL"|cut -f1)
                date +"[%Y%m%d - %H%M%S] Datei mit '${FILESIZE}' wird verarbeitet '${DATEIFULL}'" >>${WORKLOG}
                ${FFMPEGBIN} -i "${FILE}" ${CONVERTPARAM} "${PFAD}/${DATEISUFF}.mp4" -y
                rm "${FILE}"
        done


echo >>${WORKLOG}
echo -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+->>${WORKLOG}
date +"[%Y%m%d - %H%M%S] Verarbeitung abgeschlossen." >>${WORKLOG}
export WORKTIMEENDE=$(date +%Y%m%d-%H%M%S)
cp ${WORKLOG} ${WORKPATH}/_${WORKTIMESTART}--${WORKTIMEENDE}___converted.log
chmod 774 ${WORKPATH}/*converted.log


rm ${WORKPATH}_es-wird-gerade-konvertiert_
rm ${WORKLOG}


date +"[%Y%m%d - %H%M%S] ${dateiname} - ENDE">>$LOGFILE

über putty habe ich das Script aufgeführt. Mit dieser Rückmeldung:
1.JPG


komisch dass vorher diese Melung gar nicht kam.....
 

AndiHeitzer

Benutzer
Sehr erfahren
Mitglied seit
30. Jun 2015
Beiträge
3.215
Punkte für Reaktionen
509
Punkte
174
über putty habe ich das Script aufgeführt. Mit dieser Rückmeldung:
Anhang anzeigen 38459
komisch dass vorher diese Melung gar nicht kam.....

Jetzt bringst mich echt in Schwierigkeiten ...
2017-09-01 16_04_54-___DS-MASTER__wartungs-scripte__convert_vid2mp4.sh.jpg

Ich habe Deinen Code direkt neben meinen Code gelegt, und kann wirklich keinen Unterschied erkennen :confused:
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat