使用 Gstreamer 提供 RTSP 流,寻求工作示例

2023-12-23

我们正在尝试让 Gstreamer 在 DM368 Leopardboard* 上运行,我们已成功说服它创建测试视频 (videotestsrc)、对其进行编码并将其转储到文件中。

有效的管道是:

gst-launch -v videotestsrc num-buffers=100 ! queue ! ffenc_mpeg4 bitrate=800000 ! ffmux_mp4 ! filesink location=video_test.mp4

下一步是修改管道以通过网络传输测试卡,以便使用 VLC 在 PC 上查看,例如rtsp://ip_addr:端口/流名称但是有关如何执行此操作的文档似乎相当薄弱(并且通常已经过时),并且示例似乎模糊了源代码和命令行执行方式。

我坦率地承认,超过 50% 的问题是我们对 Gstreamer 及其各个部分缺乏熟悉,我总是发现,如果我有一个可以工作的示例,我可以用棍子戳它并解决其余的问题从那里。

到目前为止我已经做到了:

gst-launch -v videotestsrc ! queue ! ffenc_mpeg4 bitrate=800000 ! rtpmp4vpay ! tcpserversink host=<PC_ip> port=5000

这似乎使得某物发生在 VLC 中(使用tcp://board_ip:端口)-它似乎认为发生了一些事情(不会抛出错误),但不播放/显示任何内容。当我破坏 (^C) gst 进程时,VLC 会注意到。

所以,基本上 - 任何指导/反馈都会很棒,一条有效的单行文字会很棒。

编辑添加:是的,我看到了 test_video.c 示例,但它正在编译一个特殊的程序来执行一些看起来应该可以从命令行调用来证明这个概念的事情。

* = Linux version 2.6.32-17-ridgerun /CPU: ARM926EJ-S

Source https://github.com/tik0/mat2gstreamer/blob/master/gstreamer.md: 与 RTP 相反,RTSP 服务器按需协商 RTP 服务器和客户端之间的连接(Link https://stackoverflow.com/questions/4303439/what-is-the-difference-between-rtp-or-rtsp-in-a-streaming-server). The gst-rtsp-服务器 https://gstreamer.freedesktop.org/data/events/gstreamer-conference/2013/GStreamer%20Conference%202013%20-%20Wim%20Taymans%20-%20Latest%20GStreamer%20RTSP%20Server%20features.pdf不是 gstreamer 插件,而是一个可用于实现您自己的 RTSP 应用程序的库。以下测试用例应用于Ubuntu 12.04.5机器上:

  • Preliminars
    • 使用 base/good/ugly/bad 插件安装 gstreamer-1.0
    • Install autoconf automake autopoint libtool以及其他缺少的基本构建工具
  • Build gst-rtsp-server
    • git clone git://anongit.freedesktop.org/gstreamer/gst-rtsp-server && cd gst-rtsp-server
    • 我们使用gstreamer 1.2:git checkout remotes/origin/1.2
    • Build: ./autogen.sh --noconfigure && GST_PLUGINS_GOOD_DIR=$(pkg-config --variable=pluginsdir gstreamer-plugins-bad-1.0) ./configure && make(由于某种原因,pkg-config没有设置GST_PLUGINS_GOOD_DIR,所以我们显式地设置它)
  • Test run
    • 运行测试应用程序:cd examples && ./test-launch "( videotestsrc ! x264enc ! rtph264pay name=pay0 pt=96 )"
    • 现在可以通过以下地址远程访问流(例如使用 VLC):rtsp://HOST_IP:8554/test
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Gstreamer 提供 RTSP 流,寻求工作示例 的相关文章

  • 使用 ffmpeg 转换真实媒体

    我有许多旧的硬壳真实媒体文件需要转换 并希望编写一个脚本来批量处理它们 我可以使用 FFMpegX 进行 Real Media gt AVI 转换 但是当我尝试使用 ffmpeg 复制转换时 它总是会出现如下错误 avi 0x10084fa
  • 使用流式 JSON 输出构建简单的 Nodejs API

    我正在尝试构建一个简单的基于 Node js 的流 API 我想做的就是当我点击服务器 URL 时 输出应该流式传输一组测试数据 JSON 如 Twitter 流 API var app require express var server
  • 播放 video.js ustream m3u8 文件流

    我尝试在网页中播放带有 video js 的 m3u8 文件流 但我无法做到这一点 我不知道错误在哪里
  • 为视频添加水印的命令

    我尝试在一个视频上添加水印 但 FFmpeg 命令不会执行 错误代码为 3037 我运行相同的代码来修剪视频 视频已成功修剪 因此没有问题inputpath or outputpath我也有ic watermark png在资产文件夹中 我
  • 如何在我的 gstreamer 中启用 httpsrc 插件?

    我尝试使用以下命令播放通过 http 检索的 mp3 文件或流 gst launch httpsrc location http domain com music mp3 mad osssink 但出现以下错误 ERREUR le pipe
  • 加载视频数据集(Keras)

    我正在尝试实现 LRCN C LSTM RNN 来对视频中的情绪进行分类 我的数据集结构分为两个文件夹 train set 和 valid set 当你打开其中任何一个时 你可以找到3个文件夹 积极 消极 和 惊喜 最后 这 3 个文件夹中
  • 计算流数据的直方图 - 在线直方图计算

    我正在寻找一种算法来生成大量流数据的直方图 最大值和最小值事先未知 但标准差和平均值在特定范围内 我很欣赏你的想法 Cheers 我刚刚找到了一个解决方案 秒 从流式并行决策树算法构建在线直方图 论文的 2 2 该算法由 Hive 项目中的
  • 学习 GObject 和 Glib 的材料 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我对 C 很满意 但需要学习GObject and Glib for gstreamer 我在网上找到
  • 是否可以使用 S3 进行 Flash 伪流?

    我一直在使用 S3 来存储和提供 FLV 和 MP4 视频 它效果很好 但内容是渐进下载的 我想知道是否有可能让所谓的 伪流 与 S3 一起使用 伪流允许观看者在下载完整视频之前在视频中向前搜索 并仅将必要的位发送到 Flash 播放器 我
  • 如何将视频转换为base64数据

    我有一个应用程序 可以从相机或图库中获取视频并将其转换为 Base64 数据 并将该数据发送到服务器 但问题是每当我转换 Base64 数据时 videodata 变量中的数据都不是正确的 为此我使用了下面的代码 FileInputStre
  • ios 将 alpha 通道视频叠加在另一个视频上

    我一直在尝试创建一个视频模板 该模板使用 alpha 通道视频叠加在 mp4 视频和图像上 这就是我需要创建视频的方式http viewptch ptchcdn com rendered 52b28a9f8d4f980f3a3f99c3 c
  • Android 中如何获取帧

    实际上 我需要从视频中获取所有帧 但在使用 Mediametadataretriever 缩略图 时间戳获取帧时 我经常重复获取第一帧 然后获取特定时间帧 我通过更改所有 GetFrameAtTime options 尝试了很多修复 但仍然
  • 如何使用 jQuery 将 html5 视频播放器静音

    我找到了如何使用 jquery 暂停和播放视频 video get 0 play video get 0 pause 但我找不到静音按钮 如果没有 jquery 解决方案 我只需一个 onclick js 解决方案即可 我需要尽快 还有有办
  • VLC 和 ffmpeg 如何协同工作?

    我从源代码编译了VLC 它运行良好 当我执行 Vlc 时 vlc 运行 我还从源代码编译了 ffmpeg 它也运行良好 当我执行 ffmpeg i f toto flv mp3 vn acodec copy new toto mp3 时 会
  • 在 Android 中通过蓝牙接收音频

    我想创建一个能够接收音频流的 Android 应用程序 我想过使用 A2DP 配置文件 但似乎 Android 不支持 A2DP 接收器 看起来有很多人正在寻找这个问题的解决方案 但是接收普通的比特流 然后在应用程序中将数据转换为音频呢 我
  • 如何使用javascript将视频文件转换为字符串?

    我在 signalR 工作 我想通过将视频文件拆分为不同部分来将视频文件从一个客户端发送到另一个客户端 我已经通过分割图像源数据发送图像并在另一个客户端上接收该图像 document getElementById fileUpload ad
  • Java中的媒体播放器库[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在评估用于在 Java 中播放音频 视频的库 它不需要 100 Java Java 与本机库的绑定
  • VideoCamera 获取支持的分辨率

    我使用 DirectShow 库 DirectShowLib 2005 dll 和 C 来捕获摄像机图像 当我定义捕获对象的大小时 我有以下参数 const int VIDEOWIDTH 640 Depends on video devic
  • iOS 视频压缩 Swift iOS 8 损坏的视频文件

    我正在尝试压缩用户相机从 UIImagePickerController 拍摄的视频 不是现有视频 而是动态视频 以上传到我的服务器 并花费少量时间来完成此操作 因此较小的尺寸是理想的选择 而不是 30 较新质量的相机为 45 mb 这是在
  • Azure 和直播

    我正在尝试使用 Azure 制作实时视频流 但我真的不知道应该先尝试什么 首先 有一个网站 上面有最新版本的 Flowplayer 现在我需要知道如何将网络摄像头的视频流传输到 Azure 我需要什么样的软件 我正在尝试使用 Express

随机推荐