Docker中的GStreamer =覆盖不起作用

时间:2018-02-14 15:00:07

标签: docker overlay gstreamer

我需要通过时钟覆盖将视频从服务器流式传输到客户端。服务器必须位于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'

1 个答案:

答案 0 :(得分:2)

我只需要安装gstreamer1.0-x。