如何使用 gstreamer 作为 go2rtc 中流的外部源?

问题描述 投票:0回答:1
go2rtc 中的

exec 源的文档 here

 暗示可以使用 gstreamer 作为使用管道到 stdout 的相机流的输入。

使用 gstreamer,我使用

filesink location=/dev/stdout

 通过管道传输到标准输出:

streams: mygstreamer: | exec:gst-launch-1.0 v4l2src device=/dev/video0 ! videorate ! \ clockoverlay time-format="%D %H:%M:%S" ! \ videoconvert ! video/xraw,format=I420,width=${RESOLUTION_X},height=${RESOLUTION_Y},framerate=${FRAMERATE}/1 ! \ x264enc tune=zerolatency bitrate=1000 ! h264parse ! video/x-h264,stream-format=byte-stream ! \ filesink location=/dev/stdout
但是这种方法会导致错误消息:

ERR github.com/AlexxIT/go2rtc/internal/mjpeg/init.go:166 > error="streams: EOF"
在 go2rtc 中使用 gstreamer 输入的正确方法是什么?

webrtc video-streaming gstreamer
1个回答
0
投票
您必须使用 -q 标志,否则 gstreamer 会将一些文本输出到 ffmpeg/go2rtc,这当然不是任何视频流。

我已经使用过很多次了 fdsink fd=1 | ffmpeg -i 管道:0

© www.soinside.com 2019 - 2024. All rights reserved.