Mercurial > codedump
annotate god.bat @ 133:0d8eabdd12ab default tip
create: write H:MM:SS timestamps, add option to fill with gaussian-blur instead of black
many albums are longer than one hour so writing H:MM:SS is a
necessity. if anything there will just be verbose info that
isn't important for my use-case.
however the gaussian-blur is simply broken. It works, and it plays
locally just fine, but YouTube in particular elongates the video
to fit the full width. I'm not entirely sure why it does this, but
it makes it useless and ugly.
| author | Paper <paper@tflc.us> |
|---|---|
| date | Sat, 03 Jan 2026 20:25:38 -0500 |
| parents | 2e115eb60be8 |
| children |
| rev | line source |
|---|---|
|
103
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
1 @echo off |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
2 |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
3 REM Welp, this was pointless. |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
4 REM |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
5 REM There's really no way to put raw PCM audio |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
6 REM in an MP4 container. MP4 is already a really |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
7 REM shitty format for a number of other reasons |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
8 REM (no real subtitle support, VERY limited codec |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
9 REM options, etc.), which is why I prefer using |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
10 REM Matroska for literally anything outside of |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
11 REM Vegas. |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
12 REM |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
13 REM However, I learned how to make an arguments |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
14 REM parser in fucking Batch out of all things, |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
15 REM so maybe there was a purpose for this after |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
16 REM all. |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
17 REM |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
18 REM TL;DR: I didn't even come close to solving the |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
19 REM problem this was meant to fix, and MP4 is a |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
20 REM godawful container. :D |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
21 |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
22 setlocal EnableDelayedExpansion |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
23 call :argparser %* |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
24 if %count% LSS 3 goto usage |
|
104
2e115eb60be8
god.bat: does the file even exist?
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
103
diff
changeset
|
25 if not exist "%inputmp4%" ( |
|
2e115eb60be8
god.bat: does the file even exist?
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
103
diff
changeset
|
26 call :error "Input MP4 file doesn't exist!" |
|
2e115eb60be8
god.bat: does the file even exist?
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
103
diff
changeset
|
27 goto usage |
|
2e115eb60be8
god.bat: does the file even exist?
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
103
diff
changeset
|
28 ) |
|
2e115eb60be8
god.bat: does the file even exist?
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
103
diff
changeset
|
29 if not exist "%inputwav%" ( |
|
2e115eb60be8
god.bat: does the file even exist?
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
103
diff
changeset
|
30 call :error "Input WAV file doesn't exist!" |
|
2e115eb60be8
god.bat: does the file even exist?
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
103
diff
changeset
|
31 goto usage |
|
2e115eb60be8
god.bat: does the file even exist?
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
103
diff
changeset
|
32 ) |
|
2e115eb60be8
god.bat: does the file even exist?
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
103
diff
changeset
|
33 if exist "%outputmp4%" call :warning "Output MP4 file already exists!" |
|
103
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
34 REM mp4 barely supports flac, matroska ftw |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
35 REM |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
36 REM vegas pro sucks and has barely any support |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
37 REM for different codecs in MP4s (see: yuv 4:4:4), |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
38 REM and really *only* supports AAC. this sucks, |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
39 REM cause AAC can be a bitch at times |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
40 if not defined acodec set "acodec=flac" |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
41 |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
42 ffmpeg -y -i "!inputmp4!" -i "!inputwav!" -c:v copy -c:a !acodec! ^ |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
43 -strict -2 -loglevel quiet -stats "!outputmp4!" |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
44 goto cleanup |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
45 |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
46 :usage |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
47 echo.Usage: |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
48 echo. %~n0.bat ^<input.mp4^> ^<input.wav^> ^<output.mp4^> [--acodec ^<codec^>] |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
49 echo. [--debug] |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
50 echo. |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
51 echo.Arguments: |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
52 echo. ^<input.mp4^>: input mp4 with at least 1 video stream |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
53 echo. ^<input.wav^>: input wav (or flac) |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
54 echo. ^<output.mp4^>: output mp4 |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
55 echo. [--acodec ^<codec^>]: (optional) audio codec to use |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
56 echo. [--debug]: prints all commands to the terminal |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
57 echo. |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
58 REM we don't know if the user is running from a terminal or not... |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
59 echo.Press any key to exit... |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
60 pause 1>NUL 2>&1 |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
61 |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
62 :cleanup |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
63 REM this MIGHT fuck up someone's environment variables |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
64 REM i don't care :). deal with it |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
65 set "inputmp4=" |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
66 set "inputwav=" |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
67 set "outputmp4=" |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
68 set "acodec=" |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
69 set "count=" |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
70 exit /b 0 |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
71 |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
72 REM -------------- Functions -------------- |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
73 |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
74 :argparser |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
75 set "count=0" |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
76 :argparser_loop |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
77 if not "x%~1x" == "xx" ( |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
78 set "var=%~1" |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
79 if "!var:~0,2!"=="--" ( |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
80 if "!var!"=="--acodec" ( |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
81 shift |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
82 set "acodec=%~2" |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
83 goto :argparser_end |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
84 ) |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
85 if "!var!"=="--debug" ( |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
86 @echo on |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
87 goto :argparser_end |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
88 ) |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
89 ) else ( |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
90 if %count% EQU 0 set "inputmp4=%~1" |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
91 if %count% EQU 1 set "inputwav=%~1" |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
92 if %count% EQU 2 set "outputmp4=%~1" |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
93 set /a "count+=1" |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
94 ) |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
95 :argparser_end |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
96 shift |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
97 goto :argparser_loop |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
98 ) |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
99 set "var=" |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
100 exit /b 0 |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
101 |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
102 :error |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
103 echo [ERROR]: %~1 |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
104 exit /b 0 |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
105 |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
106 :warning |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
107 echo [WARNING]: %~1 |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
108 exit /b 0 |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
109 |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
110 :info |
|
1cc4f545a260
Add files via upload
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
diff
changeset
|
111 echo [INFO]: %~1 |
|
104
2e115eb60be8
god.bat: does the file even exist?
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents:
103
diff
changeset
|
112 exit /b 0 |
