gstreamer из потока RTSP, изменение разрешения
У меня Raspberry Pi работает ноль v4l2rtspserver
и передачу потока RTSP с кодированными H264 кадрами 1640x1232. мне бы хотелось gst-launch-1.0
подключиться к нему, изменить его разрешение и сбросить его куда-нибудь.
Так как я не могу понять это правильно, и так как мой history | grep gst-launch | wc -l
отметок более 500, я думал, что умоляю о помощи.
Для тех, кто интересуется, это моя проблема: Raspberrypi Zero слишком медленный для запуска MotionEyeOS, и поэтому я хотел бы оптимизировать обнаружение движения, запустив motion
в уменьшенном видеопотоке (160x120, из канала или устройства обратной связи), сохраняя при этом полномасштабный видеопоток (предпочтительно через 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