更具体地说,问题是如何从带有问号的地址播放 rtsp 流。
IE: rtsp://some.server.name:554/video_file.wmv?authstring=sOm3StrIN2==¶m=3
我尝试了各种媒体播放器,但无法流式传输文件。我确信这不是服务器问题,因为我可以在不需要身份验证的服务器上流式传输测试视频。
我很惊讶vlc无法处理这样的 url,所以我尝试了mplayer,但它也无法播放流。
mpv是我设法播放上面提到的测试视频的第一个播放器,但是我无法流式传输我上面写的形式的 url。使用mpv我试过这个命令行:
mpv --http-header-fields='authstring:sOm3StrIN2==','param:3' \rtsp://some.server.name:554/video_file.wmv
Run Code Online (Sandbox Code Playgroud)
并尝试添加该--rtsp-transport=lavf|tcp|udp|http
选项,但没有任何效果。
不幸的是,我知道这样的链接(如上面所写)适用于 windows 媒体播放器,但我不想使用 wine 或转到 windows(我有决斗引导)只是为了观看流。
我需要在 IP 摄像机流上运行一些视频处理算法。我没有网络摄像头,所以我的想法是使用网络摄像头作为RTSP
流媒体的网络摄像头,客户端机器可以获取并运行算法。我了解到 VLC 可以从网络摄像头执行流式传输。我将一个旧的网络摄像头连接到一台 Ubuntu 机器上。这是信息。
$ v4l2-ctl --list-devices
SAMSUNG (SPC-A30M): SAMSUNG (SP (usb-0000:00:14.0-7):
/dev/video0
/dev/video1
$ v4l2-ctl --list-formats
ioctl: VIDIOC_ENUM_FMT
Index : 0
Type : Video Capture
Pixel Format: 'YUYV'
Name : YUYV 4:2:2
Run Code Online (Sandbox Code Playgroud)
这是驱动程序信息。
/dev/video0
Driver Info (not using libv4l2):
Driver name : uvcvideo
Card type : SAMSUNG (SPC-A30M): SAMSUNG (SP
Bus info : usb-0000:00:14.0-7
Driver version: 5.3.18
Capabilities : 0x84A00001
Video Capture
Metadata Capture
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x04200001 …
Run Code Online (Sandbox Code Playgroud) 我正在尝试制作一个 rtsp 服务器,它可以从 onvif 相机捕获 rtsp 提要,然后将此流重新分发给连接到我的服务器的每个人。
我使用这个iso在VMware Workstation上创建了一个新的Ubuntu 64位虚拟机:https : //www.ubuntu.com/download/desktop/thank-you? version = 18.04.1 & architecture =amd64
然后我安装了 ubuntu-desktop:
$ sudo apt-get update
$ sudo apt-get install ubuntu-desktop
$ reboot
Run Code Online (Sandbox Code Playgroud)
我将 gst-rtsp-server 从其 github 存储库克隆到我桌面上的一个文件夹中:
$ cd Desktop
$ mkdir camSrv
$ cd camSrv
$ git clone https://github.com/GStreamer/gst-rtsp-server.git
Run Code Online (Sandbox Code Playgroud)
然后我安装了这篇文章引用的依赖项:
$ sudo apt-get install autoconf -y
$ sudo apt-get install automake -y
$ sudo apt-get install autopoint -y
$ sudo apt-get install libtool -y
Run Code Online (Sandbox Code Playgroud)
但是当我尝试构建 gst-rtsp-server 项目时,我不断收到错误... …
我可以很好地 ping 192.168.15.20 并且相机在线,我可以使用我尝试打开的 Android 应用程序连接到它rtsp://admin:password123@192.168.15.20:554/live/ch00_1
,这是我的 vlc 日志文件的结果:
satip debug: try to open 'rtsp://admin:password123@192.168.15.20:554/live/ch00_1'
satip debug: connect to host '192.168.15.20'
main debug: net: connecting to 192.168.15.20 port 554
main error: connection failed: No route to host
satip error: Failed to connect to RTSP server 192.168.15.20:554
main debug: net: connecting to 192.168.15.20 port 554
main error: connection failed: No route to host
access_realrtsp error: cannot connect to 192.168.15.20:554
access_realrtsp debug: could not connect to: 192.168.15.20:554/live/ch00_1
main debug: no access …
Run Code Online (Sandbox Code Playgroud) 我无法从任何 XUbuntu/Ubuntu/Debian Live-Stick 或我的笔记本电脑和台式机上运行的 XUbuntu 播放任何 RTSP-Stream。
我有几个 rtsp 源:
两个流都可以通过 VLC 播放:
两个流都无法在VLC/mplayer/ffplay 上播放:
问题一定是 Ubuntu 的新基础,新的 Debian 11,因为那里也无法打开流。
我在 VLC 中收到如下错误消息:
satip debug: try to open 'rtsp://192.168.178.2:8554/video0'
satip debug: connect to host '192.168.178.2'
main debug: net: connecting to 192.168.178.2 port 8554
...
main debug: no art finder …
Run Code Online (Sandbox Code Playgroud) 我无法从 XUbuntu(21.04、20.04)或 Debian 11 播放任何 rtsp 流。我也使用 Live-USB-Sticks 来拥有一个全新的系统。
\n作为软件,我尝试过 mplayer、vlc (3.012)、ffmpeg ...但没有成功。
\n在我的 Android 设备(平板电脑或手机)上,我可以使用 VLC 播放任何流媒体。\n在我的 Windows7 笔记本电脑上,我可以使用 VLC 播放任何 Steam。
\nffplay 中的此错误消息可能有助于查找问题:
\n~$ ffplay rtsp://192.168.178.2:8554/video\nffplay version 4.3.2-0+deb11u1ubuntu1 Copyright (c) 2003-2021 the FFmpeg developers\n built with gcc 10 (Ubuntu 10.2.1-20ubuntu1)\n configuration: --prefix=/usr --extra-version=0+deb11u1ubuntu1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu ...\n\n libavutil 56. 51.100 / 56. 51.100\n libavcodec 58. 91.100 / 58. 91.100\n libavformat 58. 45.100 / 58. 45.100\n libavdevice 58. 10.100 / 58. 10.100\n libavfilter 7. 85.100 …
Run Code Online (Sandbox Code Playgroud) 升级后,我无法再打开安全摄像头的流 ( rtsp://frontcam2/
)。这在升级之前工作得很好。我可以打开 mpeg 文件,并且音频和视频在这些文件上运行良好。
我打开了调试消息,然后我得到了
main debug: net: connecting to frontcam2 port 554
main debug: connection succeeded (socket = 17)
access_realrtsp warning: Cseq mismatch, got 1, assumed 0
access_realrtsp debug: rtsp connected
access_realrtsp warning: only real/helix rtsp servers supported for now
Run Code Online (Sandbox Code Playgroud)