直接用html 的<video>缺点:
1,缓冲速度慢,彻底依赖网络速度。
2,网络终端的状况下,会从新缓冲
在我美国服务器测试下,基本没法观看视频。
而后我参考了一个flask 直流视频播放,测试效果也很是不理想,参考:http://python.jobbole.com/80994/
单张图片的加载方式,彻底没法使用。(本机播放摄像头仍是比较流畅的)
ffmpeg+nginx 实现视频推流拉流:
缺点:直播,速度快,可是没法拖动视频等问题。
环境ubuntu 14.04.5 LTS \n \l
1,安装nginx: 参考:https://www.vultr.com/docs/setup-nginx-rtmp-on-ubuntu-14-04html
apt-get install build-essential libpcre3 libpcre3-dev libssl-dev libtool zlib1g-dev openssl wget http://nginx.org/download/nginx-1.7.5.tar.gz wget https://github.com/arut/nginx-rtmp-module/archive/master.zip apt-get install unzip tar -zxvf nginx-1.7.5.tar.gz unzip master.zip cd nginx-1.7.5 ./configure --with-http_ssl_module --add-module=../nginx-rtmp-module-master make make instal service nginx start 查看使用的配置文件service nginx configtest 默认端口是80 若是被占用,更换端口,修改配置文件,个人是/usr/local/nginx/conf/nginx.conf 中的http,server listen http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 8090; 配置文件中添加: rtmp { server { listen 1935; chunk_size 4000; # TV mode: one publisher, many subscribers application wstv{ # enable live streaming live on; # record first 1K of stream record all; record_path /tmp/av; record_max_size 1K; # append current timestamp to each flv record_unique on; # publish only from localhost # allow publish 127.0.0.1; # deny publish all; allow play all; } }} 重启nginx,没有报错则正常。 2,安装。 sudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-next sudo apt-get update sudo apt-get install ffmpeg 安装成功以后,能够把mp4 转换成flv ,这样会快些,可是画面质量有所降低。 ffmpeg -i "video.mp4 " -y -ab 32 -ar 22050 -qscale 10 -s 640*480 -r 15 /opt/a.flv 5.推流: 执行:ffmpeg -re -i a.flv -vcodec libx264 -acodec aac -strict -2 -f flv rtmp://localhost:1935/wstv/home 没有报错则正常 6,拉流,在网上下载一个VLC media 添加网络串流。rtmp://xx.xx.xx.xx:1935/wstv/home 点击播放
简单点,有人作好了docker https://hub.docker.com/r/datarhei/nginx-rtmp/python