@echo off
setlocal EnableDelayedExpansion
REM ============================================================
REM  BO CAI TRAM PHAT GIKIDI (go2rtc) CHO PC CLB — chay 1 lan
REM  Tai ve tu bida365.store — sau khi cai: PC cam dien la chay,
REM  moi dieu khien phat LIVE lam tren app GIKIDI Bida.
REM ============================================================
set DIR=C:\GIKIDI-CameraBox
set YML=%DIR%\go2rtc.yaml

echo ============================================================
echo  CAI DAT TRAM PHAT GIKIDI  (go2rtc + ffmpeg + tu khoi dong)
echo ============================================================
echo.
set /p CIP=Nhap IP camera (vd 192.168.1.108):
if "%CIP%"=="" ( echo [LOI] Chua nhap IP camera & pause & exit /b 1 )
echo Hang camera:  1 = IMOU / Dahua     2 = Hikvision / Ezviz
set /p CBRAND=Chon 1 hoac 2 (Enter = 1):
if "%CBRAND%"=="" set CBRAND=1
set /p CUSER=Ten dang nhap camera (Enter = admin):
if "%CUSER%"=="" set CUSER=admin
set /p CPASS=Mat khau camera:
if "%CPASS%"=="" ( echo [LOI] Chua nhap mat khau & pause & exit /b 1 )

echo.
echo [1/5] Tao thu muc %DIR% ...
if not exist "%DIR%" mkdir "%DIR%"

echo [2/5] Tai go2rtc (vai MB) ...
curl -L -o "%DIR%\go2rtc.zip" https://github.com/AlexxIT/go2rtc/releases/latest/download/go2rtc_win64.zip
tar -xf "%DIR%\go2rtc.zip" -C "%DIR%"
del "%DIR%\go2rtc.zip"
if not exist "%DIR%\go2rtc.exe" ( echo [LOI] Tai go2rtc that bai - kiem tra mang & pause & exit /b 1 )

echo [3/5] Tai ffmpeg (~80MB, de phat LIVE YouTube/Facebook) ...
curl -L -o "%DIR%\ff.zip" https://www.gyan.dev/ffmpeg/builds/ffmpeg-release-essentials.zip
mkdir "%DIR%\_ff" 2>nul
tar -xf "%DIR%\ff.zip" -C "%DIR%\_ff"
for /d %%D in ("%DIR%\_ff\ffmpeg-*") do copy /y "%%D\bin\ffmpeg.exe" "%DIR%\ffmpeg.exe" >nul
rmdir /s /q "%DIR%\_ff"
del "%DIR%\ff.zip"
if not exist "%DIR%\ffmpeg.exe" ( echo [LOI] Tai ffmpeg that bai - kiem tra mang & pause & exit /b 1 )

echo [4/5] Tao cau hinh go2rtc.yaml ...
> "%YML%" echo api:
>> "%YML%" echo   listen: :1984
>> "%YML%" echo   origin: '*'
>> "%YML%" echo.
>> "%YML%" echo ffmpeg:
>> "%YML%" echo   bin: %DIR%\ffmpeg.exe
>> "%YML%" echo.
>> "%YML%" echo streams:
if "%CBRAND%"=="2" (
  >> "%YML%" echo   camera1: rtsp://%CUSER%:%CPASS%@%CIP%:554/Streaming/Channels/101
  >> "%YML%" echo   camera1_sub: rtsp://%CUSER%:%CPASS%@%CIP%:554/Streaming/Channels/102
) else (
  >> "%YML%" echo   camera1: rtsp://%CUSER%:%CPASS%@%CIP%/cam/realmonitor?channel=1^&subtype=0
  >> "%YML%" echo   camera1_sub: rtsp://%CUSER%:%CPASS%@%CIP%/cam/realmonitor?channel=1^&subtype=1
)
>> "%YML%" echo   # Luong phat LIVE H.264+AAC (app GIKIDI Bida dung — lazy, khong ai phat thi khong ton CPU)
>> "%YML%" echo   camera1_live: ffmpeg:camera1#video=h264#audio=aac
>> "%YML%" echo.
>> "%YML%" echo rtsp:
>> "%YML%" echo   listen: :8554

echo [5/5] Cai tu khoi dong cung Windows + chay ngay ...
schtasks /Create /F /TN "GIKIDI-go2rtc" /SC ONLOGON /RL LIMITED /TR "\"%DIR%\go2rtc.exe\" -config \"%YML%\""
netsh advfirewall firewall add rule name="GIKIDI go2rtc" dir=in action=allow program="%DIR%\go2rtc.exe" enable=yes >nul 2>&1
schtasks /Run /TN "GIKIDI-go2rtc"

echo.
echo ============================================================
echo  [XONG] Kiem tra: mo trinh duyet vao  http://localhost:1984
echo  Thay stream camera1 la OK. Neu Windows hoi Firewall - chon Allow.
echo.
echo  Tiep theo tren APP GIKIDI BIDA (man Thiet lap):
echo    1. Bam "TIM CAMERA TU DONG" - chon dong go2rtc
echo    2. Bam "PHAT LIVE YOUTUBE/FACEBOOK" - dan key kenh - bam phat
echo.
echo  Go cai dat:  schtasks /Delete /TN "GIKIDI-go2rtc" /F  roi xoa %DIR%
echo ============================================================
pause
