【发布时间】:2016-07-15 09:45:40
【问题描述】:
我正在尝试合成来自三个 Rapsberry PI 的三个流。
一旦我使用 videomixer 插件将两个流连接在一起,我就会收到一条以以下结尾的消息:
管道:pipeline0/GstOSXVideoSink:osxvideosink0: 可能存在时间戳问题,或者这台计算机太慢。
奇怪的是,我的任务监视器只显示 gst 大约 15% 的 CPU 使用率
使用三个流,帧率变得不可用。我希望我的 I7 macbook 能够毫无问题地处理这个问题......
这是我用于混合的代码,在这种情况下只有一个流(/sink?)。 谁能告诉我是否有明显的错误?或者我应该在哪里寻找瓶颈并改进它? 谢谢 !
gst-launch-1.0 videomixer name=m sink_1::xpos=400 sink_2::ypos=300 ! autovideosink \
-v udpsrc port=9000 caps='application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264'! rtph264depay ! video/x-h264,width=400,height=300,framerate=30/1 ! h264parse ! avdec_h264 ! videoconvert ! m. \
-v udpsrc port=9001 caps='application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264' ! rtph264depay ! video/x-h264,width=400,height=300,framerate=30/1 ! h264parse ! avdec_h264 ! videoconvert ! m. \
-v udpsrc port=9002 caps='application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264' ! rtph264depay ! video/x-h264,width=400,height=300,framerate=30/1 ! h264parse ! avdec_h264 ! videoconvert ! m.
这是我用来从 RPI 摄像头发送流的代码。
raspivid -n -w 640 -h 480 -t 0 -o - \
| gst-launch-1.0 -v fdsrc ! h264parse ! rtph264pay \
config-interval=10 pt=96 ! udpsink host=192.168.1.3 port=9000
【问题讨论】:
-
嗯glvideomixer怎么样?我现在不确定 OpenGL 在 RPI 上的功能如何
-
你能粘贴你正在使用的代码吗?两个流连接到混音器?我也没有在您的管道中看到任何
queue元素。 -
@otopolsky videomixer 在 Mac 上,由于某种原因 glvideomixer 没有出现在我的设置中。我已经搜索了如何安装它,但我找不到任何关于它的信息。我一定是看错了方向。你能告诉我如何在 Mac 上安装 glvideomixer(我已经安装了插件库,好、坏、丑和 libav)但是当我执行 gst-inspect-1.0 时没有出现 gl 元素
-
@mpr 感谢您的回复,我编辑了代码以反映完整的命令。
-
也许当您在安装了一些 opengl 开发包的 mac 上重新编译时?我不知道该怎么做..也许在#gstreamer freenode IRC上询问..
标签: raspberry-pi gstreamer frame-rate