我需要将视频从服务器流到客户端,并带有时钟覆盖。服务器必须在Docker映像中。
这是服务器命令:
gst-launch-1.0
v4l2src device=/dev/video0
! videorate ! videoscale
! clockoverlay shaded-background=true font-desc="Sans 38"
! video/x-raw,format=I420,width=640,height=360,framerate=25/1
! jpegenc ! rtpjpegpay
! udpsink host=localhost port=5000
这是客户:
gst-launch-1.0 -v
udpsrc port=5000
! application/x-rtp, encoding-name=JPEG, framerate=25/1
! rtpjpegdepay ! jpegdec ! videoconvert ! ximagesink
您可以尝试,这很好。但是,当从Docker映像运行服务器时,我会得到此警告,并且该过程停止:
警告:错误管道:没有元素" clockoverlay"
这是我的Docker文件:
from ubuntu:16.04
MAINTAINER Me
RUN apt-get update && apt-get install --no-install-recommends -y
openjdk-8-jre
gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-tools
&& rm -rf /var/lib/apt/lists/*
ENTRYPOINT exec
gst-launch-1.0
v4l2src device=/dev/video0
! videorate ! videoscale
! clockoverlay shaded-background=true font-desc="Sans 38"
! video/x-raw,format=I420,width=640,height=360,framerate=25/1
! jpegenc ! rtpjpegpay
! udpsink host=localhost port=5000
我会缺少什么?我可以添加任何依赖性吗?文本叠加层也无法正常工作,因此我怀疑字体问题,也试图安装字体启动,没有运气。
编辑:我登录了我的Docker映像,GST-Inspect-1.0 ClockOverlay答案
没有这样的元素或插件'clockoverlay'
我也只需要安装gstreamer1.0-x。