gst-launch-1.0两个管道/ sinkfiles

时间:2015-05-26 20:38:14

标签: streaming video-streaming raspberry-pi gstreamer raspbian

我正在制作一架飞行无人机,通过3G调制解调器/ WI-FI将Raspberry Pi 2的实时流发送到我的计算机,并使用此命令制作流:

sudo raspivid -t 999999999 -w 320 -h 240 -fps 20 -rot 270 -b 100000 -o - | gst-launch-1.0 -e -vvv fdsrc ! h264parse ! rtph264pay pt=96 config-interval=5 ! udpsink host=192.168.0.103 port=5000

该流效果很好,但我遇到了问题,而raspivid正在运行时我想拍摄5到5秒钟的照片,当我在运行raspivid i'时执行此命令时得到这个:

root@raspberrypi:/var/www/camera# /usr/bin/raspistill -o cam2.jpg
mmal: mmal_vc_component_enable: failed to enable component: ENOSPC
mmal: camera component couldn't be enabled
mmal: main: Failed to create camera component
mmal: Failed to run camera app. Please check for firmware updates

现在我有什么解决方案?另一个想法是我将gstream与udpsinkfilesink一起用于.avi,但我再次收到错误:

WARNING: erroneous pipeline: could not link multifilesink0 to filesink0

在这种情况下我该怎么办?

感谢。

1 个答案:

答案 0 :(得分:1)

AFAIK只有一个Raspberry Pi程序可以一次抓取相机。由于您总是直播视频,因此无法在Pi端添加五秒快照(除非您从头开始编写自定义内容)。

我建议做的是使用您用于直播的相同编码视频数据处理接收方的五秒快照。这样可以减轻无人机上的电池使用量,并且您已经发送了所需的所有数据。