在使用 gstreamer 播放之前检测 rtsp 流

Detect rtsp stream before playing using gstreamer

我可以通过以下方式从 linux 中的网络摄像机播放 rtsp 流:

gst-launch -v rtspsrc location="rtsp://admin:pw@192.168.3.106/live1.sdp" name=demux demux. ! queue max-size-buffers=2 ! rtph264depay ! ffdec_h264 ! ffmpegcolorspace ! autovideosink sync=false

如何在尝试播放之前检查 rtsp 流是否实际上可通过网络使用。我希望我的流播放能够检测 rtsp 流是否关闭,这样我就不会尝试播放流直到可用。

您需要编写一个客户端应用程序来执行此操作,我认为这在命令行上是不可能的。使用该应用程序,您可以尝试从 rtsp 源播放,如果超时,您可以重试或向用户提供适当的消息,表明流不可用或重试。

话虽如此,有许多开源 github 项目都带有适用于各种平台的此类播放器 Android、Windows、Linux 基于 QT 等。一个简单的 google用'gstreamer rtsp viewer github'搜索会列出很多。