我有一个运行v4l2rtspserver的Raspberry Pi zero,并使用H264编码的1640x1232帧传输RTSP流。我希望gst-launch-1.0连接到它,更改它的分辨率,并将其转储到某个地方。
由于我似乎做不对,而且我的history | grep gst-launch | wc -l分数超过500分,我想我应该寻求帮助。
对于那些想知道这是我的问题的人来说: Raspberrypi运行MotionEyeOS太慢了,所以我想通过在缩小的视频流(160x120,来自管道或环回设备)上运行motion来优化运动检测,同时保留全尺寸的视频流(最好是通过RTSP,但也可以通过其他任何方式)。换句话说,我试图将摄像头的输出分成两个流,并改变其中一个流的分辨率。
实现这一点的任何其他设置(我已经尝试了几种:v4l2loopback、ffmpeg + ffserver、mjpeg_streamer等)那就好了。
发布于 2019-02-15 20:30:13
我终于找到了。如果您使用默认参数运行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
https://stackoverflow.com/questions/54696124
复制相似问题