Я пытаюсь прочитать поток веб-камеры 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 текста?