【问题标题】:gstreamer between two raspberry pis. Can't decode stream两个树莓派之间的 gstreamer。无法解码流
【发布时间】:2021-09-19 09:28:24
【问题描述】:

我正在尝试设置 gstreamer 以在两个树莓派之间发送视频源,但出现错误。

-“无法解码流” -“接收缓冲区没有第一次接收上限”

这是我用来创建流的命令:raspivid -t 0 -h 720 -w 1080 -fps 25 -hf -b 2000000 -o - | gst-launch-1.0 -v fdsrc ! h264parse ! rtph264pay config-interval=1 pt=96 ! gdppay ! udpsink host=YOUR_RPI_IP_ADDRESS port=5000

这是我用来尝试观看流的一个,并且给我一个错误:gst-launch-1.0 -v udpsrc port=5000 ! gdpdepay ! rtph264depay ! avdec_h264 ! videoconvert ! fbdevsink sync=false

任何帮助将不胜感激,谢谢!

【问题讨论】:

  • 我根本不知道gstreamer,但在我未经训练的眼睛看来,您正在通过 TCP 进行传输,同时尝试通过 UDP 接收。我猜你的接收命令应该使用 TCP。我很可能是错的 - 但似乎没有其他人有任何想法,所以也许值得一试。
  • 我在发这篇文章时犯了一个错误。在带摄像头的 pi 上,我使用的命令是 udpsink,而不是 tcp。我更新了帖子。我想我会尝试真正深入了解 gstreamer。这似乎很简单。关于字符串和流自动检测媒体的一些东西,或者我从互联网上收集到的东西。我见过一些人指定 CAPS 属性,这可能就是解决方案所在。
  • 我无法想象它会工作,更不用说可靠了,使用 UDP 和 2MB 帧。
  • 这是来自相机的比特率,然后被压缩成 h264,然后流式传输。至少据我了解。话虽这么说,你说的话是什么意思?我是 UDP 与 TCP 的新手。
  • TCP 是一种可靠的、按顺序的字节流。 UDP 不可靠、无序且基于单独的独立数据包 - 其中一些可能会丢失、重复或乱序到达。

标签: linux raspberry-pi video-streaming gstreamer h.264


【解决方案1】:

之后运行相机流解决了这个问题。我必须先启动接收管道。如果您希望能够以任何顺序随时连接,我认为可以通过将大写添加到接收 pi 来解决。我第一次打开这个帖子时不知道大写字母是什么。

如果有人偶然发现它,希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-28
    • 2016-05-06
    • 1970-01-01
    • 2015-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多