思路(如图):

1,开启推流服务器(这里我的Nginx-rtmp服务器搭建成功)

进入docker 开启推流服务器  docker run -it -p 1935:1935 -p 8000:80 --rm alfg/nginx-rtmp

2,推流(两种方法)

命令推流:

查看本机摄像头及麦克风设备 ffmpeg -list_devices true -f dshow -i dummy

音视频推流: ffmpeg -f dshow -i video="VMware Virtual USB Video Device":audio="Microphone (High Definition Audio Device)" -tune:v zerolatency -f flv "rtmp://192.168.99.100:1935/stream/test"

#推流视频文件
ffmpeg -re -stream_loop -1 -i test.mp4 -f flv rtmp://192.168.99.100:1935/stream/test
播放地址http://192.168.99.100:8000/live/test.m3u8 #将摄像头推流到hls
ffmpeg -f vfwcap -i "0" -c:v libx264 -preset ultrafast -acodec libmp3lame -ar 44100 -ac 1 -f flv rtmp://localhost:1935/hls/home
播放地址http://localhost:8080/hls/home.m3u8 #将屏幕推流到rtmp
start ffmpeg -f gdigrab -i desktop -vcodec libx264 -preset ultrafast -acodec libmp3lame -ar 44100 -ac 1 -f flv
播放地址rtmp://localhost:1935/live/jing

使用第三方软件推流:(例如:OBS Studio)

3,拉流

这里前端使用的是通过VUE

注意使用video需安装以下几个依赖

cnpm install video.js
cnpm install aes-decrypter
cnpm install m3u8-parser
cnpm install mpd-parser
cnpm install mux.js
cnpm install url-toolkit
cnpm install videojs-contrib-hls

<video id="my-video" class="video-js vjs-default-skin" controls preload="auto" >
<source src="http://192.168.99.100:8000/live/test.m3u8" type="application/x-mpegURL">
</video> <script>
//vue 的video插件
import videojs from 'video.js'
import 'videojs-contrib-hls' export default {
mounted:function(){
//自动执行直播平台
videojs('my-video', {
bigPlayButton: false,
textTrackDisplay: false,
posterImage: true,
errorDisplay: false,
controlBar: true
}, function () {
this.play()
})
}
}
} </script>

效果如下:

最新文章

  1. 补发SQL。(实用语句!!)
  2. Query Designer:Variable 变量
  3. 自动化部署与统一安装升级 - 类ansible工具 udeploy0.3版本发布 (更新时间2014-12-24)
  4. 使用Access-Control-Allow-Origin解决跨域
  5. UVa 808 (建坐标系、找规律) Bee Breeding
  6. JDK自带方法实现RSA数字签名
  7. C#快递单号查询源码
  8. Android数据存储之文件存储
  9. 严格模式 (JavaScript)
  10. Quirks模式是什么?它和Standards模式有什么区别
  11. 0~5年一个Java程序员的晋升之路
  12. 插入排序Java版
  13. FL studio的循环模式简介
  14. Java 面向对象编程小练习(曾经)
  15. OpenLayers 3 之 地图图层数据来源(ol.source)详解
  16. AngularJS 事件广播与接收 $emit $broadcast $on
  17. 常用增强学习实验环境 I (MuJoCo, OpenAI Gym, rllab, DeepMind Lab, TORCS, PySC2) (转载)
  18. AS3 localToGlobal、globalToLocal方法的总结
  19. uploadify在chrome下初始化失败,在Firefox下却可以原因探析
  20. Linux-vim编辑器与shell的简介

热门文章

  1. 如何清理MacBook电脑缓存?
  2. Linux三剑客grep、awk、sed
  3. 好端端的数据结构,为什么叫它SB树呢?
  4. iOS沙盒文件目录介绍
  5. 深入浅出之mysql索引--上
  6. 阿里云云开发平台助力风变科技Serverless架构升级实战
  7. java46
  8. macos brew zookeeper,安装后zookeeper启动失败?
  9. 4.深入Istio源码:Pilot的Discovery Server如何执行xDS异步分发
  10. Python中可迭代对象是什么?