私はプロジェクトにDockerを使用しています。目標は、VLCでビデオを再生し、RTSPプロトコルを介してデータストリームを送信することで、他のマシン(ユーザ)が自分のマシン上のライブでビデオを見ることができるようにすることです。 ビデオ、Dockerfileとbashファイルは同じフォルダにあります。 によって成功dockerイメージでvlcを実行して、rtspプロトコル経由でビデオストリームを送信する
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"]
ビルドされていますDockerfile
# 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
そして、ここにある:ここでは、bashのファイル(simulate_video_stream.sh)私が使用している "sudoのドッキングウィンドウ-tテストを構築するには。""docker run test -f namevideo.mp4 -i rtsp://:8554/test"のようなbashファイルで定義された2つのパラメータを使用したいと考えています しかし、 "write pipe:bad fileディスクリプタ " どうすればよいですか?ありがとう
ホストO Sとは何ですか? –
私はUbuntu 16.04 x64 –