使用 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 流,寻求工作示例 的相关文章

  • 使用 Android Exoplayer 调整 Dash 流音量

    我正在尝试设置一个搜索栏来控制 exoplayer 流式破折号实例的级别 我正在使用的设置是演示项目的修改版本 并且无法确定我应该尝试影响搜索栏输出的哪个元素 即如何正确使用 MSG SET VOLUME 等 任何意见将不胜感激 我正在寻找
  • 有没有其他方法可以在delphi上观看youtube视频?

    我看到http www delphiflash com demo youtube video http www delphiflash com demo youtube video关于如何在 delphi 上加载 flash 视频 但它不是
  • 安装 gstreamer 对 opencv python 包的支持

    我已经从源代码构建了自己的 opencv python 包 import cv2 print cv2 version 打印 3 4 5 现在我面临的问题是关于 opencv 的 VideoCapture 类中的 gstreamer 的使用
  • Python中使用cv2获取当前视频播放位置

    我正在尝试使用 CV2 和 Python 从播放视频中获取当前播放时间位置 如果可能 以毫秒为单位 目前我正在使用此示例代码来播放视频文件 import cv2 import numpy as np file name 2 mp4 wind
  • Android 应用程序中通过 VideoView 将正在播放的视频静音

    我想在我的 Android 应用程序中将 VideoView 正在播放的视频静音 我在 VideoView 类中找不到任何方法来执行此操作 知道如何做到这一点吗 我在 MediaPlayer 类中找到了一个方法 setVolume 但我无法
  • 带身份验证的 MediaPlayer RTSP 视频流

    我能够在未经授权的情况下从网络摄像机流式传输视频 但现在我需要在授权的情况下执行此操作 我发现很少有信息表明 Android 不支持 RTSP 身份验证 但我发现另一条信息表明 通过使用该方法添加标头 可以在 API 级别 14 中实现身份
  • 如何在列表视图中选择时启用视频序列自动播放?

    大家好 有人可以与我分享一下我如何编写我的 viewvideo java 类 以便它允许自动播放视频功能 自动排序在列表视图中播放所选视频的任务 从当前位置到最新录制的视频 按顺序直到最新的视频播放完毕 这类似于 YouTube 自动播放功
  • 使用 GStreamer 进行流式传输

    我在 System 1 上有一个高清视频 ed hd avi 希望通过网络进行流式传输并播放 System 2 中的内容 我在 Ubuntu 11 04 上使用 GStreamer 对此进行了很多尝试 各种错误使得该目标难以诊断 将感谢获得
  • 在 C# 中显示来自原始未压缩数据源的实时视频:WPF 与 Winforms

    我有一个实时的 16 位灰度视频流 它作为原始 未压缩的字节流 每像素 2 字节 2 18 像素 帧 32 帧 秒 通过内存中的环形缓冲区推送 这是通过 PCI 图像采集卡来自科学级相机的 我想对视频进行一些简单的处理 剪辑动态范围 着色
  • JavaScript 和 HTML - 视频屏幕退出后停止背景声音

    我想停止视频播放视频背景声音或在退出视频屏幕后停止声音 全屏 现在的错误是退出视频屏幕后视频背景声音仍在播放 所以我只想删除视频背景声音 这是我的视频
  • 如何进行时间码计算?

    我有一个关于计算时间码增量的问题 我从包含时间码格式的电影文件中读取元数据HH MM SS FF FF 框架 00 gt 23例如 所以它就像00 to framerate 1 所以我得到一些数据 比如15 41 08 02从另一个参考文件
  • 使用 UIImage 和 caf 创建视频文件的问题

    我已经阅读了在互联网上可以找到的所有关于此功能的帖子 并且我在创建视频文件方面取得了一些成功 但我还剩下 3 个问题 而且似乎没有人提到过这一点 我有 3 个问题 视频在某些播放器上无法正常播放 quicktime window 视频只播放
  • 如何在我的网站中嵌入私人 YouTube 视频?

    我必须在我的博客中显示一些私人 Youtube 视频 我无法直接嵌入它们 我应该用什么来做到这一点 您应该将视频设置为 不公开 而不是 私有 这样 视频就不会显示在您的频道或任何搜索结果中 但任何拥有该视频链接的人都可以看到它 并且您可以将
  • OpenCV 读取视频文件时内存不足

    此示例从文件中读取视频cv2 VideoCapture在 python OpenCV 中内存不足 import cv2 cap cv2 VideoCapture file mp4 while True ret frame cap read
  • 将视频输入流转换为 RTMP

    我想将 Android 手机中的视频录制流式传输到网络媒体服务器 第一个问题是设置时MediaRecorder输出到套接字 流丢失了一些mdat大小标题 这可以通过在本地预处理流并将丢失的数据添加到流中以生成有效的输出流来解决 问题是如何从
  • 将 Instagram/youtube 嵌入 Shiny R 应用程序

    我想通过点击图表来播放 Instagram 或 Youtube 视频 例如显示异常值等 到目前为止 明确告诉 Shiny 视频内容是有效的 require shiny require ggplot2 data df lt data fram
  • 通过 WiFi 将视频从一部 Android 手机直播到另一部手机

    我已经在互联网上搜索了好几天关于如何通过 WiFi 连接实现从 Android 手机到另一部 Android 手机的视频流功能 但我似乎找不到任何有用的东西 我查看了 Android 开发人员的示例代码 stackoverflow goog
  • 在 IOS 10 beta 7 (Safari) 中使用 webGL 渲染视频 - 显示奇怪的紫色

    我正在 webGL 中渲染视频 通过传递Video对象作为源texImage2D 这在所有平台 支持 webGL 中都很好用 但是在 IOS 10 beta 7 的 Safari 中 它以奇怪的颜色渲染 在以前的 IOS 版本中看起来还不错
  • FFmpeg 代码无法在用于缩略图提取的 http url 上工作

    我正在尝试从 sharepoint 2013 视频库中提取缩略图 我找到了一个可以使用 ffmpeg 提取的链接 这是链接 如何将视频的第一帧保存为图像 https stackoverflow com questions 3575311 h
  • HTML5 MediaSource 适用于某些 mp4 文件,但不适用于其他文件(相同的编解码器)

    我正在玩 MediaSource API 代码直接取自 Mozilla 的示例页面 https developer mozilla org en US docs Web API MediaSource endOfStream https d

随机推荐