部署RTMP自测环境

STEP1:Install ngnix-for-rtmp

Service (Ubuntu)

docker pull jasonrivers/nginx-rtmp
sudo -i
docker run -it -p 1935:1935 -p 8080:8080 jasonrivers/nginx-rtmp /bin/sh
#./opt/nginx/sbin/nginx

STEP2: Install ffmpeg

mac

brew install ffmpeg --with-ffplay

如果没有ffpaly的话,应该就是ffmpeg没装好,可以

brew uninstall ffmpeg
brew install ffmpeg --with-ffplay

STEP3:Open RTMP-Stream

(mac)
Sender
本地推

ffmpeg -re -i ~/Downloads/T.mp4 -vcodec libx264 -acodec aac -strict -2 -f flv rtmp://localhost:1935/live/ubuntustream

远端推

ffmpeg -re -i ~/Downloads/T.mp4 -vcodec libx264 -acodec aac -strict -2 -f flv rtmp://192.168.0.157:1935/live/macstream

循环放推

for ((a=1;a<=100;a++)) ; do ffmpeg -re -i ~/Downloads/T.mp4 -vcodec libx264 -acodec aac -strict -2 -f flv rtmp://localhost:1935/live/t; done

Receiver

拉取视频
(mac ubuntu)

ffplay rtmp://192.168.0.157:1935/live/macstream
ffplay rtmp://192.168.0.157:1935/live/ubuntustream

其中 ”~/Downloads/T.mp4“ 是测试视频 , ”192.168.0.157“ 是我另外一部电脑的局域网IP。

后记

后来发现mac 下用docker需要装一下docker-machine
service (mac)

brew install docker docker-machine
docker-machine create -d virtualbox default
eval "$(docker-machine env dev)"
docker run hello-world

启动docker-machine

docker-machine run default

docker-machine在mac 在装了一下迷你的linux系统,进去系统可以用

docker-machine ssh default

进去之后的操作就和Ubuntu下一致了。

但是这样部署的之后,NGNIX-RTMP就流不出来了。我在Mac上在装了一个NGINX,把流反射出来

brew install homebrew/nginx/nginx-full --with-stream
sudo vim  /usr/local/etc/nginx/nginx.conf
stream {
    server {
        listen 1935;
        proxy_pass rtmp;
    }
    upstream rtmp {
        server 192.168.99.100:1935;
    }
}
http {
    ...
}

satrt nginx

sudo nginx

stop nginx

sudo nginx -s stop

你可能感兴趣的:(Android,rtmp)