![如何使用 ffmpeg 检测流是否有视频、音频或两者兼有?](https://linux22.com/image/1692896/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20ffmpeg%20%E6%A3%80%E6%B5%8B%E6%B5%81%E6%98%AF%E5%90%A6%E6%9C%89%E8%A7%86%E9%A2%91%E3%80%81%E9%9F%B3%E9%A2%91%E6%88%96%E4%B8%A4%E8%80%85%E5%85%BC%E6%9C%89%EF%BC%9F.png)
我正在收听 rtsp 流。该流可能可能只有音频、只有视频或两者都有,具体取决于远程端的ffmpeg
配置方式。我想将流转储到 hls。这是代码:
r ffmpeg \
-hide_banner \
-nostats \
-i "rtsps://....." \
-c:v copy \
-c:a copy \
-hls_init_time 2 \
-hls_time 2 \
-hls_list_size 100 \
-strftime 1 \
-hls_allow_cache 1 \
-hls_segment_type fmp4 \
-hls_segment_filename "$MTX_PATH-%Y%m%d%H%M%S.mp4" \
-hls_flags 'append_list+discont_start+delete_segments+omit_endlist' \
"$MTX_PATH.m3u8"
然而,由于-c:v copy -v:a copy
如果流才不是有视频,或者音频,ffmpeg 将会失败。
我怎样才能告诉 ffmpeg 复制视频如果输入有视频,并复制音频如果输入有音频,并复制视频和音频如果输入有视频和音频吗?