Update: Es gibt jetzt ein Python Programm mit GUI, siehe unten
-------------------------------------------------------------------------------
Hallo zusammen,
ich möchte meine selbst aufgenommenen Handy-Videos in die Kodi-Datenbank aufnehmen und hab mir dafür ein Batch-Skript gebastelt das mir dabei hilft die nfo, ein Poster und einen Fanart-Screenshot zu erstellen. Vielleicht sucht ja einer von euch so was oder hat Verbesserungsvorschläge, deshalb möchte ich es hier teilen.
Was macht das Tool?
- Es sucht Videos eines bestimmten Dateityps und für jede Datei folgt dann dieser Ablauf:
- Das Video wird gestartet
- Während man das Video sieht (um sich zu erinnern was das war, meist sind die Dateinamen ja nicht gerade aussagekräftig) wird ein Screenshot aus der Mitte erstellt als Fanart und ein Bild aus 2 Screenshots übereinander (bei ein und zwei Dritteln) als Poster (Höhe jeweils 1080px, ich gehe von 1920x1080-Videos aus)
- Schließt man das Video, wird man gefragt wie es heißen soll
- Die nfo-Datei wird erstellt (Unicode, Sonderzeichen sind also erlaubt) mit dem Erstell-Zeitpunkt als sorttitle und dem Datum + dem eingegebenen Namen als Titel (yyyy-mm-dd Name), Genre=EigeneVideos, Set=Eigene Videos
- Die nfo, das Video und die Poster- und Fanart-Datei werden in einen Unterordner mit dem Dateinamen des Videos verschoben
- Weiter geht's mit dem nächsten Video
Wovon geht das Tool aus?
- Es liegt im gleichen Ordner wie die Videos
- relativ dazu liegt im Unterordner \tools\mtn-200808a-win32\ das Programm moviethumbnail. Siehe
http://sourceforge.net/projects/moviethumbnail/files/movie thumbnailer win32 binary/mtn-200808a-win32/
Will man es nicht in einem Unterordner haben, dann eben den Pfad im Skript auf einen absoluten ändern. - In der Konsole ist eine Schriftart eingestellt, die Unicode darstellen kann (für Sonderzeichen wie ä,ö,ü,ß...) => z.B. Consolas oder Lucida Console
Wo finde ich das Ding?
Hier:
@echo off
setlocal enabledelayedexpansion
chcp 65001>NUL
set Dateityp=mp4
set /A Zaehler=0
for %%f in ("%~dp0*.%Dateityp%") do set /A Zaehler=Zaehler+1
echo Es ist/sind %Zaehler% Film(e) zu sortieren.
echo Ich oeffne jetzt einen Film nach dem anderen
echo und frage dann jeweils nach einem Namen dafuer,
echo den Rest kann ich alleine :-)
echo ##### los geht's #####
pause
set /A Schleife=0
for %%f in ("%~dp0*.%Dateityp%") do (
set /A Schleife=Schleife+1
echo ### Beginne Film !Schleife! von !Zaehler! ###
start %%f
if not exist %%~nf-fanart.jpg (
%~dp0tools\mtn-200808a-win32\mtn.exe -c 1 -r 1 -i -o -fanart.jpg -w 1920 -P -t %%f
echo.
echo Fanart fuer Film !Schleife! erstellt!
) else (
echo.
echo Fanart fuer Film !Schleife! schon vorhanden, nicht neu erstellt
)
if not exist %%~nf-poster.jpg (
%~dp0tools\mtn-200808a-win32\mtn.exe -c 1 -r 2 -i -o -poster.jpg -w 951 -P -t -g 7 -k 000000 %%f
echo.
echo Poster fuer Film !Schleife! erstellt!
echo.
) else (
echo.
echo Poster fuer Film !Schleife! schon vorhanden, nicht neu erstellt
echo.
)
set Zeit=%%~tf
set dd=!Zeit:~0,2!
set mm=!Zeit:~3,2!
set yyyy=!Zeit:~6,4!
set hh=!Zeit:~11,2!
set min=!Zeit:~14,2!
echo Der Film wurde am !dd!.!mm!.!yyyy! um !hh!:!min! aufgenommen
echo.
set /p Benennung=Wie soll der gerade gesehene Film denn heissen?
set NFO=%%~dpf%%~nf.nfo
echo Alles klar, ich erstelle jetzt die nfo-Datei:
echo %%~nf.nfo
echo.^<?xml version="1.0" encoding="UTF-8" standalone="yes" ?^>> !NFO!
echo.^<movie^>>> !NFO!
echo. ^<title^>!yyyy!-!mm!-!dd! !Benennung!^</title^>>> !NFO!
echo. ^<sorttitle^>!yyyy!!mm!!dd!_!hh!!min!00^</sorttitle^>>> !NFO!
echo. ^<id^>-1^</id^>>> !NFO!
echo. ^<genre^>EigeneVideos^</genre^>>> !NFO!
echo. ^<set^>Eigene Videos^</set^>>> !NFO!
echo.^</movie^>>> !NFO!
md %%~dpf%%~nf
move %%~dpnf* %%~dpf%%~nf\
echo ### Film !Schleife! von !Zaehler! fertig ###
)
pause
Alles anzeigen
Ich muss dazu sagen, dass das sicher keine High-End-Programmierung ist, ich hab mir viel per Google zusammenkopiert Aber bei mir hat es zumindest funktioniert...
Achso, wahrscheinlich muss ich das nicht dazu sagen, aber sicher ist sicher: der Code muss nur kopiert werden und per Editor als [beliebigerName].cmd abgespeichert werden. Doppelklick drauf und los geht's.
Viel Spaß und ich freue mich auf Rückmeldung