GStreamer: конвертировать поток MJPEG в RTSP и добавить наложение текста - PullRequest
0 голосов
/ 24 февраля 2020

Я пытаюсь прочитать поток веб-камеры mjpeg, добавить наложение динамического текста c и ретранслировать его с помощью rtsp, но мне действительно тяжело. Я полный gstreamer noob, так что это не поможет.

Вот что у меня есть:

gst-launch-1.0 \
multifilesrc location=/tmp/osd.txt do-timestamp=true loop=true caps="text/x-raw, format=utf8" \
  ! txt. \
souphttpsrc is-live=true location="http://192.168.1.16/webcam/?action=stream" \
  ! jpegparse ! jpegdec \
  ! queue max-size-buffers=1 name=q_enc \
  ! videoscale ! videorate \
  ! video/x-raw,width=820,height=616,framerate=15/1 \
  ! textoverlay name=txt wait-text=false auto-resize=true font-desc="Roboto 30px" shaded-background=true \
  ! x264enc bitrate=500 tune=zerolatency speed-preset=superfast \
  ! rtph264pay name=pay0 pt=96

У меня есть сценарий python, перезаписывающий /tmp/osd.txt с помощью текст, который я хочу наложить, что довольно забавно, но я не нашел лучшего способа сделать это. Тем не менее, это не очень хорошо работает, потому что текст отображается только для одного кадра, а затем очищается до тех пор, пока multifilesrc не зациклится и снова не прочитает файл, так что в результате текст будет мигать.

Как следует делать это? Каков наилучший способ наложения динамического c текста?

...