来自 RTSP 流的 gstreamer,更改分辨率
Posted
技术标签:
【中文标题】来自 RTSP 流的 gstreamer,更改分辨率【英文标题】:gstreamer from RTSP stream, change resolution 【发布时间】:2019-02-14 17:36:21 【问题描述】:我有一个运行 v4l2rtspserver
并传输 H264 编码 1640x1232 帧的 RTSP 流的 Raspberry Pi 零。
我希望gst-launch-1.0
连接到它,更改它的分辨率,然后将其转储到某个地方。
因为我似乎做错了,而且我的 history | grep gst-launch | wc -l
得分超过 500,我想我会寻求帮助。
对于那些想知道这是我的问题的人:Raspberrypi Zero 运行 MotionEyeOS 太慢了,所以我想通过在缩小的视频流(160x120,来自管道)上运行 motion
来优化运动检测或环回设备),同时保留完整的视频流(最好通过 RTSP,但其他任何东西都可以)。
换句话说,我正在尝试将来自相机的输出分成 2 个流并更改一个流的分辨率。
实现此目的的任何其他设置(我尝试了一些:v4l2loopback
、ffmpeg
+ ffserver
、mjpeg_streamer
等)都可以。
【问题讨论】:
【参考方案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
【讨论】:
以上是关于来自 RTSP 流的 gstreamer,更改分辨率的主要内容,如果未能解决你的问题,请参考以下文章
带有 Gstreamer 流的 OpenCV 具有延迟、缓慢和伪影