Я использую Docker для проекта. Цель состоит в том, чтобы воспроизвести видео в VLC и отправить поток данных по протоколу RTSP, чтобы другие машины (пользователь) могли видеть видео в прямом эфире на своих машинах. видео, файл Docker и файл bash находятся в одной папке. здесь Баш файл (simulate_video_stream.sh) я использую:запустить vlc в изображении Docker для отправки видеопотока по протоколу rtsp
# 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
А вот 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"]
Билда является успех на "Суд Docker построить -t тест." Я надеюсь использовать его с двумя параметрами, определенными в файле bash, например "docker run test -f namevideo.mp4 -i rtsp: //: 8554/test" Но он возвращает "write pipe: bad file дескриптор " Что мне делать? Спасибо
из любопытства, что хост O S и какая архитектура? –
Я использовал Ubuntu 16.04 x64 –