【问题标题】:Close FFMPEG if connection with ipcam lost如果与 ipcam 的连接丢失,则关闭 FFMPEG
【发布时间】:2017-07-07 09:05:39
【问题描述】:

这是我的脚本,它将实时摄像机 rtsp 流传输到 youtube rtmp 流。

开始前的脚本验证与相机的连接是否有效。

问题是在这个过程中,如果网络连接丢失,ffmpeg 仍然处于锁定状态。

如果与相机的连接丢失,是否可以关闭ffmpeg或重新启动任务?

:LOOP
timeout /t 10
ping 192.168.1.11
IF ERRORLEVEL 1 goto exit
IF ERRORLEVEL 0 goto START
:START

ffmpeg  -f lavfi -i anullsrc -rtsp_transport tcp -i rtsp://192.168.1.11:10554/tcp/av0_0 -tune zerolatency -vcodec libx264 -t 12:00:00 -pix_fmt + -c:v copy -c:a aac -strict experimental -f flv rtmp://a.rtmp.youtube.com/live2/(secret code)

goto LOOP

【问题讨论】:

  • 您需要另一个批次来检查状态或使用start "" ffmpeg ....从当前批次中分离 ffmpeg

标签: batch-file ffmpeg youtube rtsp ip-camera


【解决方案1】:

这是解决方案:

CHECK 任务每分钟运行一次 如果camera连接有问题,进程kill all istance off ffmpeg并重启primary task。

@echo off
set "host=192.168.1.11"

ping -n 1 "%host%" | findstr /r /c:"[0-9] *ms"

if %errorlevel% == 0 (
    echo Success.
) else (
echo Camera offline il %date% alle ore %time% >>C:\Users\Gianluca\Desktop\script\log.txt
WMIC PROCESS WHERE "COMMANDLINE LIKE '%%ffmpeg%%'" call terminate
schtasks /Run /TN "webcam"

)

主要任务检查相机的连接,如果连接丢失,关闭窗口。

:LOOP
set "host=192.168.1.11"

ping -n 1 "%host%" | findstr /r /c:"[0-9] *ms"

if %errorlevel% == 0 (
   goto START
) else (

exit

)
pause


:START

ffmpeg  -f lavfi -i anullsrc -rtsp_transport tcp -i rtsp://%host%:10554/tcp/av0_0 -tune zerolatency -vcodec libx264 -t 12:00:00 -pix_fmt + -c:v copy -c:a aac -strict experimental -f flv rtmp://a.rtmp.youtube.com/live2/code

goto LOOP

【讨论】:

  • 实用但丑陋的解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-27
  • 1970-01-01
  • 2017-11-06
  • 1970-01-01
相关资源
最近更新 更多