Mercurial > codedump
annotate god.bat @ 104:2e115eb60be8
god.bat: does the file even exist?
committer: GitHub <noreply@github.com>
author | Paper <37962225+mrpapersonic@users.noreply.github.com> |
---|---|
date | Thu, 22 Sep 2022 08:33:37 -0400 |
parents | 1cc4f545a260 |
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 |