FFMPEG 循环一直中断,询问 pessing Q

标签 ffmpeg sh

我有一个使用 FFMPEG 的 sh 脚本从 RTSP 流中拍摄一张照片。
如果连接时间过长,有一个 timeout -stimeout 来终止连接。
(-timeout 是不可能的)。大多数 IP 列表 -stimeout 都可以正常工作。
但有时脚本会停止询问用户按 -Q 并且循环中断,直到按键 Q。
我已经尝试在代码中添加 -q 。
但这根本不起作用。
有什么建议么?

for IP in $IPS;          
do  

FFM="$(ffmpeg -y  -stimeout 8000000 -rtsp_transport tcp -ss 0.5  -i "rtsp://$IP:554/12" -vframes 1 -s 640x480 -f image2 images/$IP.jpg) >/dev/null"

done

错误
[rtsp @ 0000000000457c40] Could not find codec parameters for stream 0 (Video: h264, none, 640x352): unspecified pixel format
Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options
Guessed Channel Layout for Input Stream #0.1 : mono
Input #0, rtsp, from 'rtsp://123.456.789.101:554/12':
  Metadata:
    title           : 11
  Duration: N/A, start: 0.000000, bitrate: 64 kb/s
  Stream #0:0: Video: h264, none, 640x352, 90k tbr, 90k tbn, 180k tbc
  Stream #0:1: Audio: pcm_alaw, 8000 Hz, mono, s16, 64 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> mjpeg (native))
Press [q] to stop, [?] for help

忽略 dev/null 我故意弄错以查看输出。

最佳答案

Press [q] to stop, [?] for help
是ffmpeg在检测到stdin交互可能时产生的标准消息。它在两种情况下被禁用:使用选项 -nostdin或者其中一个输入通过标准输入进行管道传输。

关于FFMPEG 循环一直中断,询问 pessing Q,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68427160/

相关文章:

java - 在 Android 设备上将视频转换为音频 (Java)

javascript - 通过 Dash 将原始 h.264 数据编码到浏览器

windows - 为 Visual Studio 编译 FFMpeg 库

bash - 使用 Bash 计算字符串中 char 的出现次数

shell脚本,如果无论如何都会执行

android - 如何在 Android 上链接 .so 库

Python 和 FFMPEG 视频流不通过 HTML5 显示

bash - 是否有相当于 prctl (PR_SET_PDEATHSIG, SIGKILL) 的 shell 脚本来处理僵尸 child ?

linux - 如何轻松地将 shell 脚本中的所有 echo 语句放入日志文件中

linux - 在多次 sed 运行中获取重复条目