- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 RTSP 视频源 (h265),我可以使用 VLC 显示它。我想将流分成两部分,一个以原始分辨率(使用 h265 编码),另一个以新的较低分辨率(使用 h264 编码)。这两个新流也应该是 RTSP 流,可以用 VLC 观看。
出于带宽考虑,我只能将单个客户端连接到主要来源。
到目前为止,我有一个工作的 gst-rstp-server 设置,一个媒体工厂运行这个 gst 启动字符串:
rtspsrc location=... ! rtph265depay ! h265parse ! tee name=t ! queue ! rtph265pay name=pay1 pt=96 t. ! queue ! decodebin ! videoscale ! videorate ! video/x-raw,framerate=30/1,width=640,height=480 ! x264enc bitrate=500 speed-preset=superfast tune=zerolatency ! h264parse ! rtph264pay name=pay0 pt=96
我为媒体工厂设置了一个挂载点,可以连接到 VLC,例如。 “rtsp://127.0.0.1:8550/测试”。有了这个,我只能在 VLC 中获得 pay0 的子流。通过更改 pay0,我可以看到两个子流都在工作。但是我怎样才能让 VLC 显示我的 pay1?
否则,我如何才能使用原始视频源,然后让两个不同的媒体工厂(具有不同的 gst 启动字符串...)使用 tee 作为它们自己的源?
最佳答案
两个流同时发送给您。通常 pay0 和 pay1 的情况是发送视频和音频。对于您想要 2 个单独的视频流的情况,您需要修改代码。
可以通过修改 gst-rtsp-server/examples/test-launch.c
中的文件来完成您想要实现的一个简单示例
factory = gst_rtsp_media_factory_new ();
gst_rtsp_media_factory_set_launch (factory, argv[1]);
gst_rtsp_media_factory_set_shared (factory, TRUE);
gst_rtsp_mount_points_add_factory (mounts, "/stream1", factory);
gst_rtsp_media_factory_set_launch (factory, argv[2]);
gst_rtsp_media_factory_set_shared (factory, TRUE);
gst_rtsp_mount_points_add_factory (mounts, "/stream2", factory);
然后从 开始videorate !video/x-raw,framerate=30/1,width=640,height=480 !x264enc bitrate=500 speed-preset=superfast tune=zerolatency !h264parse !rtph264pay name=pay0 pt=96"
不过,您的相机上会有 2 个消费者。如果您更喜欢只消费一次,则由您来 T 流并使其可用作 gst_rtsp_media_factory_set_launch
管道的 src。
关于gstreamer - 将 RTSP 负载与 gst-rtsp-server 分开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55173780/
我用谷歌搜索gst-omx和gstopenmax,但我认为这两个插件的功能似乎是一样的。不明白gst-omx和gstopenmax是什么关系。根据他们的个人文档: gst-openmax 是一个 GS
Xcode 10.1 中出现 GStreamer gst.h 文件未找到错误。有没有人能够找到解决方案??? 如果我使用 Objective-C 作为 iOS 项目的主要语言,甚至会出现此错误。 最佳
我正在尝试使用 CMake 使用 gstreamer 构建一个 C++ 应用程序。在我的 CMakeLists.txt 文件中,gstreamer 包含在以下行中: find_package(PkgC
我已经安装 gst-rtsp-server我想尝试一个简单的代码。但是在编译时我收到以下错误: In function `main': test-launch01.c:(.text+0x64): un
在进行了大量的谷歌研究之后,我将这个问题发布到这个专家组中。我找到了许多相关链接,但对我的情况不起作用。 我正在从数据库中获取格式为 2016-01-12 00:00:00.0 的日期值。现在我想将此
我正在使用 gst 库播放多个音频文件,但遇到问题: Error: Internal data flow error 这是我的代码(没有其他分路器和接收器初始化): GstElement *elm1,
我正在尝试在 php 中实现 GST 验证。 if(!preg_match("/^([0-5]){2}([a-zA-Z]){5}([0-9]){4}([a-zA-Z]){1}([a-zA-Z0-9])
我有这个使用 gst-plugin-1.0 的现有程序,它通过了这个:-e udpsrc port=3003 buffer-size=200000 ! h264parse ! queue ! http
我已经使用filesink创建了一个原始视频文件,我可以使用以下命令使用vlc播放该文件 vlc --demux rawvideo --rawvid-fps 24 --rawvid-width 19
我想在 javascript 或 jquery 中进行 GST 验证 仅限于印度。 印度GST的结构如下 GST Number will be of 15 digits having below va
我是一个运行 cent-os linux 的非根用户,我必须在我的远程机器上安装 opencv...所以我从源文件安装它...即分三步:1../configure 2.make 3.make inst
我陷入了困境。我正在学习以下教程(特别是 6.4.2) http://majorsilence.com/pygtk_audio_and_video_playback_gstreamer 我正在运行 P
我想在 gstreamer 中生成一个流,如果可能的话,我更愿意从 python 中生成。这指向使用 gst-python,但我没有看到一个明确的方法来做到这一点。看起来创建一个新流需要制作一个 gs
Ubuntu 14.04Gstreamer 0.10代码 SDK:Qt。 我对 Gstreamer 很陌生。当我在我的终端上使用 gst-launch 工具时,我可以成功地看到连接到我的工作站的摄像头
我已经在 Windows 7 PC 上安装了 GStreamer SDK (x64) 和 GStreamer SDK(开发文件)(x64)。这是一个完整的安装——所有功能都已启用。当我运行 gst-i
我已安装 gstreamer1.0-plugins-base使用命令: $ sudo apt-get install gstreamer1.0-plugins-base 但是当我编译我的代码时,它仍然
我已成功通过Windows上的UDP流传输文件(音频/视频),并在另一台具有VLC(this was covered on Stackoverflow before)的计算机上观看了该文件: gst-
使用以下工作正常 gst-launch-0.10 filesrc location=temp.wav ! wavparse ! audioconvert ! alsasink device=hw:0
我需要两个 gst-launch-1.0 命令行 1) 第一个是简单的播放视频 (.mp4) 而不使用任何硬件加速。 2) 第二个是使用硬件加速播放视频 (.mp4),我使用的是带有 i965 驱动程
我需要两个 gst-launch-1.0 命令行 1) 第一个是简单的播放视频 (.mp4) 而不使用任何硬件加速。 2) 第二个是使用硬件加速播放视频 (.mp4),我使用的是带有 i965 驱动程
我是一名优秀的程序员,十分优秀!