問題
我希望寫一個 bat 檔,裡面包含以下指令:
ffmpeg -f dshow -i video="USB2.0 HD UVC WebCam" -video_size 1280x720 -r 24 -vcodec libx264 -pix_fmt yuv420p -preset ultrafast -tune zerolatency -b:v 1000k -f flv rtmp://127.0.0.1/live/cam
如果遇到錯誤會自動再一秒後重試以上指令。
ChatGPT 回答
您可以使用以下的批次檔案來執行您的要求,並在遇到錯誤時進行重試:
@echo off
:retry
ffmpeg -f dshow -i video="USB2.0 HD UVC WebCam" -video_size 1280x720 -r 24 -vcodec libx264 -pix_fmt yuv420p -preset ultrafast -tune zerolatency -b:v 1000k -f flv rtmp://127.0.0.1/live/cam
IF %ERRORLEVEL% NEQ 0 (
echo Error encountered. Retrying in 1 second...
timeout /t 1 >nul
goto retry
)
這個批次檔案使用了 ffmpeg
指令來進行視訊串流,並在遇到錯誤(%ERRORLEVEL%
不等於 0)時進行重試。重試間隔設定為 1 秒,使用 timeout
命令來進行等待。
請注意,這個批次檔案假設您已經將 ffmpeg
加入了系統路徑,或者位於同一目錄下。如果 ffmpeg
並不在系統路徑中,您可能需要指定完整的 ffmpeg
執行檔路徑。