问题标签 [rtsp-client]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1352 浏览

ffmpeg - FFmpeg NaCl 模块 avformat_open_input(在 rtsp 流上)返回 -5:I/O 错误

我想在 Chrome PNaCl 中创建一个 RTSP 播放器。

我已经成功构建了 ffmpeg naclport ,在 ffmpeg NaCl 端口的build.sh文件中包括以下网络标志。

--enable 网络 --enable-protocols --enable-demuxer=rtsp --enable-demuxer=rtp --enable-demuxer=sdp --enable-decoder=h264

此外,我已经在我自己的 PNaCl 模块中成功编码并链接了 ffmpeg NaCl 端口。我在 manifest.json 文件中包含了以下网络权限:

现在,一旦我在 PNaCl 中运行以下代码,avformat_open_input(...) 返回 -5 或 I/O 错误

我可能做错了什么,为什么 PNaCl 模块不能访问 RTSP 流?

PS。是一个类似的问题,但没有给出明确的答案。

0 投票
1 回答
1214 浏览

rtsp - 将 RTSP 流提供给 Wowza 流引擎

我正在从 IP 摄像机获取 RTSP 实时视频流。我的 URL 看起来像这样 rtsp://xxx:80/img/vid.sav 我想在 Wowza 上打开这个流。我怎样才能做到这一点?

0 投票
1 回答
3158 浏览

vlc - 使用 VLC 使用 RTSP 获取 SDP 文件一次

语境

  • 大多数 RTP 流(例如来自 IP 摄像机)需要来自 SDP 的一些信息才能对其进行解码。
  • SDP 通常是及时获取的,通常来自 RTSP URL,但其他方式也是可能的(例如 HTTP)。

具体案例

我们有这样一种情况,即使用 VLC 播放 RTP 流(来自摄像机,无论是否有人收听,UDP 始终发送),但不能为 VLC 提供 RTSP URL 以及时获取 SDP。

一个RTSP 服务,但我们需要提前查询它并转储生成的 SDP 文件,以便稍后将其提供给 VLC。无论如何,即时执行 RTSP 查询是没有用的,因为流始终存在。

如何用 VLC 做到这一点?

发帖前先搜索

当然,我一直在搜索 Google、videolan wiki 和 StackExchange。

信息很难找到,因为当人们谈论流媒体、RTSP、RTP 时,他们通常使用 VLC 来生成RTP 流,或者输出 VLC 生成的 SDP,因为它会进行编码等。这里不是这种情况。要转储的 SDP 来自带有单个 RTSP 查询的服务器。

问题

基本上,我正在寻找一个命令行,如:

这会将 SDP 转储到myfile.sdp.

然后,稍后,使用 as 参数运行 vlcmyfile.sdp预计会播放流。

0 投票
1 回答
16564 浏览

vlc - 用 VLC 播放 SDP 文件?

目标

确认 VLC 可以播放来自本地给定 SDP 文件的流。

根据证词,这似乎是可能的:

实验

于是找了一个公开的案例,发现Mobile Streaming,RTSP/RTP,Wowza Streaming Engine | Wowza 媒体系统

这有效,播放带声音的彩色视频:

我设法使用网络技巧提取 SDP 文件- 如何捕获单个进程的网络流量?- 询问 Ubuntu

...然后重新格式化文件并保存到 bbb.sdp

文件看起来像(实际行不以空格开头,并以 Windows 样式的行结尾结束):

然后:

在播放列表中显示一个具有正确持续时间的条目(09:56,信息在 SDP 中),但没有视频出现。

跟踪网络调用

看来 VLC 甚至没有尝试连接到 IP 184.72.239.149 。

我一无所知。这是一个错误吗?

问题

  • 为什么直接从 RTSP URL 播放,而不是播放本地保存的 SDP 文件?
  • 该怎么办?
0 投票
1 回答
1874 浏览

c# - IP 摄像机 (RTSP) 和二维码

我正在开发一个项目,使我的应用程序能够连接到一个或多个 IP 摄像机(RTSP、H264)并检测任何 QR 码。我想用于二维码检测的库是 ZXing Project。

我可以从相机中捕获帧并将其解码为位图,二维码检测很容易。我正在努力寻找一个或两个库来连接到 IP 摄像机,并在给定的内部拍摄静止图像。实时会很好。

我已经为 C# 尝试了 EMGU (OpenCV) 端口。它有点工作,但它很慢,会挂上一两分钟。我使用的相机是 720p。我现在正在使用 net7mma 库,但我无法将 H264 帧解码为位图。

任何建议,将不胜感激!

0 投票
1 回答
224 浏览

android - 将视频从 android 流式传输到路由器上的 RTSP 服务器

我开发了一个应用程序,它使用 RTSP 服务器将在线视频流式传输到路由器上的 ip,并且我还可以获得流的 SDP 文件。如何在 ip 上显示该视频?(当我们转到 ip 地址时,某种 Flash 播放器会显示流媒体视频)

0 投票
1 回答
823 浏览

video-streaming - 如何使用 gstreamer 通过 rtsp 观看 h263 视频

我正在尝试读取以 h263 格式编码的视频流,该视频流是通过 rtsp 和 gstreamer 在 Windows 上接收的。最后,我必须获得 BGR 或 RGB 格式(使用 Qimage/Qt)。

我可以用vlc观看流程 rtsp://172.22.1.2:8554/test

我可以用cmd观看流程: gst-launch-1.0 rtspsrc location=rtsp://172.22.1.2:8554/test ! rtph263pdepay ! avdec_h263 ! autovideosink

我不能在我的程序中这样做。我试过了m_pipeline = gst_parse_launch("rtspsrc location=rtsp://172.22.1.2:8554/test ! rtph263pdepay ! avdec_h263 ! appsink name=sink caps=video/x-raw, format=BGR", &error);

我尝试uridecodebin uri=..rtspsrc location=...

我试过video/x-h263video/x-raw, format=RGB

我是否有关于上限的错误消息,或者程序崩溃。

我不知道我是否使用了正确的元素,或者我的命令结尾是否错误或其他什么..?

0 投票
1 回答
2306 浏览

android - 无法在 Android MediaPlayer 中流式传输 RTSP 视频

我正在尝试从 RTSP 服务器流式传输视频。我想在我的应用程序中运行视频。我尝试了三种不同的方法,但似乎只有一种有效:

  1. 使用 VideoView(不起作用)。
  2. 使用本机播放器(作品)。
  3. 使用 MediaPlayer(不起作用)。

我想在 MediaPlayer 上显示视频,但无法做到。

这是代码:

http:10.42.0.91:8080/playlist.m3u 看起来像这样:

#EXTM3U

#PLAYLIST:RTSP 摄像机服务器 #EXTINF:-1,活动摄像机 rtsp://10.42.0.91:5554/camera #EXTINF:319,2016 年 3 月 3 日下午 3:08:35 MB rtsp://10.42.0.91: 5554/record160303_1500 #EXTINF:1047,3/3/16 PM 2:15:106.4 MB rtsp://10.42.0.91:5554/record160303_1400 #EXTINF:1364,所有记录 141.4 MB rtsp://10.42.0.91:5554/记录#EXTINF:-1,后置摄像头rtsp://10.42.0.91:5554/back #EXTINF:-1,前置摄像头rtsp://10.42.0.91:5554/front

0 投票
1 回答
4615 浏览

ffmpeg - 如何使用 RTSP Url 同时使用 FFPLAY 播放多个流

我正在尝试使用 RTSP URL 播放来自服务器的实时流。下面给出了一个示例 RTSP URL:

实际上,这个流是两个参与者(呼叫者和被叫者)之间的呼叫。但是当我用 FFPLAY 播放这个 URL 时,我只得到一个流(被调用),而我应该得到两个流(调用者和被调用)。我正在使用以下命令:

我是否缺少一些参数以及此命令来获取所有流。

0 投票
1 回答
747 浏览

ffmpeg - 在 PPAPI 中使用 FFMPEG 库:Naclports 与 FFmpeg

我已经配置了Webports,ffmpeg;我为当前项目创建了以下 Makefile。但是,我在 ffmpeg 库链接方面遇到了一些问题。

你能告诉我我在这里做错了什么吗,我的 Makefile 如下所示:

VALID_TOOLCHAINS := pnacl glibc clang-newlib win

NACL_SDK_ROOT ?= $(abspath $(CURDIR)/../..)

目标 = 客户

其他目录=src

INC_DIR = 公司

FFMPEG_INC_DIR = ../../toolchain/mac_pnacl/le32-nacl/usr/include

包括 = -I$(INC_DIR) -I$(FFMPEG_INC_DIR)

包括 $(NACL_SDK_ROOT)/tools/common.mk

CHROME_ARGS += --allow-nacl-socket-api=localhost

LIBS = nacl_io ppapi_cpp ppapi

CFLAGS = -Wall -g -O2 $(包括) -L../../toolchain/mac_pnacl/le32-nacl/usr/lib -lavformat \ -lvpx -lvorbisenc -lvorbis -logg -ltheoraenc -ltheoradec -logg -lmp3lame -lm -pthread -lavcodec -lvpx -lvorbisenc -lvorbis -logg \ -ltheoraenc -ltheoradec -logg -lmp3lame -lm -pthread -lswresample -lm -lavutil -lm -lavdevice -lavfilter

来源 = $(OTHERDIR)/tcp_util.cc $(OTHERDIR)/tpool.cc $(OTHERDIR)/net.cc $(OTHERDIR)/rtsp_response.cc \ $(OTHERDIR)/rtsp.cc $(OTHERDIR)/rtsp_common。 cc \ $(OTHERDIR)/rtsp_client.cc $(OTHERDIR)/udp_util.cc \ $(OTHERDIR)/client.cc

# 构建由 common.mk 中的宏生成的规则:

$(foreach src,$(SOURCES),$(eval $(call COMPILE_RULE,$(src),$(CFLAGS))))

# PNaCl 工作流使用未剥离和最终/剥离的二进制文件。# 在 NaCl 上,只为发布配置(不是调试)生成一个剥离的二进制文件。ifneq (,$(or $(findstring pnacl,$(TOOLCHAIN)),$(findstring Release,$(CONFIG)))) $(eval $(call LINK_RULE,$(TARGET)_unstripped,$(SOURCES),$( LIBS),$(DEPS))) $(eval $(call STRIP_RULE,$(TARGET),$(TARGET)_unstripped)) else $(eval $(call LINK_RULE,$(TARGET),$(SOURCES),$( LIBS),$(DEPS))) endif

$(eval $(call NMF_RULE,$(TARGET),))

这就是在类上下文中如何使用库的方式。