小编Han*_*ang的帖子

在 Docker 镜像中运行 vlc 通过 rtsp 协议发送视频流

我正在一个项目中使用 Docker。目标是在VLC中播放视频并通过RTSP协议发送数据流,以便其他机器(用户)可以在他们的机器上实时看到视频。视频、Dockerfile 和 bash 文件位于同一文件夹中。这是我使用的 bash 文件(simulate_video_stream.sh):

# Two facultativ parameters : -f <nameOfTheVideoFile> and -i <URL_Output>
SCRIPTPATH=$( cd $(dirname $0) ; pwd -P );
name=$SCRIPTPATH"/counter.mp4";
sdp="rtsp://:8554/flux";
while getopts "f:i:" OPTNAME
do
   case $OPTNAME in
      f) name=$OPTARG;;
      i) sdp=$OPTARG;;
   esac
done
sout="#transcode{vb=0,scale=0,acodec=mpga,ab=128,channels=2,samplerate=44100}:rtp{sdp="$sdp"}";
vlc -vvv $name --sout $sout
Run Code Online (Sandbox Code Playgroud)

这是 Dockerfile:

FROM ubuntu

RUN apt-get update \
&& apt-get install -y vlc

COPY simulate_video_stream.sh /tmp/
COPY counter.mp4 /tmp/
ENTRYPOINT ["/tmp/simulate_video_stream.sh"]
Run Code Online (Sandbox Code Playgroud)

通过“sudo docker build -t test”构建成功。我希望将它与 bash 文件中定义的两个参数一起使用,例如“docker run test -f …

bash video vlc rtsp docker

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

bash ×1

docker ×1

rtsp ×1

video ×1

vlc ×1