-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathrun convertion.bat
More file actions
103 lines (86 loc) · 2.42 KB
/
Copy pathrun convertion.bat
File metadata and controls
103 lines (86 loc) · 2.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
@echo off
setlocal EnableDelayedExpansion
cd /d "%~dp0"
set INPUT_DIR=input
set HTML_DIR=html
set CACHE_DIR=output
if not exist "%INPUT_DIR%" (
echo [ERROR] input folder not found
pause
exit /b
)
if not exist "%HTML_DIR%" mkdir "%HTML_DIR%"
if not exist "%CACHE_DIR%" mkdir "%CACHE_DIR%"
echo Clearing html directory...
del /q "%HTML_DIR%\*.*" >nul 2>&1
for %%F in ("%INPUT_DIR%\*") do (
set "INFILE=%%~fF"
set "NAME=%%~nF"
set "EXT=%%~xF"
set "OUT_DIR=%CACHE_DIR%\%%~nF"
echo.
echo Processing: %%~nxF
if not exist "!OUT_DIR!" mkdir "!OUT_DIR!"
REM =========================
REM Detect audio vs video
REM =========================
set MODE=VIDEO
if /I "!EXT!"==".mp3" set MODE=AUDIO
if /I "!EXT!"==".wav" set MODE=AUDIO
if /I "!EXT!"==".flac" set MODE=AUDIO
if /I "!EXT!"==".aac" set MODE=AUDIO
if /I "!EXT!"==".ogg" set MODE=AUDIO
REM =========================
REM AUDIO → HLS (stereo!)
REM =========================
if "!MODE!"=="AUDIO" (
echo Audio detected → converting to stereo HLS
ffmpeg -y -i "!INFILE!" ^
-vn ^
-c:a aac ^
-profile:a aac_low ^
-ac 2 ^
-ar 48000 ^
-b:a 192k ^
-f hls ^
-hls_time 4 ^
-hls_list_size 0 ^
-hls_playlist_type vod ^
-hls_flags independent_segments ^
"!OUT_DIR!\index.m3u8"
) else (
REM =========================
REM VIDEO → HLS (FIXED AUDIO)
REM =========================
echo Video detected → converting with stereo downmix
ffmpeg -y -i "!INFILE!" ^
-map 0:v:0 -map 0:a:0 ^
-c:v libx264 ^
-preset fast ^
-profile:v high ^
-level 4.2 ^
-pix_fmt yuv420p ^
-g 60 ^
-keyint_min 60 ^
-sc_threshold 0 ^
-c:a aac ^
-profile:a aac_low ^
-ac 2 ^
-ar 48000 ^
-b:a 192k ^
-af "pan=stereo|FL<0.8*FL+0.6*FC+0.6*BL|FR<0.8*FR+0.6*FC+0.6*BR" ^
-f hls ^
-hls_time 4 ^
-hls_list_size 0 ^
-hls_playlist_type vod ^
-hls_flags independent_segments ^
"!OUT_DIR!\index.m3u8"
)
echo Updating active stream...
del /q "%HTML_DIR%\*.*" >nul 2>&1
xcopy "!OUT_DIR!\*" "%HTML_DIR%\" /E /I /Y >nul
)
echo.
echo DONE.
echo Active stream ready in html\
pause