问题标签 [openrtsp]
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.
ffmpeg - 从 OpenRTSP 管道视频和音频到 ffmpeg
我正在尝试使用 openRTSP 和 ffmpeg 以 HLS 格式记录 rtsp 流。openRTSP 接收 rtsp 和管道到 ffmpeg 进行记录,
这是我使用的命令,效果很好
注意上面的命令 -v 仅用于视频。
但现在我还需要录制音频,所以我删除了 -v 选项,但视频没有被录制。它只是创建了两个名为
audio-MPEG4-GENERIC-1
并且video-H264-2
没有 HLS 视频文件的文件。我觉得管道有问题。谁能帮我解决它。
android-mediaplayer - Android Mediaplayer 在尝试播放由 LIVE555 QuickPlayerFilesink 录制的 mp4 文件时出错
当我尝试播放由 LIVE555 录制的录制视频时,我在 Android Kitkat 上遇到以下错误。
以下是我在 App 上播放视频的源代码:
错误日志如下:
这里请注意:相同的 Android 和 Live555 源代码适用于 Android Gingerbread。
rtsp - 为什么 RTT 很大时 RTSP over TCP 不能正常工作
我正在使用 live555 通过 TCP 使用 RTSP 从按需 RTSP 服务器流式传输 H264 视频,如下所示:
当 RTT 小于 30ms 时效果很好。但是,如果我使用 linux 的 tcp 命令将 RTT 增加到 100ms tc
,那么我只能获得一半质量的视频。当 RTT 为 100 毫秒时,基于 UDP 的 RTSP 仍然可以正常工作。由于我在本地运行它,因此网络流量无关紧要,因为我可以使用 iperf 确认,即使 rtt 为 100 毫秒,吞吐量也可以达到最大值。所以我想知道这是什么原因造成的?
android - 如何实现循环缓冲区,其中要写入缓冲区的数据是来自相机的 RTSP 流?
我有一台以 h.264 格式传输数据的相机。我想实现循环缓冲区。每个缓冲区的内容将是来自摄像机的 RTSP 流。问题是 - 如何将相机流数据保存到循环缓冲区?稍后在某些操作后,我们会将这些数据保存到硬盘中。
有人可以请支持吗?我想在 C++ 中实现它。
rtsp - 带有 openrtsp 的奇怪输出文件
我偶然发现了 openrtsp,它正是我从安全摄像头捕捉镜头所需要的。
当我将视频输出到文件时,我似乎遇到了一个奇怪的问题。这是我正在使用的命令:
openRTSP -D 2 -B 10000000 -b 10000000 -4 -F alleycamnorth245 -d 86400 -P 900 -t -u guest '' rtsp://cam_ip/user=guest_password=tlJwpbo6_channel=1_stream=0.sdp
输出文件似乎有帧率问题。在上面的示例中,视频的长度正确(15 分钟),并且整个 15 分钟都有音频。但是,所有视频在前两分钟都播放得非常快。所有的视频都在那里,只是在前两分钟压缩了时间。
相机设置为每秒 2 帧,但是,更改相机设置似乎没有效果。我还尝试了无数其他选项,例如 -q 和 -i 用于 mov 和 avi 输出选项。Avi 不起作用,但是,创建 mov 时遇到了同样的问题。
我正在使用的相机来自 techage,但是,我已经在其他一两个不是 techage 的相机上进行了尝试(不过,它们的内部可能有相同的胆量。不确定)。
我觉得我几乎什么都试过了。使用 ffmpeg 直接提取 rtsp 就可以创建正确格式的视频文件,但是,openrtsp 似乎工作得更好,所以,我希望我能解决这个问题。
谢谢!!
ffmpeg - 使用 openRTSP 和 ffmpeg 录制视频
我正在尝试使用以下命令使用 openRTSP 和 ffmpeg 记录 rtsp 流,并且效果很好。但是视频的时长存在一些问题。我总是得到持续时间小于实际记录周期的输出视频文件。
例如,如果我录制了 10 分钟的直播,我得到的视频文件只有 6-7 分钟的持续时间。我检查了输入和输出的 fps,它是相同的(fps=10)。可能是什么问题?
video - 如何将 openRTSP 中的 MP4 文件编码优化到与 FFmpeg 相同的级别?
我目前使用如下命令接收并存储来自带有 openRTSP 的摄像机的 RTSP 流:
我可以使用 FFmpeg 做同样的事情:
来自相机的视频帧为 1280x720 (H.264),速度约为 30 fps,并带有毫秒时间戳。当我查看由 ffmpeg 创建的 movie.mp4 时,它看起来非常漂亮,视频流中的秒数似乎相当准确. 相反,如果我查看由 openRTSP 创建的movie.mp4,视频时间戳中的秒数肯定比现实中的秒长。因此,视频上的一秒钟实际上可以持续两秒钟。我做了几次测试,这不是网络性能或处理从相机接收到的消息的问题。原因似乎是消息被编码到这个 MP4 容器中的部分。
FFmpeg 这样做比 openRTSP 快得多吗?
我可以以某种方式优化 openRTSP 中的 MP4 编码吗?
linux - RTSP 流到 ffmpeg 问题
我正在编写一个 Web 应用程序来管理和查看来自 ONVIF 网络摄像机的流。
它是用 nodejs 编写的。这个想法是在节点中运行一个子进程并将输出传递到节点,然后将缓冲区发送到客户端并在画布上呈现它。我有一个可行的解决方案,用于将数据发送到客户端并使用 websockets 在画布上呈现它,但它只适用于我的一个相机。
我拥有 2 个 IP 摄像机,它们都有 rtsp 服务器。
其中一个(我们将其命名为 camX)与此 ffmpeg 命令一起工作(有时它只是停止,可能是由于数据包丢失):
但是另一个(camY)返回Nonmatching transport in server reply
并退出。
我发现 camY 传输是unicast
但 ffmpeg 不支持这个特定的 lower_transport,正如我在 ffmpeg 论坛上看到的那样。
所以我开始寻找解决方案。我的第一个想法是使用openRTSP
wich 可以很好地处理两个流。我查看了文档并想出了这个命令:
openRTSP -4 -c <rtsp_link> | ffmpeg -re -i pipe:0 -f mjpeg pipe:1
-4
参数以mp4格式返回流到管道
这是我遇到的另一个问题,ffmpeg返回:
有什么办法可以使这项工作?我尝试了各种我找到的解决方案,但没有一个奏效。
编辑
正如@Gyan 建议的那样,我使用-i
了参数而不是,-4
但它并没有解决我的问题。
我的命令:
如您所见,openRTSP 命令返回 err 29 但同时它会输出一些数据到管道。
当我终止命令 ffmpeg 显示它读取了一些数据但无法处理它。
这是产生该错误的函数:
在我看来,它看起来无法查找文件,因为它是流而不是静态文件。
任何解决方法的建议?
python - 如何使用python脚本检查rtsp url是否向上/向下
我有一台在 rtsp 链接上运行的相机。我想编写python代码来检查相机是活的还是死的。类似于使用 curl 检查 url 是否正常工作。可以使用什么类似的命令来检查 rtsp url 状态?
我尝试在终端上使用 openRTSP,我想将它用作 python 脚本
openRTSP rtsp://test_url_here
opencv - 无法让 Opencv、cv2.VideoCapture rtsp 蒸汽从 IP 摄像机工作
我正在尝试使用 Opencv 并运行 Linux 从我的 Ip 摄像头读取 rtsp 流。相机是来自中国的 Floureon IPC 360。我正在尝试开发一些面部识别代码。
我正在使用以下代码:
cv2.imshow 失败,因为框架为“无”&(ret 为假)。
在一个单独的窗口中,我可以运行 openRTSP :
这为我创建了一个不错的 mp4 文件,我可以播放:107625 Sep 12 19:08 cam_eight-00000-00010.mp4
OpenRTSP 可以使用或不使用 t (tcp)。我还尝试将 admin:123456 凭据提供给 cv2.VideoCapture 行,openRTSP 似乎不需要。
任何想法为什么 cv2.VideoCapture 显然失败了?
我已经尝试了上述代码的变体,但似乎没有任何效果。我已在相机上启用 ONVIF