├── FFMPEG scripts ├── Color Grading Scopes (OBS).cmd ├── Color Grading Scopes (OBS) 16x9.cmd ├── Color Grading Scopes (OBS) square.cmd ├── JMF Color Grading Scopes (desktop).cmd ├── to JPG.cmd ├── JMF Color Grading Scopes (desktop) - compact.cmd ├── quality-0 JPG.cmd ├── to MKV.cmd ├── JMF Color Grading Scopes (desktop) - compact - region.cmd ├── JMF Color Grading Scopes (desktop) - compact - source.cmd ├── level-3 PNG replace with.cmd ├── to MKV FLAC.cmd ├── level-3 PNG.cmd ├── level-x PNG.cmd ├── Generate multires ICO.cmd ├── Webcam Snapshot.cmd ├── WebCam.cmd ├── FLAC.cmd ├── MKV.cmd ├── Video2Gif.cmd ├── to CFHD MOV.cmd ├── MKV with trim function.cmd ├── MP4 for YouTube with trim function.cmd ├── MKV subtitles.cmd ├── MP4 subtitles.cmd ├── MKV ProRes.cmd ├── WAV-to-FLAC-using-FFMPEG.cmd ├── Merging Audio with Video YouTube v1.2.cmd ├── Radio.cmd ├── VideoToImageSequence_v2.3.0.cmd └── Render4YouTubeTimer_v1.10.2.cmd ├── .gitattributes ├── General scripts ├── spped up LAN internet.cmd ├── tex documentation help.cmd ├── restart explorer.cmd ├── fico.cmd ├── tmpcln.cmd ├── dpi.cmd ├── 7-zip_icons_change.cmd ├── Add to RemotePlay.bat ├── WiFi-ImportOrExport.cmd ├── RandomMAC.cmd └── Timer.cmd └── README.md /FFMPEG scripts/Color Grading Scopes (OBS).cmd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fubaxiusz/Batch-tools/HEAD/FFMPEG scripts/Color Grading Scopes (OBS).cmd -------------------------------------------------------------------------------- /FFMPEG scripts/Color Grading Scopes (OBS) 16x9.cmd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fubaxiusz/Batch-tools/HEAD/FFMPEG scripts/Color Grading Scopes (OBS) 16x9.cmd -------------------------------------------------------------------------------- /FFMPEG scripts/Color Grading Scopes (OBS) square.cmd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fubaxiusz/Batch-tools/HEAD/FFMPEG scripts/Color Grading Scopes (OBS) square.cmd -------------------------------------------------------------------------------- /FFMPEG scripts/JMF Color Grading Scopes (desktop).cmd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fubaxiusz/Batch-tools/HEAD/FFMPEG scripts/JMF Color Grading Scopes (desktop).cmd -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | "*.bat" text eol=crlf 3 | "*.cmd" text eol=crlf 4 | "*.exe" binary 5 | "JMF Color Grading Scopes*.cmd" text working-tree-encoding=437 6 | -------------------------------------------------------------------------------- /FFMPEG scripts/to JPG.cmd: -------------------------------------------------------------------------------- 1 | chcp 65001 2 | echo off 3 | cls 4 | for %%V in (%*) do ( 5 | ffmpeg -hide_banner -i %%V -map 0 -q:v 0 "%%~dV%%~pV%%~nV.jpg" 6 | ) 7 | pause 8 | -------------------------------------------------------------------------------- /FFMPEG scripts/JMF Color Grading Scopes (desktop) - compact.cmd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fubaxiusz/Batch-tools/HEAD/FFMPEG scripts/JMF Color Grading Scopes (desktop) - compact.cmd -------------------------------------------------------------------------------- /FFMPEG scripts/quality-0 JPG.cmd: -------------------------------------------------------------------------------- 1 | chcp 65001 2 | echo off 3 | cls 4 | for %%F in (%*) do ( 5 | ffmpeg -hide_banner -i %%F -q:v 0 "%%~dF%%~pF%%~nF.jpg" 6 | ) 7 | echo  8 | pause 9 | -------------------------------------------------------------------------------- /FFMPEG scripts/to MKV.cmd: -------------------------------------------------------------------------------- 1 | chcp 65001 2 | echo off 3 | cls 4 | for %%V in (%*) do ( 5 | ffmpeg -hide_banner -fflags +genpts -i %%V -map 0 -c copy "%%~dV%%~pV%%~nV.mkv" 6 | ) 7 | pause 8 | -------------------------------------------------------------------------------- /FFMPEG scripts/JMF Color Grading Scopes (desktop) - compact - region.cmd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fubaxiusz/Batch-tools/HEAD/FFMPEG scripts/JMF Color Grading Scopes (desktop) - compact - region.cmd -------------------------------------------------------------------------------- /FFMPEG scripts/JMF Color Grading Scopes (desktop) - compact - source.cmd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fubaxiusz/Batch-tools/HEAD/FFMPEG scripts/JMF Color Grading Scopes (desktop) - compact - source.cmd -------------------------------------------------------------------------------- /General scripts/spped up LAN internet.cmd: -------------------------------------------------------------------------------- 1 | netsh int tcp set heuristics disabled 2 | netsh int tcp set global autotuninglevel=disabled 3 | netsh int ip set global taskoffload=disabled 4 | pause 5 | -------------------------------------------------------------------------------- /General scripts/tex documentation help.cmd: -------------------------------------------------------------------------------- 1 | chcp 65001 2 | echo off 3 | color f0 4 | cls 5 | title texdoc 6 | :start 7 | set /p package="" 8 | texdoc %package% 9 | echo. 10 | goto :start 11 | -------------------------------------------------------------------------------- /FFMPEG scripts/level-3 PNG replace with.cmd: -------------------------------------------------------------------------------- 1 | chcp 65001 2 | echo off 3 | cls 4 | for %%F in (%*) do ( 5 | ffmpeg -hide_banner -i %%F -compression_level:v 3 "%%~dF%%~pF%%~nF.png" 6 | ) 7 | echo  8 | pause 9 | -------------------------------------------------------------------------------- /FFMPEG scripts/to MKV FLAC.cmd: -------------------------------------------------------------------------------- 1 | chcp 65001 2 | echo off 3 | cls 4 | for %%V in (%*) do ( 5 | ffmpeg -hide_banner -fflags +genpts -i %%V -map 0:v -map 0:a -c:v copy -c:a flac "%%~dV%%~pV%%~nV.mkv" 6 | ) 7 | pause 8 | -------------------------------------------------------------------------------- /FFMPEG scripts/level-3 PNG.cmd: -------------------------------------------------------------------------------- 1 | chcp 65001 2 | echo off 3 | cls 4 | for %%F in (%*) do ( 5 | mkdir "%%~dF%%~pF\lvl3_PNG" 6 | ffmpeg -hide_banner -i %%F -compression_level:v 3 "%%~dF%%~pFlvl3_PNG\%%~nF.png" 7 | ) 8 | echo  9 | pause 10 | -------------------------------------------------------------------------------- /General scripts/restart explorer.cmd: -------------------------------------------------------------------------------- 1 | ECHO OFF 2 | MODE CON: COLS=47 LINES=3 3 | COLOR 0C 4 | CLS 5 | TITLE Wakeup perfomance 6 | ECHO. 7 | CHOICE /M "Restart Explorer to revive perfomance?" 8 | IF ERRORLEVEL 2 EXIT 9 | TASKKILL /IM explorer.exe /F 10 | TIMEOUT /T 1 11 | START explorer.exe -------------------------------------------------------------------------------- /FFMPEG scripts/level-x PNG.cmd: -------------------------------------------------------------------------------- 1 | chcp 65001 2 | echo off 3 | cls 4 | title PNG compression 5 | set /p quality="What compression quality? (default is 3)>" 6 | for %%F in (%*) do ( 7 | echo. 8 | title Compressing "%%~nxF" 9 | mkdir "%%~dF%%~pF\lvl%quality%_PNG" 10 | ffmpeg -hide_banner ^ 11 | -i %%F ^ 12 | -map_metadata -1 ^ 13 | -pred mixed ^ 14 | -compression_level:v %quality% ^ 15 | "%%~dF%%~pF\lvl%quality%_PNG\%%~nF.png" 16 | ) 17 | echo. 18 | echo Finished 19 | echo  20 | pause 21 | -------------------------------------------------------------------------------- /FFMPEG scripts/Generate multires ICO.cmd: -------------------------------------------------------------------------------- 1 | chcp 65001 2 | echo off 3 | cls 4 | ffmpeg -hide_banner -y -i %1 ^ 5 | -filter_complex "[0:v]scale=256:256:flags=lanczos[256x256];[0:v]scale=128:128:flags=lanczos[128x128];[0:v]scale=64:64:flags=lanczos[64x64]; [0:v]scale=48:48:flags=lanczos[48x48]; [0:v]scale=32:32:flags=lanczos[32x32]; [0:v]scale=24:24:flags=lanczos[24x24]; [0:v]scale=16:16:flags=lanczos[16x16]" ^ 6 | -map "[256x256]" -map "[128x128]" -map "[64x64]" -map "[48x48]" -map "[32x32]" -map "[24x24]" -map "[16x16]" "%~n1.ico" 7 | echo. 8 | pause 9 | -------------------------------------------------------------------------------- /FFMPEG scripts/Webcam Snapshot.cmd: -------------------------------------------------------------------------------- 1 | REM This script will capture webcam snapshot 2 | REM Use with Task Scheduler Security Auditing event No. 4625 3 | ECHO off 4 | CHCP 65001 5 | CLS 6 | TITLE FFplay WebCam Snapshot 7 | REM actual program 8 | SET dshowdevice=%* 9 | IF NOT DEFINED dshowdevice ( 10 | ffmpeg -hide_banner -list_devices true -f dshow -i dummy 11 | echo. 12 | SET /P dshowdevice="Type in video device name>" 13 | ) 14 | ffmpeg -hide_banner -f dshow -i video="%dshowdevice%" -update 1 -frames 1 "%date:/=-% %time:~0,2%-%time:~3,2%'%time:~6,2%''.jpg" -------------------------------------------------------------------------------- /General scripts/fico.cmd: -------------------------------------------------------------------------------- 1 | REM Add icon to folder 2 | echo off 3 | cls 4 | set /p info="Type info tip (leave blank if none)>" 5 | echo. 6 | set /p icon="Type icon file name [TAB]>" 7 | echo. 8 | echo Do you want to add icon to this folder: 9 | echo "%cd%"? 10 | choice /c YN 11 | if %errorlevel%==1 ( 12 | echo [.ShellClassInfo]>desktop.ini 13 | if defined %info% echo InfoTip=%info%>>desktop.ini 14 | echo IconResource=%icon%,^0>>desktop.ini 15 | attrib +s +h +r desktop.ini 16 | attrib +s +h +r %icon% 17 | attrib +s "%cd%" 18 | ) 19 | echo on 20 | -------------------------------------------------------------------------------- /FFMPEG scripts/WebCam.cmd: -------------------------------------------------------------------------------- 1 | REM This script will display webcam image 2 | echo off 3 | mode con: cols=64 lines=7 4 | color 07 5 | chcp 65001 6 | cls 7 | title FFplay WebCam 8 | REM actual program 9 | ffplay -hide_banner -f vfwcap -i 0 10 | if errorlevel 9009 ( 11 | echo. 12 | echo Missing FFplay.exe software. 13 | echo Please check your user Environment Variables in system settings. 14 | echo. 15 | echo You can download FFplay packages at: 16 | echo https://ffmpeg.org 17 | echo. 18 | echo ...press any key to visit download website 19 | pause 20 | start http://ffmpeg.zeranoe.com/builds/ 21 | ) 22 | pause 23 | -------------------------------------------------------------------------------- /FFMPEG scripts/FLAC.cmd: -------------------------------------------------------------------------------- 1 | chcp 65001 2 | set filelist=%* 3 | 4 | if not defined filelist ( 5 | set filelist= 6 | echo off 7 | cls 8 | title Convert to FLAC - Error 9 | echo File not found... 10 | echo Please Drag ^& Drop audio file onto this .cmd script 11 | echo .................................................... 12 | pause 13 | goto eof 14 | ) 15 | set filelist= 16 | 17 | echo off 18 | cls 19 | title Convert to FLAC 20 | 21 | SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION 22 | for %%V in (%*) do ( 23 | ffmpeg -hide_banner -i "%%~dV%%~pV%%~nxV" "%%~dV%%~pV%%~nV.flac" 24 | echo. 25 | ) 26 | pause 27 | 28 | -------------------------------------------------------------------------------- /FFMPEG scripts/MKV.cmd: -------------------------------------------------------------------------------- 1 | chcp 65001 2 | set filelist=%* 3 | 4 | if not defined filelist ( 5 | set filelist= 6 | echo off 7 | cls 8 | title Convert to MKV - Error 9 | echo File not found... 10 | echo Please Drag ^& Drop video file onto this .cmd script 11 | echo ................................................... 12 | pause 13 | goto eof 14 | ) 15 | set filelist= 16 | 17 | echo off 18 | cls 19 | title Convert to MKV 20 | 21 | SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION 22 | for %%V in (%*) do ( 23 | ffmpeg -hide_banner -fflags +genpts -i "%%~dV%%~pV%%~nxV" -map 0 -c copy "%%~dV%%~pV%%~nV.mkv" 24 | echo. 25 | ) 26 | pause 27 | 28 | -------------------------------------------------------------------------------- /General scripts/tmpcln.cmd: -------------------------------------------------------------------------------- 1 | REM This script will remove all temp files 2 | chcp 65001 3 | title Temporary files cleanup script 4 | echo off 5 | cls 6 | del /f /s /q "%temp%\*" 7 | del /f /s /q "C:\windows\TEMP\*" 8 | echo. 9 | title FINISHED... Temporary files cleanup script 10 | echo Files left: 11 | echo ─────────────────────────────────────────────────────────────────────────────── 12 | dir /s /d "C:\windows\TEMP\" 13 | echo ─────────────────────────────────────────────────────────────────────────────── 14 | dir /s /d "%temp%" 15 | echo ─────────────────────────────────────────────────────────────────────────────── 16 | echo FINISHED... 17 | echo  18 | pause 19 | :eof -------------------------------------------------------------------------------- /FFMPEG scripts/Video2Gif.cmd: -------------------------------------------------------------------------------- 1 | echo off 2 | chcp 65001 3 | cls 4 | title Converting video to GIF 5 | REM Check if files where dragged onto a script 6 | set filelist=%* 7 | if not defined filelist set /p filelist="Drag and drop video file here>" 8 | set /p hRes="Enter horizontal output resolution>" 9 | set /p fps="Enter FPS output value>" 10 | REM Run conversion for every passed file 11 | for %%I in (%filelist%) do ( 12 | title To GIF %%~nI 13 | ffmpeg -hide_banner ^ 14 | -i "%%~dpnxI" ^ 15 | -vf "fps=%fps%,scale=%hRes%:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" ^ 16 | "%%~dpnI.gif" 17 | echo. 18 | ) 19 | title Finished converting... 20 | pause 21 | -------------------------------------------------------------------------------- /General scripts/dpi.cmd: -------------------------------------------------------------------------------- 1 | chcp 65001 2 | echo off 3 | mode con:cols=54 lines=5 4 | color e0 5 | cls 6 | title Calculate DPI per viewing distance 7 | echo # Calculate DPI per viewing distance 8 | echo. 9 | choice /c 12 /m "Choose [1] for Inches or [2] for centimeters... " 10 | if %errorlevel%==1 goto inches 11 | echo. 12 | set /p distance="Type in view distace in centimeters: " 13 | set /a dpi=6876/(%distance%*100/254)+0,5 14 | goto result 15 | :inches 16 | echo. 17 | set /p distance="Type in view distace in iches: " 18 | set /a dpi=6876/%distance%+0,5 19 | :result 20 | if %dpi%==0 set dpi=1 21 | echo. 22 | echo Minimal DPI = %dpi% 23 | echo. 24 | set distance= 25 | set dpi= 26 | pause -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Batch-tools 2 | A collection of some .bat/.cmd scripts written for Windows and FFMPEG. 3 | 4 | # Please do not download each script individually, only full repository as a Zip. 5 | As Git-hub changes end line symbol to Linux on raw files. 6 | 7 | Some scripts examples: 8 | --------------------- 9 | ![Color Grading Scopes (OBS).cmd](https://i.imgur.com/E9OM8yo.png) 10 | ![](https://i.imgur.com/qpZF02I.jpg) 11 | ![](https://i.imgur.com/VT2bmFo.jpg) 12 | ![](https://i.imgur.com/NZRNGg9.jpg) 13 | ![](https://i.imgur.com/HfguGlZ.jpg) 14 | 15 | Some scripts use FFplay and FFmpeg under the LGPLv2.1 16 | I do not own FFplay, 17 | FFplay is a trademark of Fabrice Bellard, originator of the FFmpeg project. 18 | For latest FFmpeg/FFplay version, visit: 19 | https://ffmpeg.org/download.html#build-windows 20 | -------------------------------------------------------------------------------- /General scripts/7-zip_icons_change.cmd: -------------------------------------------------------------------------------- 1 | REM This script changes registry values for 7-zip icons 2 | chcp 65001 3 | echo off 4 | cls 5 | title 7-zip Icon Changer 6 | echo This script will change icons for 7-zip files 7 | echo such as .7z, .001, etc... 8 | echo. 9 | set /p folder="Drag and drop icons folder> " 10 | cd /d %folder% 11 | title 7-zip Icon Changer - Please wait... 12 | echo Making registry changes. Please wait... 13 | echo. 14 | FOR %%e IN (*.ico) DO ( 15 | echo HKCR\7-Zip.%%~ne "%%~ne Archive" 16 | REG ADD HKCR\7-Zip.%%~ne /ve /d "%%~ne Archive" /f 17 | echo HKCR\7-Zip.%%~ne\DefaultIcon "%cd%\%%e" 18 | REG ADD HKCR\7-Zip.%%~ne\DefaultIcon /ve /d "%cd%\%%e" /f 19 | echo. 20 | ) 21 | title 7-zip Icon Changer - Finished 22 | echo Finished. 23 | pause 24 | endlocal 25 | goto :eof 26 | -------------------------------------------------------------------------------- /General scripts/Add to RemotePlay.bat: -------------------------------------------------------------------------------- 1 | REM Ścieżka do biblioteki Steam (ustaw ręcznie) 2 | set SteamLib=C:\Program Files (x86)\Steam\steamapps\common 3 | set DonnorGameExe=Polygunners.exe 4 | set DonnorGameDir=Polygunners 5 | REM Polskie kodowanie znaków 6 | chcp 65001 7 | echo off & cls 8 | REM Ustaw tytuł 9 | title Remote Play 10 | cd /d "%SteamLib%" 11 | title Remote Play -"%SteamLib%" 12 | REM Dane od użytkownika 13 | set /p GameDir=Wpisz ścieżkę folderu z grą (prawym myszy wkleja) ^> 14 | echo. 15 | REM Usuń link do oryginalnej gry 16 | del /q "%DonnorGameDir%\%DonnorGameExe%" 17 | rmdir /q "%DonnorGameDir%" 18 | REM Link to folderu 19 | mklink /d "%DonnorGameDir%" "%GameDir%" 20 | REM Zmiana lokalizacji na folder a grą 21 | cd /d %GameDir% 22 | title Remote Play -"%GameDir%" 23 | REM Link do EXE 24 | echo. 25 | set /p ExeName=Wpisz nazwę exe z gry (bez końcówki ".exe") ^> 26 | echo. 27 | mklink "%DonnorGameExe%" "%GameDir%\%ExeName%.exe" 28 | pause 29 | -------------------------------------------------------------------------------- /FFMPEG scripts/to CFHD MOV.cmd: -------------------------------------------------------------------------------- 1 | chcp 65001 2 | echo off 3 | cls 4 | title CineForm HD (CFHD) encoder quality setting 5 | rem If no files dragged to the script, manually add them 6 | set files=%* 7 | if defined files echo %* & echo. & goto QUALITY 8 | set /p files="Drag and drop files>" 9 | echo. 10 | rem Exit if missing file 11 | if not defined files echo Error, missing file... & pause & exit 12 | :QUALITY 13 | rem Set default quality 14 | set quality=high 15 | echo Quality options: 16 | echo. 17 | echo film3+ 18 | echo film3 19 | echo film2+ 20 | echo film2 21 | echo film1.5 22 | echo film1+ 23 | echo film1 preserve grain 24 | echo high+ 25 | echo high (default) 26 | echo medium+ 27 | echo medium simple corrections 28 | echo low+ 29 | echo low proxy 30 | echo. 31 | rem Set custom quality setting 32 | set /p quality="Type quality setting>" 33 | for %%V in (%files%) do ( 34 | ffmpeg -hide_banner -i %%V -map 0 -c copy -vcodec cfhd -quality %quality% "%%~dV%%~pV%%~nV.CFHD.%quality%.mov" 35 | ) 36 | echo  37 | pause 38 | -------------------------------------------------------------------------------- /FFMPEG scripts/MKV with trim function.cmd: -------------------------------------------------------------------------------- 1 | chcp 65001 2 | set filelist=%* 3 | 4 | if not defined filelist ( 5 | set filelist= 6 | echo off 7 | cls 8 | title Convert and trim to MKV - Error 9 | echo File not found... 10 | echo Please Drag ^& Drop video file onto this .cmd script 11 | echo ................................................... 12 | pause 13 | goto eof 14 | ) 15 | set filelist= 16 | 17 | echo off 18 | cls 19 | title Convert and trim to MKV 20 | 21 | SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION 22 | for %%V in (%*) do ( 23 | set start= 24 | set lenght= 25 | choice /c YN /m "Trim start?" 26 | if !errorlevel!==1 ( 27 | set /p start="Enter START time in XX:XX.XXX >" 28 | set start= -ss !start! 29 | ) 30 | choice /c YN /m "Cut length?" 31 | if !errorlevel!==1 ( 32 | set /p lenght="Enter final clip LENGTH in XX:XX.XXX >" 33 | set lenght= -t !lenght! 34 | ) 35 | ffmpeg -hide_banner -fflags +genpts -i "%%~dV%%~pV%%~nxV"!start!!lenght!-map 0 -c copy "%%~dV%%~pVtrimmed %%~nV.mkv" 36 | ) 37 | pause 38 | 39 | -------------------------------------------------------------------------------- /FFMPEG scripts/MP4 for YouTube with trim function.cmd: -------------------------------------------------------------------------------- 1 | chcp 65001 2 | set filelist=%* 3 | 4 | if not defined filelist ( 5 | set filelist= 6 | echo off 7 | cls 8 | title Convert and trim to MP4 - Error 9 | echo File not found... 10 | echo Please Drag ^& Drop video file onto this .cmd script 11 | echo ─────────────────────────────────────────────────── 12 | pause 13 | goto eof 14 | ) 15 | set filelist= 16 | 17 | echo off 18 | cls 19 | title Convert and trim to MP4 20 | 21 | SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION 22 | for %%V in (%*) do ( 23 | set start= 24 | set lenght= 25 | choice /c YN /m "Trim start?" 26 | if !errorlevel!==1 ( 27 | set /p start="Enter START time in XX:XX.XXX >" 28 | set start= -ss !start! 29 | ) 30 | choice /c YN /m "Cut length?" 31 | if !errorlevel!==1 ( 32 | set /p lenght="Enter final clip LENGTH in XX:XX.XXX >" 33 | set lenght= -t !lenght! 34 | ) 35 | ffmpeg -hide_banner -fflags +genpts -i "%%~dV%%~pV%%~nxV"!start!!lenght!-c:a copy -c:v copy -movflags faststart "%%~dV%%~pV4YouTube-%%~nV.mp4" 36 | ) 37 | -------------------------------------------------------------------------------- /FFMPEG scripts/MKV subtitles.cmd: -------------------------------------------------------------------------------- 1 | chcp 65001 2 | set filelist=%* 3 | 4 | if not defined filelist ( 5 | set filelist= 6 | echo off 7 | cls 8 | title Mux subtitles and video - Error 9 | echo File not found... 10 | echo Please Drag ^& Drop video and text file onto this .cmd script 11 | echo ............................................................. 12 | pause 13 | goto eof 14 | ) 15 | set filelist= 16 | 17 | echo off 18 | cls 19 | title Mux subtitles and video 20 | 21 | SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION 22 | for %%V in (%*) do ( 23 | title Mux subtitles and video - %%~nV 24 | echo Video: 25 | echo %%~nV 26 | echo Subtitles: 27 | set /p sub=">" 28 | echo. 29 | set /p lang="type in audio language (default eng)>" 30 | if not defined lang set lang=eng 31 | echo. 32 | ffmpeg -hide_banner -fflags +genpts ^ 33 | -i "%%~dV%%~pV%%~nxV" ^ 34 | -i !sub! ^ 35 | -map 0:v -map 0:a -c copy ^ 36 | -map 1:s -c:s:0 srt ^ 37 | -map_metadata -1 ^ 38 | -metadata:s:a:0 language=!lang! ^ 39 | -metadata:s:s:0 language=pol ^ 40 | -disposition:s:0 default ^ 41 | "%%~dV%%~pV%%~nV pol-sub.mkv" 42 | echo. 43 | ) 44 | -------------------------------------------------------------------------------- /FFMPEG scripts/MP4 subtitles.cmd: -------------------------------------------------------------------------------- 1 | chcp 65001 2 | set filelist=%* 3 | 4 | if not defined filelist ( 5 | set filelist= 6 | echo off 7 | cls 8 | title Mux subtitles and video - Error 9 | echo File not found... 10 | echo Please Drag ^& Drop video and text file onto this .cmd script 11 | echo ............................................................. 12 | pause 13 | goto eof 14 | ) 15 | set filelist= 16 | 17 | echo off 18 | cls 19 | title Mux subtitles and video 20 | 21 | SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION 22 | for %%V in (%*) do ( 23 | title Mux subtitles and video - %%~nV 24 | echo Video: 25 | echo %%~nV 26 | echo Subtitles: 27 | set /p sub=">" 28 | echo. 29 | set /p lang="type in audio language (default eng)>" 30 | if not defined lang set lang=eng 31 | echo. 32 | ffmpeg -hide_banner -fflags +genpts ^ 33 | -i "%%~dV%%~pV%%~nxV" ^ 34 | -i !sub! ^ 35 | -map 0:v -map 0:a -c copy ^ 36 | -map 1:s -c:s:0 mov_text ^ 37 | -map_metadata -1 ^ 38 | -metadata:s:a:0 language=!lang! ^ 39 | -metadata:s:s:0 language=pol ^ 40 | -disposition:s:0 default ^ 41 | "%%~dV%%~pV%%~nV pol-sub.mp4" 42 | echo. 43 | ) 44 | -------------------------------------------------------------------------------- /General scripts/WiFi-ImportOrExport.cmd: -------------------------------------------------------------------------------- 1 | REM Imports WiFi networks profiles from currnet folder. 2 | chcp 65001 3 | title WiFi Import 4 | color e0 5 | echo off 6 | cls 7 | :Menu 8 | echo. 9 | echo /////////////////////////////////////////////////////////////////// 10 | echo \\┌─────────────────────────────────────────────────────────────┐\\ 11 | echo //│Importer/Exporter of WiFi networks profiles for your computer│// 12 | echo \\└─────────────────────────────────────────────────────────────┘\\ 13 | echo /////////////////////////////////////////////////////////////////// 14 | echo. 15 | echo ╔════════════════════════════════════════╗ 16 | echo ║ Main Menu ║ 17 | echo ╠════════════════════════════════════════╣ 18 | echo ║ 1. Import WiFi Profiles to computer ║ 19 | echo ║ 2. Export WiFi Profiles to .xml files ║ 20 | echo ╚════════════════════════════════════════╝ 21 | echo. 22 | choice /c 12 /m "Enter your choice. " 23 | if errorlevel 2 ( 24 | goto Exporting 25 | ) 26 | :Importing 27 | echo. 28 | echo Importing... Please wait 29 | echo. 30 | for %%N in (Profiles\*.xml) do netsh wlan add profile filename="%%N" user=current 31 | echo. 32 | echo. 33 | pause 34 | goto eof 35 | :Exporting 36 | echo. 37 | echo Exporting... Please wait 38 | if not exist Profiles ( 39 | mkdir Profiles 40 | ) 41 | netsh wlan export profile %SSIDName% folder=Profiles 42 | echo. 43 | pause 44 | REM end of script 45 | :eof 46 | -------------------------------------------------------------------------------- /FFMPEG scripts/MKV ProRes.cmd: -------------------------------------------------------------------------------- 1 | chcp 65001 2 | set filelist=%* 3 | 4 | ffmpeg 5 | if errorlevel 9009 ( 6 | title=Converting video to ProRes MKV - Error 7 | echo. 8 | echo Missing FFMPEG.exe software. 9 | echo Please check your user Environment Variables in system settings. 10 | echo. 11 | echo You can download FFMPEG packages at: 12 | echo https://ffmpeg.org 13 | echo. 14 | echo ...press any key to visit download website 15 | pause 16 | start http://ffmpeg.zeranoe.com/builds/ 17 | ) 18 | 19 | if not defined filelist ( 20 | set filelist= 21 | echo off 22 | cls 23 | title Converting video to ProRes MKV - Error 24 | echo File not found... 25 | echo Please Drag ^& Drop video file onto this .cmd script 26 | echo ─────────────────────────────────────────────────── 27 | pause 28 | goto eof 29 | ) 30 | set filelist= 31 | 32 | echo off 33 | cls 34 | 35 | title ProRes FFMPEG converter 36 | echo profile [integer] 37 | echo Select the ProRes profile to encode 38 | echo. 39 | echo 'proxy'...... 0 40 | echo 'lt'......... 1 41 | echo 'standard'... 2 42 | echo 'hq'......... 3 43 | echo '4444'....... 4 44 | echo '4444xq'..... 5 45 | choice /c 012345 46 | set /a ProRes=%errorlevel%-1 47 | 48 | goto :%ProRes% 49 | :0 50 | set ProResType=proxy 51 | goto :6 52 | :1 53 | set ProResType=lt 54 | goto :6 55 | :2 56 | set ProResType=standard 57 | goto :6 58 | :3 59 | set ProResType=hq 60 | goto :6 61 | :4 62 | set ProResType=4444 63 | goto :6 64 | :5 65 | set ProResType=4444xq 66 | :6 67 | 68 | for %%V in (%*) do ( 69 | ffmpeg -hide_banner -i "%%~nxV" -c:a copy -c:v prores_ks -profile:v %ProRes% -quant_mat 0 "ProRes_%ProResType%-%%~nV.mkv" 70 | ) 71 | -------------------------------------------------------------------------------- /General scripts/RandomMAC.cmd: -------------------------------------------------------------------------------- 1 | REM Random MAC adress generator 2 | chcp 65001 3 | echo off 4 | cls 5 | title Random MAC adress generator 6 | color 0a 7 | mode con: cols=50 lines=8 8 | :MacGenStart 9 | REM Check for hex2dec 10 | hex2dec 11 | if %errorlevel%==9009 ( 12 | title Random MAC adress generator - ERROR 13 | call :missingHex2dec 14 | goto :eof 15 | ) else ( 16 | cls 17 | ) 18 | REM Starting generating MAC 19 | echo -== Random MAC adress Generator ==- 20 | echo. 21 | call :macgenerator 22 | REM Check for 0x error 23 | if %genMAC:~0,1%==x (goto MacGenStart) else ( 24 | if %genMAC:~0,2%==0x goto MacGenStart 25 | ) 26 | REM End of check 27 | echo Your generated MAC adress is: 28 | echo ┌──────────────────┐ 29 | echo │#%genMAC:~0,2%-%genMAC:~2,2%-%genMAC:~4,2%-%genMAC:~6,2%-%genMAC:~8,2%-%genMAC:~10,2%│ 30 | echo %genMAC% | clip 31 | echo └──────────────────┘ 32 | echo And it has been copied to your clipboard. 33 | pause 34 | REM End of Main Menu 35 | goto MacGenStart 36 | :macgenerator 37 | for /f "tokens=* usebackq" %%f in (`hex2dec %random:~-1%%random:~-1%%random:~-1%%random:~-1%%random:~-1%%random:~-1%%random:~-1%%random:~-1%%random:~-1%%random:~-1%%random:~-1%%random:~-1%%random:~-1%%random:~-1%`) do ( 38 | set genMAC=%%f 39 | ) 40 | set genMAC=%genMAC:~-12% 41 | goto :eof 42 | :missingHex2dec 43 | cls 44 | mode con: cols=63 lines=7 45 | echo ERROR! 46 | echo. 47 | echo hex2dec.EXE not found in "PATH" directory... 48 | echo To get this program, go to website: 49 | echo. 50 | echo https://technet.microsoft.com/en-us/sysinternals/bb896736.aspx 51 | echo. 52 | choice /c yn /m "Do you want to open this link now? " 53 | if %errorlevel%==1 start https://technet.microsoft.com/en-us/sysinternals/bb896736.aspx 54 | goto :eof 55 | -------------------------------------------------------------------------------- /FFMPEG scripts/WAV-to-FLAC-using-FFMPEG.cmd: -------------------------------------------------------------------------------- 1 | REM This script will convert all WAV files to FLAC, using FFMPEG (if installed) 2 | chcp 65001 3 | echo off 4 | cls 5 | title WAV to FLAC 6 | echo -== WAV to FLAC ==- 7 | echo. 8 | echo This script will convert all WAV files in folder to FLAC, 9 | echo using FFMPEG (if installed) 10 | echo. 11 | echo Your current directory is: 12 | echo. 13 | cd 14 | echo. 15 | echo ╔══════════╗ 16 | echo ║ATTENTION!║ This script will delete all converted WAV source! 17 | echo ╚══════════╝ 18 | echo. 19 | choice /c yn /m "Do you want to continue? " 20 | if errorlevel 2 (goto eof) 21 | REM Checking for existing WAV files 22 | if not exist "*.wav" ( 23 | echo. 24 | echo ╔═════╗ 25 | echo ║ERROR║ 26 | echo ╚═════╝ 27 | echo NO .WAV FILES FOUND IN THIS FOLDER. 28 | echo. 29 | echo Press any key to exit... 30 | pause 31 | goto eof 32 | ) 33 | REM Starting convertion 34 | for %%t in (*.wav) do ( 35 | echo =============================================================================== 36 | echo. 37 | echo CURRENT FILE IS "%%t" 38 | echo. 39 | REM Starting FFMPEG module 40 | ffmpeg -hide_banner -i "%%t" "%%~nt.flac" 41 | REM Checking error status of FFMPEG 42 | if errorlevel 9009 ( 43 | echo. 44 | echo ╔═════╗ 45 | echo ║ERROR║ Missing FFMPEG.exe software. 46 | echo ╚═════╝ 47 | echo Please check your user Environment Variables in system settings. 48 | echo. 49 | echo You can download FFMPEG packages at: 50 | echo https://ffmpeg.org 51 | echo. 52 | echo ...press any key to visit download website 53 | pause 54 | start http://ffmpeg.zeranoe.com/builds/ 55 | goto eof 56 | ) 57 | if errorlevel 1 ( 58 | echo. 59 | echo Do you want to delete file "%%t", or exit? 60 | choice /c 12 /m "Press 1. to continue, or 2. to exit. " 61 | echo. 62 | if errorlevel 2 (goto eof) 63 | ) 64 | REM Deleting of file 65 | if exist "%%t" (del "%%t") 66 | ) 67 | REM Bell 68 | echo  69 | echo. 70 | echo Converting done. 71 | echo. 72 | echo Press any key to exit... 73 | pause 74 | goto eof 75 | REM (cc) 2015 Jacob Maximilian Fober 76 | :eof 77 | -------------------------------------------------------------------------------- /General scripts/Timer.cmd: -------------------------------------------------------------------------------- 1 | REM This script measures time 2 | chcp 65001 3 | echo off 4 | title Script to measure time 5 | cls 6 | :start 7 | echo ┌────────────────────────────────────┐ 8 | echo │Press enter to START measuring time.│ 9 | echo └────────────────────────────────────┘ 10 | set /p sessionTitle="Set timer session title or press enter >" 11 | if not defined sessionTitle (set sessionTitle=unnamed session) 12 | call :tstart 13 | title Measuring time... %sessionTitle% 14 | REM Saving start to log file 15 | echo %date% - %sessionTitle%>> timelog.log 16 | echo ╔═══════════════════════╦═══════════╗>> timelog.log 17 | echo ║Time of initialization ║%starttime%║ Total time:>> timelog.log 18 | REM End of log file print 19 | echo. 20 | echo ┌─────────────────────────────────────────────┐ 21 | echo │Now press any key to STOP and display result.│ 22 | echo └─────────────────────────────────────────────┘ 23 | pause 24 | call :tstop 25 | title Script to measure time... %sessionTitle% 26 | echo. 27 | echo ─────────────────────────────────────────────── 28 | call :timer 29 | goto start 30 | REM timer 31 | :tstart 32 | set starttime=%time% 33 | goto eof 34 | :tstop 35 | set endtime=%time% 36 | goto eof 37 | :timer 38 | set/a hour= %endtime:~0,2% - %starttime:~0,2% 39 | set/a min= %endtime:~3,2% - %starttime:~3,2% 40 | set/a sec= %endtime:~6,2% - %starttime:~6,2% 41 | set/a cents= %endtime:~-2% - %starttime:~-2% 42 | if %cents:~0,1% == - ( set/a sec -= 1 && set/a cents += 100 ) 43 | if %sec:~0,1% == - ( set/a min -= 1 && set/a sec += 60 ) 44 | if %min:~0,1% == - ( set/a hour -= 1 && set/a min += 60 ) 45 | if %hour:~0,1% == - ( set/a hour += 24 ) 46 | echo Rendering timer: 47 | echo ╔═══════════════════════╦═══════════╗ Total time: 48 | echo ║Time of initialization ║%starttime%║ hours .............. %hour% 49 | echo ╟───────────────────────╫───────────╢ minutes ............ %min% 50 | echo ║ Time of execution ║%endtime%║ seconds ............ %sec% %cents%/100 51 | echo ╚═══════════════════════╩═══════════╝ 52 | REM Saving to log file 53 | echo ╟───────────────────────╫───────────╢ hours .............. %hour% >> timelog.log 54 | echo ║ Time of execution ║%endtime%║ minutes ............ %min% >> timelog.log 55 | echo ╚═══════════════════════╩═══════════╝ seconds ............ %sec% %cents%/100>> timelog.log 56 | echo.>> timelog.log 57 | goto eof 58 | REM (c) 2015 Jacob Maximilian Fober 59 | :eof 60 | -------------------------------------------------------------------------------- /FFMPEG scripts/Merging Audio with Video YouTube v1.2.cmd: -------------------------------------------------------------------------------- 1 | REM This script merges M4A file with MP4 2 | chcp 65001 3 | echo off 4 | mode con: cols=80 lines=25 5 | color 0b 6 | cls 7 | title Merging Audio and Video from YouTube 8 | echo ▄ ▄ ▄ ▄ 9 | echo █▀█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█▀█ 10 | echo █▀█ ▄ ▄ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄ █▀█ ...by J.M.F. 11 | echo █▀█ █▄█ ░█▄ ▄████ ███████ █▀█ ══════════════════════════════════════ 12 | echo █▀█ █░ █▀█ █░█░██░█░█░█░▄░█░■░█ █▀█ Hello, this scipt will merge audio and 13 | echo █▀█ █░ █▄█ █▄█░██░█░▀░█░▀░█░▀▀█ █▀█ video in M4A / WebM and MP4 format, 14 | echo █▀█ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀ █▀█ into one file. Good luck! 15 | echo █▀█ █▀█ ══════════════════════════════════════ 16 | echo █▀█ Merging Audio with Video █▀█ 17 | echo █▀█ from YouTube █▀█ 18 | echo █▀█ █▀█ 19 | echo █▀█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█▀█ 20 | echo. 21 | echo #TIP To paste, use right-mouse button. 22 | echo --------------------------------------- 23 | :provide 24 | set /p Video=Provide Video file: 25 | echo. 26 | ffprobe -hide_banner %Video% 27 | echo. 28 | set /p Audio=Provide Audio file: 29 | echo. 30 | ffprobe -hide_banner %Audio% 31 | :merging 32 | echo. 33 | REM Merging Audio and Video 34 | choice /c yn /m "Want to begin merging process? " 35 | if errorlevel 2 ( 36 | echo. 37 | goto provide 38 | ) 39 | REM Assigning file name 40 | for %%V in (%Video%) do set Output=%%~dV%%~pV%%~nV 41 | REM Beginning merging 42 | ffmpeg -hide_banner -i %Video% -i %Audio% -c copy -map 0:v -map 1:a "%Output%.mkv" 43 | if errorlevel 9009 ( 44 | echo. 45 | ffmpeg 46 | echo. 47 | echo ╔═════╗ 48 | echo ║ERROR║ Missing FFMPEG.exe software 49 | echo ╚═════╝ 50 | echo Please check your user Environment Variables in system settings. 51 | echo. 52 | echo You can download FFMPEG packages at: 53 | echo https://ffmpeg.org 54 | echo. 55 | echo ...press any key to visit download website or return to merging 56 | goto merging 57 | ) 58 | echo ═══════════════════════════════════════════════════════════════════════════════ 59 | if errorlevel 1 ( 60 | echo ╔═════╗ 61 | echo ║ERROR║ FFMPEG printed error notification. 62 | echo ╚═════╝ 63 | echo. 64 | choice /c 12 /m "Press 1 to renew merging, or 2 to choose files. " 65 | echo. 66 | if errorlevel 2 (goto provide) 67 | goto merging 68 | ) 69 | echo Files were successfully merged to: 70 | echo "%Output%.mkv" 71 | REM Deleting source files 72 | choice /c yn /m "Do you want to delete source files? " 73 | if errorlevel 2 ( 74 | pause 75 | goto eof 76 | ) 77 | if exist %Video% ( 78 | del %Video% 79 | ) else ( 80 | echo ╔═════╗ 81 | echo ║ERROR║ Did not found %Video%. 82 | echo ╚═════╝ 83 | pause 84 | goto eof 85 | ) 86 | if exist %Audio% ( 87 | del %Audio% 88 | ) else ( 89 | echo ╔═════╗ 90 | echo ║ERROR║ Did not found %Audio%. 91 | echo ╚═════╝ 92 | pause 93 | goto eof 94 | ) 95 | if errorlevel 1 ( 96 | echo ╔═════╗ 97 | echo ║ERROR║ Error at deleting or name change. 98 | echo ╚═════╝ 99 | pause 100 | goto eof 101 | ) 102 | pause 103 | REM Copyright (c) 2015 Jacob Maximilian Fober 104 | :eof 105 | -------------------------------------------------------------------------------- /FFMPEG scripts/Radio.cmd: -------------------------------------------------------------------------------- 1 | REM This script plays radio streams thru FFplay execudable 2 | REM ...by JMF 3 | chcp 65001 4 | echo off 5 | cls 6 | REM Default audio device for FFplay 7 | set SDL_AUDIODRIVER=directsound 8 | title FFplay Radio 9 | REM color f0 10 | rem mode con: cols=67 lines=39 11 | call :logo 12 | set nextStation=if defined loopmark goto :eof 13 | :menu 14 | echo ┐╔════════════════════════════════════╗┌ 15 | echo ─══╡│║ Available radio station to listen: ║│╞══─ 16 | echo ┘╚════════════════════════════════════╝└ 17 | echo. 18 | set loopmark= 19 | REM Here are radio stations 20 | :1 21 | echo #1 Music City Roadhouse 22 | set radio=http://streaming.live365.com/a73754 23 | %nextStation% 24 | :2 25 | echo #2 Bar Rockin' Blues 26 | set radio=http://wms-15.streamsrus.com:11730 27 | %nextStation% 28 | :3 29 | echo #3 Bit O Blues 30 | set radio=http://69.4.234.186:8500/ 31 | %nextStation% 32 | :4 33 | echo #4 War Room with Owen Shroyer 34 | set radio=http://50.7.69.18:80/warroom 35 | %nextStation% 36 | :5 37 | echo #5 Alex Jones - Infowars.com 38 | set radio=http://50.7.69.18:80/alexjonesshow 39 | %nextStation% 40 | :6 41 | echo #6 Electronic Trance Psytrance Progressive 42 | set radio=http://hestia2.cdnstream.com/1453_128 43 | %nextStation% 44 | :7 45 | echo #7 Electronic Psychedelic Goa Trance 46 | set radio=http://hestia2.cdnstream.com/1458_128 47 | %nextStation% 48 | :8 49 | echo #8 Electronic Psytrance Zenonseque 50 | set radio=http://hestia2.cdnstream.com/1450_128 51 | %nextStation% 52 | :9 53 | echo #9 JS Bach 54 | set radio=http://streams.calmradio.com/api/299/128/stream 55 | %nextStation% 56 | :10 57 | echo #10(Q) Classical Music 58 | set radio=http://icecast6.play.cz/croddur-256.mp3 59 | %nextStation% 60 | :11 61 | echo #11(W) CINEMIX 62 | set radio=http://158.69.38.195:20082 63 | %nextStation% 64 | :12 65 | echo #12(E) Streaming Soundtracks 66 | set radio=http://hi5.streamingsoundtracks.com 67 | %nextStation% 68 | :13 69 | echo #13(R) Jazz24 70 | set radio=http://live.wostreaming.net/direct/ppm-jazz24mp3-ibc1 71 | %nextStation% 72 | :14 73 | echo #14(T) Megaton Cafe Radio 74 | set radio=http://us2.internet-radio.com:8443/stream 75 | %nextStation% 76 | :15 77 | echo #15(Y) Classic Oldies 78 | set radio=http://91.121.121.25:8076/stream 79 | %nextStation% 80 | :16 81 | echo #16(U) All Oldies Radio 82 | set radio=https://ais-sa2.cdnstream1.com/1345_320 83 | %nextStation% 84 | REM end of radio stations 85 | set radio= 86 | echo. 87 | echo To stop listening, press "q" or Esc 88 | choice /c 123456789QWERTYU /m "Select your radio station..." 89 | set choice=%errorlevel% 90 | title FFplay Radio #%choice% 91 | set loopmark=true 92 | call :%choice% 93 | call :instruction 94 | ffplay -hide_banner -loglevel repeat+info -showmode waves -i %radio% 95 | if errorlevel 9009 ( 96 | cls 97 | title=Error - FFplay Radio 98 | ffplay 99 | echo. 100 | echo Missing FFplay.exe software. 101 | echo Please check your user Environment Variables in system settings. 102 | echo. 103 | echo You can download FFplay packages at: 104 | echo https://ffmpeg.org 105 | echo. 106 | echo ...press any key to visit download website 107 | pause 108 | start http://ffmpeg.zeranoe.com/builds/ 109 | title FFplay Radio 110 | ) else if errorlevel 1 ( 111 | title Error - FFplay Radio 112 | echo. 113 | echo ERROR! 114 | echo Something went wrong... 115 | pause 116 | title FFplay Radio 117 | ) 118 | cls 119 | title FFplay Radio last radio was #%choice% 120 | echo Your last choice was #%choice%... 121 | goto menu 122 | :instruction 123 | echo. 124 | echo Key bindings: 125 | echo ┌────────┬────────────────────┐ 126 | echo │"Q",ESC │ Quit │ 127 | echo │"F" │ Toggle full-screen │ 128 | echo │"P",SPC │ Pause │ 129 | echo │"0","9" │ Volume (+-) │ 130 | echo │"M" │ Mute toggle │ 131 | echo └────────┴────────────────────┘ 132 | goto :eof 133 | :logo 134 | echo. 135 | echo ▀███████████ ███████ ███████ ▀██████████████████▄ 136 | echo ░██▓▓▓▓▓▓▓▓██ ██▓▓▓▓▓██ ██▓▓▓▓▓██ ▒██▓▓▓▓▓▓▓▓▓▓▓▓▓▓██▄ 137 | echo ▒░██▓▒▒▒▒▒▒▓██ ▄██▓▒▒▒▒▓██ ██▓▒▒▒░▒▓██ ░██▓▓▒▒▒▒▒▒▓███████▄ 138 | echo ▓▒ ██████▓▒▒▓██░ ██▓▓▓░▒▓██ ██▓▒▓▓▒▒░▒▓██ ░██▓▓░░░░▒▒▓██▄░ ▒ 139 | echo ▀▓░ ▀▀▀▀██▓░▒▓██░ ██▓█▓░▒▓███▓▒▓▓█▓▓▒░▒▓██ ░██▓▓▒░▒▓▓▓▓██▄ ░▓ 140 | echo ▀▓▒░ ░▓██▓░▒▓██░ ▀███▓▓▒▓▓▓▒▓▓███▓▓▒░▒▓██ ░██▓▓░▒▓██████▄▒▓ 141 | echo ▀▓░▄░▒▓░██▓░▒▓██░░▀░██▓▓▒░▒▓▓██░██▓▓▒░▒▓██ ░██▓▓░▒▓██▄ ▒░▀▀ 142 | echo ▀███▒▒▒░██▓░▒▓██░░▒ ██▓▓▒▓▓██ ░ ██▓▓▒▓▓██▀░░██▓▓░▓▓██ ▓▒ 143 | echo ██▓████████▓░▒▓██░▒ ░██▓▓▓██ ░▓░ ██▓▓▓██ ▒░ ██▓▓▓██▀ ▓█ 144 | echo ██▓▓▓▓▓▓▓▓▓▓▓░░▒▓██▓░ ░██▓██░ ▒▓▒ ░██▓██ ░▓▒ ██▓██ ░▀▀ 145 | echo ███▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▓██▒░ ░███░ ░▓▀▓░ ███ ░▓░▓▒ ███ ▒ 146 | echo ▒▀████████████████████▒ █ ▓▀ ▀░ █ ▒▀ ▀▓▒ █ ░▒ 147 | echo ▓░▒ ▒▀▓ ▒ ▓▀ ▀▓ ▒ ▓▀ ▀▓░ ▒ ░▓▀ 148 | echo █░▓▓▒▒░░ ░░░▒▒▓ ▀▓░▓░▓▀ ▀▓░▓░▓▀ ▀▓▒▓░▓▀ by JMF... 149 | echo █▓▓▓▓▒▒▒░░ ░░░▒▒▓▓▓▓ ▀▓▓▓▀ ▀▓▓▓▀ ▀▓▓▓▀ 150 | echo ▀▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀▀ ▀█▀ ▀█▀ ▀█▀ 151 | timeout /t 1 152 | echo. 153 | goto :eof 154 | -------------------------------------------------------------------------------- /FFMPEG scripts/VideoToImageSequence_v2.3.0.cmd: -------------------------------------------------------------------------------- 1 | REM This script will convert video file to image sequence 2 | REM version 2.3.0 3 | chcp 65001 4 | echo off 5 | mode con: cols=80 lines=23 6 | color 2f 7 | :begining 8 | title Video to Image Sequence - importing files... 9 | cls 10 | echo v2.3.0 11 | call :newlineloop 9 12 | echo --= Video to Image Sequence =-- 13 | echo -= by J.M.F. =- 14 | call :newlineloop 10 15 | set /p input="Drag and drop input file >" 16 | echo OK. 17 | title Video to Image Sequence - output settings... 18 | set /p output="Drag and drop output folder >" 19 | if not exist %output% (mkdir %output%) 20 | cd /d %output% 21 | set output= 22 | echo OK. 23 | set /p filename="Type in output file name (please include FPS) >" 24 | echo OK. 25 | echo. 26 | echo Frame rate 27 | echo ╔════╦════════╗ 28 | echo ║ #1 ║ 23.976 ║ ↓ 29 | echo ║ #2 ║ 23.98 ║ ↓ 30 | echo ║ #3 ║ 24 ╟ Standard cinema movie 31 | echo ║ #4 ║ 25 ╟ Derives from the PAL television, "cine"-look, better for LCD 32 | echo ║ #5 ║ 29.97 ║ ↓ 33 | echo ║ #6 ║ 30 ╟ Inter-frame judder less noticeable + cinematic-like appearance 34 | echo ║ #7 ║ 48 ╟ Current film industry choice, reduced motion blur and flicker 35 | echo ║ #8 ║ 50 ╟ Standard video frame rate for PAL and SECAM television 36 | echo ║ #9 ║ 60 ╟ Current gameplay standard 37 | echo ╟────╫────────╢ 38 | echo ║ #0 ║ As Src ╟ Use automatic 39 | echo ╚════╩════════╝ 40 | echo. 41 | choice /c 1234567890 /m "Choose frame rate. " 42 | if %errorlevel%==1 (set fps= -r 23.976 ) 43 | if %errorlevel%==2 (set fps= -r 23.98 ) 44 | if %errorlevel%==3 (set fps= -r 24 ) 45 | if %errorlevel%==4 (set fps= -r 25 ) 46 | if %errorlevel%==5 (set fps= -r 29.97 ) 47 | if %errorlevel%==6 (set fps= -r 30 ) 48 | if %errorlevel%==7 (set fps= -r 48 ) 49 | if %errorlevel%==8 (set fps= -r 50 ) 50 | if %errorlevel%==9 (set fps= -r 60 ) 51 | if %errorlevel%==10 (set fps= ) 52 | echo OK. 53 | echo. 54 | echo Type of output 55 | echo ╔════╦═════╤═══════╗ 56 | echo ║ #1 ║ TIF │ ║ 57 | echo ╟────╫─────┤ ║ 58 | echo ║ #2 ║ PNG │ 24bit ║ 59 | echo ╟────╫─────┤ ║ 60 | echo ║ #3 ║ TGA │ ║ 61 | echo ╠════╬═════╪═══════╣ 62 | echo ║ #4 ║ TIF │ ║ 63 | echo ╟────╫─────┤ 48bit ║ 64 | echo ║ #5 ║ PNG │ ║ 65 | echo ╚════╩═════╧═══════╝ 66 | echo. 67 | choice /c 12345 /m "Choose type of output. " 68 | if %errorlevel%==1 ( 69 | set compression= 70 | set filetype=.tif 71 | set bitdepth=rgb24 72 | ) 73 | if %errorlevel%==2 ( 74 | set compression= -compression_level 1 75 | set filetype=.png 76 | set bitdepth=rgb24 77 | ) 78 | if %errorlevel%==3 ( 79 | set compression= 80 | set filetype=.tga 81 | set bitdepth=bgr24 82 | ) 83 | if %errorlevel%==4 ( 84 | set compression= 85 | set filetype=.tif 86 | set bitdepth=rgb48le 87 | ) 88 | if %errorlevel%==5 ( 89 | set compression= -compression_level 1 90 | set filetype=.png 91 | set bitdepth=rgb48be 92 | ) 93 | echo OK. 94 | echo. 95 | choice /c yn /m "Export audio to WAV? " 96 | if %errorlevel%==1 set expaudio=1 97 | if %errorlevel%==2 set expaudio=0 98 | echo OK. 99 | echo. 100 | echo Time settings 101 | echo ╔════╦════════════════╗ 102 | echo ║ #1 ║ START and STOP ║ 103 | echo ║ #2 ║ START only ║ 104 | echo ║ #3 ║ STOP only ║ 105 | echo ╟────╫────────────╥───╜ 106 | echo ║ #0 ║ Render ALL ║ 107 | echo ╚════╩════════════╝ 108 | echo. 109 | choice /c 1230 /m "Choose time settings. " 110 | if %errorlevel%==1 ( 111 | echo. 112 | set /p startAt="Type start in timecode 00:00:00.000 >" 113 | set startAt= -ss %startAt% 114 | echo OK. 115 | set /p toPosition="Type end in timecode 00:00:00.000 >" 116 | set toPosition= -to %toPosition% 117 | echo OK. 118 | ) 119 | if %errorlevel%==2 ( 120 | echo. 121 | set /p startAt="Type start in timecode 00:00:00.000 >" 122 | set startAt= -ss %startAt% 123 | echo OK. 124 | set toPosition= 125 | ) 126 | if %errorlevel%==3 ( 127 | echo. 128 | set /p toPosition="Type end in timecode 00:00:00.000 >" 129 | set toPosition= -to %toPosition% 130 | echo OK. 131 | set startAt= 132 | ) 133 | if %errorlevel%==4 ( 134 | echo OK. 135 | set startAt= 136 | set toPosition= 137 | ) 138 | echo. 139 | echo Press any key to start rendering. 140 | pause 141 | title Video to Image Sequence - rendering... 142 | REM Starting render and setting time. 143 | call :tstart 144 | if %expaudio%==1 ( 145 | ffmpeg -hide_banner%startAt%-i %input%%toPosition% "%filename%.wav" 146 | ) 147 | ffmpeg -hide_banner%startAt%-i %input%%fps%-pix_fmt %bitdepth%%toPosition%%compression%"%filename%_%%05d%filetype%" 148 | call :tstop 149 | call :timer 150 | REM Bell rings 3 times when rendering is done 151 | echo  152 | title Video to Image Sequence - finished... 153 | pause 154 | goto :begining 155 | :newlineloop 156 | set /a counter+=1 157 | echo. 158 | if not %counter%==%1 goto :newlineloop 159 | set counter= 160 | goto :eof 161 | :tstart 162 | set starttime=%time% 163 | goto :eof 164 | :tstop 165 | set endtime=%time% 166 | goto :eof 167 | :timer 168 | set /a hour= %endtime:~0,2% - %starttime:~0,2% 169 | set /a min= %endtime:~3,2% - %starttime:~3,2% 170 | set /a sec= %endtime:~6,2% - %starttime:~6,2% 171 | set /a cents= %endtime:~-2% - %starttime:~-2% 172 | if %cents:~0,1% == - ( set/a sec -= 1 && set/a cents += 100 ) 173 | if %sec:~0,1% == - ( set/a min -= 1 && set/a sec += 60 ) 174 | if %min:~0,1% == - ( set/a hour -= 1 && set/a min += 60 ) 175 | if %hour:~0,1% == - ( set/a hour += 24 ) 176 | echo Rendering time: 177 | echo ╔══════════════════════╦═══════════╗ Total time: 178 | echo ║Time of initialization║%starttime%║ hours .............. %hour% 179 | echo ╟──────────────────────╫───────────╢ minutes ............ %min% 180 | echo ║Time of execution ║%endtime%║ seconds ............ %sec% 181 | echo ╚══════════════════════╩═══════════╝ centiseconds ....... %cents% 182 | goto :eof 183 | REM (cc) 2015 Jacob Maximilian Fober 184 | -------------------------------------------------------------------------------- /FFMPEG scripts/Render4YouTubeTimer_v1.10.2.cmd: -------------------------------------------------------------------------------- 1 | REM This script renders video file or image sequence with audio file to MP4 movie optimized for YouTube or Vimeo 2 | chcp 65001 3 | echo off 4 | mode con: cols=80 lines=23 5 | color 2f 6 | cls 7 | title MP4 film creator - 4 YouTube 8 | echo ▄ ▄ ▄ ▄ 9 | echo █▀█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█▀█ by 10 | echo █▀█ ▄ ▄ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄ █▀█ J.M.F. ver 1.10.2 11 | echo █▀█ █▄█ ░█▄ ▄████ ███████ █▀█ ═══════════════════════════════════════ 12 | echo █▀█ █░ █▀█ █░█░██░█░█░█░▄░█░■░█ █▀█ Hello, this software will merge image 13 | echo █▀█ █░ █▄█ █▄█░██░█░▀░█░▀░█░▀▀█ █▀█ sequence with audio file to MP4 film, 14 | echo █▀█ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀ █▀█ or convert from another v/a format. 15 | echo █▀█ █▀█ Good luck! 16 | echo █▀█ ─══ Rendering MP4 Film ══─ █▀█ ═══════════════════════════════════════ 17 | echo █▀█ ─══ 4YouTube ══─ █▀█ Please enter files names... 18 | echo █▀█ █▀█ (Accepted formats: PNG, TIFF, JPG and 19 | echo █▀█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█▀█ audio M4A, WAV, FLAC, MP3) 20 | echo. 21 | echo #TIP To paste use right mouse button. (c) 2015 Jacob Maximilian Fober 22 | echo ═══════════════════════════════════════════════════════════════════════════════ 23 | :importvid 24 | echo Type of source file to import: 25 | echo ╔════╦════════════════╗ 26 | echo ║ #1 ║ image sequence ║ 27 | echo ║ #2 ║ video ║ 28 | echo ╚════╩════════════════╝ 29 | choice /c 12 /m "Which source footage are you using? " 30 | if %errorlevel%==2 ( 31 | echo ═══════════════════════════════════════════════════════════════════════════════ 32 | echo Drag and drop video file to convert. 33 | set startnumber= 34 | set fps= 35 | echo ------------------------------------------------------------------------------- 36 | set/p vidfile="Enter correct video filename: " 37 | echo. 38 | goto framerate 39 | ) 40 | REM #Image sequence import 41 | echo ═══════════════════════════════════════════════════════════════════════════════ 42 | echo Drag and drop one of image sequence file. 43 | echo ┌────────────────────────────┐ 44 | echo (change frame index number to "%%│Number Of Frame Index Digits│d"): 45 | echo └────────────────────────────┘ 46 | echo #Example 47 | echo ┌─────────────────────────────────────────┐ 48 | echo │ For file "C:\seq\YouTubeFilm_00000.png" │ 49 | echo │ │ 50 | echo │ ...enter "C:\seq\YouTubeFilm_%%05d.png" │ 51 | echo └──────────────────────────────↑↑↑↑───────┘ 52 | echo. 53 | echo ------------------------------------------------------------------------------- 54 | set/p vidfile="Enter correct sequence image filename: " 55 | echo ═══════════════════════════════════════════════════════════════════════════════ 56 | echo Provided image file name is: 57 | echo. 58 | echo %vidfile% 59 | echo. 60 | echo ------------------------------------------------------------------------------- 61 | set /p startnumber="Please specify first frame number (usually 0): " 62 | set startnumber= -start_number %startnumber% 63 | :framerate 64 | echo ═══════════════════════════════════════════════════════════════════════════════ 65 | echo. 66 | echo ╔══════════════════════════════════════════════╗ 67 | echo Frame rate ║ Make sure that it maches source frame rate! ║ 68 | echo ╔════╦════════╗ ║ If not audio and video timing will not mach. ║ 69 | echo ║ #0 ║ CUSTOM ║ ↓ ╚══════════════════════════════════════════════╝ 70 | echo ║ #1 ║ 23.976 ║ ↓ 71 | echo ║ #2 ║ 23.98 ║ ↓ 72 | echo ║ #3 ║ 24 ╟ Standard cinema movie 73 | echo ║ #4 ║ 25 ╟ Derives from the PAL television, "cine"-look, better for LCD 74 | echo ║ #5 ║ 29.97 ║ ↓ 75 | echo ║ #6 ║ 30 ╟ Inter-frame judder less noticeable + cinematic-like appearance 76 | echo ║ #7 ║ 48 ╟ Current film industry choice, reduced motion blur and flicker 77 | echo ║ #8 ║ 50 ╟ Standard video frame rate for PAL and SECAM television 78 | echo ║ #9 ║ 60 ╟ Current gameplay standard 79 | echo ╚════╩════════╝ 80 | echo. 81 | echo ------------------------------------------------------------------------------- 82 | choice /c 0123456789 /m "Please specify footage frame rate. " 83 | if %errorlevel%==1 (set /P fps=Type in footage frame rate^> ) 84 | if %errorlevel%==2 (set fps=23.976) 85 | if %errorlevel%==3 (set fps=23.98) 86 | if %errorlevel%==4 (set fps=24) 87 | if %errorlevel%==5 (set fps=25) 88 | if %errorlevel%==6 (set fps=29.97) 89 | if %errorlevel%==7 (set fps=30) 90 | if %errorlevel%==8 (set fps=48) 91 | if %errorlevel%==9 (set fps=50) 92 | if %errorlevel%==10 (set fps=60) 93 | echo ═══════════════════════════════════════════════════════════════════════════════ 94 | REM #Audio import 95 | choice /c yn /m "Do You want to add audio track file? " 96 | if %errorlevel%==2 ( 97 | set audiofile= 98 | set audiobitrate= 99 | goto compression 100 | ) 101 | echo ------------------------------------------------------------------------------- 102 | set /p audiofile="Drag and drop audio file: " 103 | echo ═══════════════════════════════════════════════════════════════════════════════ 104 | echo. 105 | echo Audio compression quality: 106 | echo ╔═══════════════╗ ╔══════════════════════════════════════╗ 107 | echo ║ Bit Rate ║ ──────────────── ║ Higher bitrate means better quality, ║ 108 | echo ╠════╦══════════╣ ║ but file size will be increased. ║ 109 | echo ║ #1 ║ 128 kb/s ╟ best for Mono ╚══════════════════════════════════════╝ 110 | echo ║ #2 ║ 192 kb/s ║ Standard acceptable 111 | echo ║ #3 ║ 256 kb/s ║ 112 | echo ║ #4 ║ 320 kb/s ║ 113 | echo ║ #5 ║ 384 kb/s ╟ best for Stereo 114 | echo ║ #6 ║ 512 kb/s ╟ best for 5.1 115 | echo ╚════╩══════════╝ 116 | echo ------------------------------------------------------------------------------- 117 | choice /c 123456 /m "Please choose audio bitrate. " 118 | if %errorlevel%==1 (set audiobitrate=128k) 119 | if %errorlevel%==2 (set audiobitrate=192k) 120 | if %errorlevel%==3 (set audiobitrate=256k) 121 | if %errorlevel%==4 (set audiobitrate=320k) 122 | if %errorlevel%==5 (set audiobitrate=384k) 123 | if %errorlevel%==6 (set audiobitrate=512k) 124 | :compression 125 | echo ═══════════════════════════════════════════════════════════════════════════════ 126 | echo. 127 | echo Video compression quality: 128 | echo ┌──────────────────────────────────────────────────────────────────────────┐ 129 | echo │ Fastest Encoding ^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^>^> Best Quality-to-Size │ 130 | echo └──────────────────────────────────────────────────────────────────────────┘ 131 | echo ╔═══════╦═══════╦══════╦════════╦══════╦════════╦══════╦════════╦══════════╗ 132 | echo ║ ULTRA ║ SUPER ║ VERY ║ FASTER ║ FAST ║ MEDIUM ║ SLOW ║ SLOWER ║ VERYSLOW ║ 133 | echo ╟───────╫───────╫──────╫────────╫──────╫────────╫──────╫────────╫──────────╢ 134 | echo ║ #1 ║ #2 ║ #3 ║ #4 ║ #5 ║ #6 ║ #7 ║ #8 ║ #9 ║ 135 | echo ╚═══════╩═══════╩══════╩════════╩══════╩════════╩══════╩════════╩══════════╝ 136 | echo ------------------------------------------------------------------------------- 137 | choice /c 123456789 /m "Please choose compression quality. " 138 | if %errorlevel%==1 (set compression=ultrafast) 139 | if %errorlevel%==2 (set compression=superfast) 140 | if %errorlevel%==3 (set compression=veryfast) 141 | if %errorlevel%==4 (set compression=faster) 142 | if %errorlevel%==5 (set compression=fast) 143 | if %errorlevel%==6 (set compression=medium) 144 | if %errorlevel%==7 (set compression=slow) 145 | if %errorlevel%==8 (set compression=slower) 146 | if %errorlevel%==9 (set compression=veryslow) 147 | REM #FineTune settings 148 | echo ═══════════════════════════════════════════════════════════════════════════════ 149 | echo. 150 | echo Fine-Tune 151 | echo ╔════╦═════════════╗ 152 | echo ║ #1 ║ FILM ╟ Intended for high-bitrate/high-quality movie content. 153 | echo ║ #2 ║ ANIMATION ╟ Intended for cartoons, etc. with flat areas. 154 | echo ║ #3 ║ GRAIN ╟ Here, the grain won't be filtered out as much. 155 | echo ║ #4 ║ STILLIMAGE ╟ It optimizes for still image encoding. 156 | echo ╟────╫─────────────╢ 157 | echo ║ #0 ║ Bypass tune ╟ Encoder default setting. 158 | echo ╚════╩═════════════╝ 159 | echo ------------------------------------------------------------------------------- 160 | choice /c 12340 /m "Please specify fine-tune settings. " 161 | if %errorlevel%==1 (set tune= -tune film) 162 | if %errorlevel%==2 (set tune= -tune animation) 163 | if %errorlevel%==3 (set tune= -tune grain) 164 | if %errorlevel%==4 (set tune= -tune stillimage) 165 | if %errorlevel%==5 (set tune=) 166 | REM #Resize settings 167 | echo ═══════════════════════════════════════════════════════════════════════════════ 168 | echo. 169 | echo Resize settings (horizontal) 170 | echo ╔════╦══════╗ 171 | echo ║ #1 ║ 4096 ╟ 4K 172 | echo ║ #2 ║ 2048 ╟ 2K 173 | echo ║ #3 ║ 1920 ╟ FullHD 174 | echo ║ #4 ║ 1280 ╟ HD Ready 175 | echo ╟────╫──────╢ 176 | echo ║ #0 ║ Src. ╟ Encoder default setting. 177 | echo ╚════╩══════╝ 178 | echo ------------------------------------------------------------------------------- 179 | choice /c 12340 /m "Please specify fine-tune settings. " 180 | if %errorlevel%==1 ( 181 | set res= -vf scale=4096:-1 182 | ) 183 | if %errorlevel%==2 ( 184 | set res= -vf scale=2048:-1 185 | ) 186 | if %errorlevel%==3 ( 187 | set res= -vf scale=1920:-1 188 | ) 189 | if %errorlevel%==4 ( 190 | set res= -vf scale=1280:-1 191 | ) 192 | if %errorlevel%==5 ( 193 | set res= 194 | ) 195 | REM #Bitrate settings 196 | echo ═══════════════════════════════════════════════════════════════════════════════ 197 | echo. 198 | echo ╔══════════════╗ ╔══════════════════════════════════════╗ 199 | echo ║ Bit Rate ║ Res. (frame rate) ║ Higher bitrate means better quality, ║ 200 | echo ╠════╦═════════╣ ────────────────── ║ but file size will be increased. ║ 201 | echo ║ #1 ║ 2 500k ╟ 720p (48, 50, 60) ╚══════════════════════════════════════╝ 202 | echo ║ #2 ║ 3 000k ╟ 1080p (24, 25, 30) FullHD 203 | echo ║ #3 ║ 3 500k ╟ 1080p (48, 50, 60) FullHD 204 | echo ║ #4 ║ 16 384k ╟ 1440p (24, 25, 30) 2k resolution 205 | echo ║ #5 ║ 24 576k ╟ 1440p (48, 50, 60) 2k resolution 206 | echo ║ #6 ║ 46 080k ╟ 2160p (24, 25, 30) 4k resolution 207 | echo ║ #7 ║ 69 632k ╟ 2160p (48, 50, 60) 4k resolution 208 | echo ╟────╫─────────╢ 209 | echo ║ #0 ║ N U L L ╟ Encoder default setting. 210 | echo ╚════╩═════════╝ 211 | echo ------------------------------------------------------------------------------- 212 | echo Please specify output bit rate 213 | choice /c 12345670 /m "(Press #0, to leave at default). " 214 | if %errorlevel%==1 (set bps= -b:v 2500k) 215 | if %errorlevel%==2 (set bps= -b:v 3000k) 216 | if %errorlevel%==3 (set bps= -b:v 3500k) 217 | if %errorlevel%==4 (set bps= -b:v 16384k) 218 | if %errorlevel%==5 (set bps= -b:v 24576k) 219 | if %errorlevel%==6 (set bps= -b:v 46080k) 220 | if %errorlevel%==7 (set bps= -b:v 69632k) 221 | if %errorlevel%==8 (set bps=) 222 | REM #Output name 223 | echo ═══════════════════════════════════════════════════════════════════════════════ 224 | echo. 225 | set /p title="Please enter output video title: " 226 | echo. 227 | REM #Output directory 228 | echo ═══════════════════════════════════════════════════════════════════════════════ 229 | echo. 230 | echo Current render output path is "%cd%" 231 | echo. 232 | choice /c yn /m "Do you want to set custom path? " 233 | if %errorlevel%==1 ( 234 | echo ------------------------------------------------------------------------------- 235 | set /p output="Drag and drop output folder: " 236 | ) else ( 237 | set output=%cd% 238 | goto bypassoutput 239 | ) 240 | :bypassoutput 241 | cd /d %output% 242 | set output= 243 | echo ═══════════════════════════════════════════════════════════════════════════════ 244 | echo. 245 | choice /c yn /m "Do You want to add copyright information? " 246 | if %errorlevel%==2 ( 247 | set copyright= 248 | goto rendering 249 | ) 250 | REM #Copyright prompt 251 | echo ------------------------------------------------------------------------------- 252 | echo. 253 | echo Correct syntax is: 254 | echo ┌─────────────────────────────────────────────────────────────────────────┐ 255 | echo │ © The Year Of First Publication The Name Of The Current Copyright Owner │ 256 | echo └─────────────────────────────────────────────────────────────────────────┘ 257 | echo ------------------------------------------------------------------------------- 258 | set /p copyright="Enter your copyright metadata: " 259 | set copyright= -metadata copyright="%copyright%" 260 | :rendering 261 | echo ═══════════════════════════════════════════════════════════════════════════════ 262 | choice /c yn /m "Do You want to start rendering the film? " 263 | if errorlevel 2 ( 264 | echo. 265 | echo Press #1 to specyfy input files, 266 | choice /c 12 /m "or #2 for fine-tune, compression and bit rate settings. " 267 | if errorlevel 2 (goto compression) 268 | echo. 269 | goto importvid 270 | ) 271 | title Rendering in progress... MP4 film 4 YouTube 272 | echo ═══════════════════════════════════════════════════════════════════════════════ 273 | set /a gop=%fps:~0,2%/2 274 | REM Rendering film and setting clock. 275 | set starttime=%time% 276 | if defined audiofile ( 277 | REM Incorrect color in video player? Try version in the comment 278 | REM ffmpeg -r %fps%%startnumber% -i %vidfile% -i %audiofile% -map 0:v -map 1:a%res%-c:a aac -profile:a aac_low -b:a %audiobitrate% -c:v libx264%bps% -bf 2 -g %gop% -preset %compression%%tune% -profile:v high -pix_fmt yuvj420p -vf colormatrix=bt601:bt709 -movflags faststart -metadata title="%title%"%copyright% "%output%\%title% (4YouTube).mp4" 279 | ffmpeg -hide_banner -r %fps%%startnumber% -i %vidfile% -i %audiofile% -map 0:v -map 1:a%res%-c:a aac -profile:a aac_low -b:a %audiobitrate% -c:v libx264%bps% -bf 2 -g %gop% -preset %compression%%tune% -profile:v high -pix_fmt yuvj420p -movflags faststart -metadata title="%title%"%copyright% "%title% (4YouTube).mp4" 280 | ) else ( 281 | REM Incorrect color in video player? Try version in the comment 282 | REM ffmpeg -r %fps%%startnumber% -i %vidfile% -an%res%-c:v libx264%bps% -bf 2 -g %gop% -preset %compression%%tune% -profile:v high -pix_fmt yuvj420p -vf colormatrix=bt601:bt709 -movflags faststart -metadata title="%title%"%copyright% "%output%\%title% (4YouTube-NoAudio).mp4" 283 | ffmpeg -hide_banner -r %fps%%startnumber% -i %vidfile% -map 0:v -an%res%-c:v libx264%bps% -bf 2 -g %gop% -preset %compression%%tune% -profile:v high -pix_fmt yuvj420p -movflags faststart -metadata title="%title%"%copyright% "%title% (4YouTube-NoAudio).mp4" 284 | ) 285 | if %errorlevel%==9009 ( 286 | title Error - MP4 film 4 YouTube 287 | echo. 288 | echo ╔═════╗ 289 | echo ║ERROR║ Missing FFMPEG.exe software 290 | echo ╚═════╝ 291 | echo Please check your user Environment Variables in system settings. 292 | echo. 293 | echo You can download FFMPEG packages at: 294 | echo https://ffmpeg.org 295 | echo. 296 | echo ...press any key to visit download website and return to rendering 297 | pause 298 | start http://ffmpeg.zeranoe.com/builds/ 299 | echo. 300 | goto rendering 301 | ) 302 | if errorlevel 1 ( 303 | title Error - MP4 film 4 YouTube 304 | echo ╔═════╗ 305 | echo ║ERROR║ Something went wrong. 306 | echo ╚═════╝ 307 | choice /c 12 /m "Press #1 to retry rendering, or #2 to choose files. " 308 | echo. 309 | if errorlevel 2 ( 310 | title MP4 film creator - 4 YouTube 311 | goto importvid 312 | ) 313 | goto rendering 314 | ) 315 | set endtime=%time% 316 | title MP4 film creator - 4 YouTube - Rendering finished 317 | REM Ending rendering and clock stop 318 | echo ═══════════════════════════════════════════════════════════════════════════════ 319 | call :timer 320 | REM Bell rings 3 times when rendering is done 321 | echo  322 | if defined audiofile ( 323 | echo Files had been sucessfully rendered as "%title% (4YouTube).mp4" 324 | echo to "%cd%" directory. 325 | ) else ( 326 | echo Files had been sucessfully rendered as "%title% (4YouTube-NoAudio).mp4" 327 | echo to "%cd%" directory. 328 | ) 329 | echo. 330 | pause 331 | goto eof 332 | REM Actual timer calculation, To use it enter "call :timer". 333 | REM Maximum time duration is 48h? 334 | :timer 335 | set/a hour= %endtime:~0,2% - %starttime:~0,2% 336 | set/a min= %endtime:~3,2% - %starttime:~3,2% 337 | set/a sec= %endtime:~6,2% - %starttime:~6,2% 338 | set/a cents= %endtime:~-2% - %starttime:~-2% 339 | if %cents:~0,1% == - ( set/a sec -= 1 && set/a cents += 100 ) 340 | if %sec:~0,1% == - ( set/a min -= 1 && set/a sec += 60 ) 341 | if %min:~0,1% == - ( set/a hour -= 1 && set/a min += 60 ) 342 | if %hour:~0,1% == - ( set/a hour += 24 ) 343 | echo Rendering timer: 344 | echo ╔════════════════════════╦═════════════╗ Total time: 345 | echo ║ Time of initialization ║ %starttime% ║ hours .............. %hour% 346 | echo ╟────────────────────────╫─────────────╢ minutes ............ %min% 347 | echo ║ Time of execution ║ %endtime% ║ seconds ............ %sec% 348 | echo ╚════════════════════════╩═════════════╝ centiseconds ....... %cents% 349 | goto eof 350 | REM (cc) 2015 Jacob Maximilian Fober 351 | :eof 352 | --------------------------------------------------------------------------------