@echo off
chcp 65001>NUL
rem setlocal && cd /D "%~dp0"
setlocal enabledelayedexpansion
REM AYTO TO SCRIPT ΕΝΣΩΜΑΤΩΝΕΙ ΓΙΑ ΠΑΝΤΑ ΣΕ ENA H ΠΕΡΙΣΣΟΤΕΡΑ ARXEIA ΒΙΝΤΕΟ UTF-8 ΥΠΟΤΙΤΛΟΥΣ.  
REM ΤΑ ΛΙΝΚΣ ΕΧΟΥΝ ΕΠΙΠΛΕΟΝ ΒΟΗΘΕΙΑ. ΤΟ ΚΟΜΜΑΤΙ ΤΩΝ ΥΠΟΤΙΤΛΩΝ ΤΟ ΕΒΑΛΑ ΜΟΝΟ ΚΑΙ ΜΟΝΟ ΓΙΑ ΤΥΠΙΚΟΥΣ ΛΟΓΟΥΣ.
REM KAI ΦΥΣΙΚΑ ΤΑ ΟΝΟΜΑΤΑ ΤΩΝ ΥΠΟΤΙΤΛΩΝ ΠΡΕΠΕΙ ΝΑ ΕΙΝΑΙ ΙΔΙΑ ΜΕ ΤΟ ΑΡΧΕΙΟ ΠΟΥ ΘΕΛΕΤΕ ΝΑ ΠΡΟΣΤΕΘΟΥΝ
REM ΚΑΙ ΑΝΑΓΚΑΣΤΙΚΑ ΝΑ ΕΙΝΑΙ UTF-8 KAI MONO, OYTE UTF-8 With BOM ΠΟΥ ΤΑ ΑΠΟΘΗΚΕΥΑΝ ΤΑ WINDOWS 7 OYTE ΚΑΠΟΙΟ
REM ΑΛΛΟ ENCODING ΓΙΑΤΙ ΤΟ FFMPEG ΕΙΝΑΙ ΕΡΓΑΛΕΙΟ PORTED ΑΠΟ ΤΑ LINUX ΠΟΥ ΤΑ UTF-8 ΕΙΝΑΙ DEFAULT ENCODING.
REM ΤΑ SCRIPT ΕΙΝΑΙ ΜΕΡΟΣ ΤΟΥ gamelink.gr-ffmpeg-scripts.zip ΑΠΟ ΤΟ EL.GAMELINK.GR
REM Ακολουθεί το Url για να μάθετε περισσότερα ή να το κατεβάσετε. Καλά video editing!
REM 
REM https://el.gamelink.gr/blog/Pws-Mporeite-Na-Mikrynete-ta-Video-gia-tis-MkDocs-Selides-sas-me-to-ffmpeg/ 
REM 

rem https://www.abyssale.com/generate-video/how-to-add-subtitles-to-videos-with-ffmpeg#
rem https://web.archive.org/web/20200511024225/https://ffmpeg.zeranoe.com/forum/viewtopic.php?f=7&t=2554
rem https://trac.ffmpeg.org/wiki/HowToBurnSubtitlesIntoVideo
rem https://stackoverflow.com/questions/8672809/use-ffmpeg-to-add-text-subtitles

rem EXTRA HELP...
rem καταρχήν ο player που εχει enable / disable subs και δοκιμασα τα script των subs ειναι ο VLC και ειναι free 
rem escaping BS!!!
rem https://ffmpeg.org//ffmpeg-filters.html#Notes-on-filtergraph-escaping
rem https://ss64.com/nt/syntax-esc.html
rem https://en.wikibooks.org/wiki/FFMPEG_An_Intermediate_Guide/subtitle_options
rem language codes: https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
rem https://trac.ffmpeg.org/attachment/ticket/2431/sub_charenc_parameters.txt
rem https://web.archive.org/web/20200511024225/https://ffmpeg.zeranoe.com/forum/viewtopic.php?f=7&t=2554
rem https://trac.ffmpeg.org/wiki/HowToBurnSubtitlesIntoVideo
rem https://superuser.com/questions/723299/is-there-a-way-to-soft-embed-subtitles-into-an-mp4-file-without-re-encoding
rem file encodings για προχωρημενους
rem https://stackoverflow.com/questions/3710374/get-encoding-of-a-file-in-windows


echo.
echo   Υπενθύμιση, η ενσωμάτωση για να δουλέψει θα πρέπει να είναι οι υπότιτλοι αποθηκευμένοι ως UTF-8
echo  Ούτε ως UTF-8 With BOM που τα αποθήκευαν τα Windows 7 ούτε με κάποιο άλλο encoding γιατί το FFmpeg
echo   είναι ένα εργαλείο open source μεν αλλά ported από τα Linux που η UTF-8 είναι default encoding.
rem echo  Επίσης Αρχεία με κενά και ειδικούς χαρακτήρες bug-αρουν την εντολή που δυστυχώς ειναι μέσα σε ""
rem echo   Όταν το αρχεία υπότιτλων και βιντεο έχουν ονομασίες με ειδικούς χαρακτήρες το μενού κλείνει.
echo.

echo.
set "StartSubs=srt"
set /p StartSubs=Γράψε το Extension του Υπότιτλου που θες να προστεθεί στο Βίντεο, π.χ. sub, αλλιώς Enter για default srt:
rem μονο με srt εκανα δοκιμες. αν σας βγαλει errors χρησιμοποιήστε κανέναν sub editor, διαβαστε τα λινκς απο κατω για να καταλαβετε


echo.
set "StartFonts=20"
set /p StartFonts=Γράψε το μέγεθος των Fonts που θες να προστεθεί στο Βίντεο, π.χ. 24, αλλιώς Enter για default 20:
rem μονο με srt εκανα δοκιμες. αν σας βγαλει errors χρησιμοποιήστε κανέναν sub editor, διαβαστε τα λινκς απο κατω για να καταλαβετε

rem το προβλημα ηταν escape of '' στην εντολή αλλά το αφήνω μπας και χρειαστεί στο μέλλον για κάτι άλλο
rem set FC_CONFIG_DIR=.\fonts
rem set FONTCONFIG_FILE=fonts.conf
rem set FONTCONFIG_PATH=.\fonts
rem https://web.archive.org/web/20200511024225/https://ffmpeg.zeranoe.com/forum/viewtopic.php?f=7&t=2554
rem https://invidious.fdn.fr/watch?v=b9Ntiiwo2lM
rem general catalogue 
rem https://download.gnome.org/binaries/win32/dependencies/
rem latest today
rem https://download.gnome.org/binaries/win32/dependencies/fontconfig_2.8.0-2_win32.zip



:FF

rem echo. to file einai "%~p1%~n1.%StartSubs%"
if exist "%~p1%~n1.%StartSubs%" (

	echo.
	echo Προσθέτω υπότιτλο στο "%~1" ..
	rem echo to path einai %~p1%~n1.%StartSubs%
	rem echo to fontsize einai %StartFonts%
	echo.
    call ffmpeg -v quiet -stats -loglevel error -i "%~1"  -vf "subtitles='%~n1'.!StartSubs!:force_style='Fontsize=!StartFonts!'"  "%~p1%~n1-perma-%StartFonts%-font-sub.%~x1"

	if %ERRORLEVEL% NEQ 0 (
			call vidCodeError.bat %errorlevel%
			shift
		) else (
			call vidCodeError.bat 0
			shift		
	)
) else (
 
 echo.
 echo Δεν υπάρχει αρχείο Υπότιτλου με ίδιο όνομα στον Κατάλογο που είναι το Βίντεο!
 echo.
 shift

)

if "%~1" == "" goto End
goto FF

rem endlocal 

:End 
call vid0ends.bat
exit /b 0