1

我有一个 Raspberry Pi zero 正在运行v4l2rtspserver并传输带有 H264 编码的 1640x1232 帧的 RTSP 流。我想gst-launch-1.0连接到它,改变它的分辨率,然后把它转储到某个地方。

因为我似乎做错了,而且我的history | grep gst-launch | wc -l分数超过了 500,我想我会寻求帮助。

对于那些想知道这是我的问题的人:Raspberrypi Zero 运行 MotionEyeOS 太慢了,所以我想通过motion在按比例缩小的视频流(160x120,来自管道或环回设备)上运行来优化运动检测,而保留完整的视频流(最好通过 RTSP,但其他任何方法都可以)。换句话说,我试图将相机的输出分成 2 个流并更改一个流的分辨率。

任何其他可以实现这一点的设置(我尝试了一些:v4l2loopbackffmpeg+ffservermjpeg_streamer)都可以。

4

1 回答 1

1

我终于找到了。所以......假设您v4l2rtspserver使用默认参数运行,动态gstreamer 1.0调整视频大小的管道是:

gst-launch-1.0 -e rtspsrc location="rtsp://127.0.0.1:8554/unicast" ! capsfilter caps="application/x-rtp, media=(string)video, payload=(int)96, encoding-name=(string)H264" ! queue ! rtph264depay ! h264parse ! avdec_h264 ! queue ! videoconvert ! videoscale ! video/x-raw,width=160,height=120 ! avenc_h264_omx ! h264parse ! matroskamux ! filesink location=./video.mkv

于 2019-02-15T12:30:13.387 回答