思路(如图):

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>

效果如下:

Nginx-rtmp+ FFmpeg +Docker + vue.js 直播系统搭建的更多相关文章

  1. nginx RTMP FFmpeg 视频直播

    /**************************************************************************** * nginx RTMP FFmpeg 视频 ...

  2. centos7+nginx+rtmp+ffmpeg搭建流媒体服务器(保存流目录与http目录不要随意配置,否则有权限问题)

    搭建nginx-http-flv-module升级代替rtmp模块,详情:https://github.com/winshining/nginx-http-flv-module/blob/master ...

  3. windows下vue.js开发环境搭建教程

    这篇文章主要为大家详细介绍了windows下vue.js开发环境搭建教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 最近,vue.js越来越火.在这样的大浪潮下,我也开始进入vue的学习行列中 ...

  4. vue.js开发环境搭建以及创建一个vue实例

    Vue.js 是一套构建用户界面的渐进式框架.Vue 只关注视图层, 采用自底向上增量开发的设计.Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件. 在使用 vue.js ...

  5. H264音视频直播系统 服务器端+客户端源码 可用于直播系统搭建

    RTP协议实现直播系统搭建,采用H.264和AAC编码,码率极低,同时有较高的视频清晰度和音频音质,可用于视频聊天.视频会议.摄像头监控等多种应用场景. 直播系统搭建发布端,选择视频和音频设备,指定服 ...

  6. 利用Docker挂载Nginx-rtmp(服务器直播流分发)+FFmpeg(推流)+Vue.js结合Video.js(播放器流播放)来实现实时网络直播

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_75 众所周知,在视频直播领域,有不同的商家提供各种的商业解决方案,其中比较靠谱的服务商有阿里云直播,腾讯云直播,以及又拍云和网易云 ...

  7. ffmpeg,rtmpdump和nginx rtmp实现录屏,直播和录制

    公司最近在做视频直播的项目,我这里分配到对直播的视频进行录制,录制的方式是通过rtmpdump对rtmp的视频流进行录制 前置的知识 ffmpeg: 用于实现把录屏工具发出的视频和音频流,转换成我们需 ...

  8. (转)Nginx+rtmp+ffmpeg搭建流媒体服务器

    (1)下载第三方扩展模块nginx-rtmp-module # mkdir module && cd module //创建一个存放模块的目录 # wget https://githu ...

  9. windows平台简易直播系统搭建

    最近做直播系统的朋友很多,正好前端时间也在做这一块,写片文章分享下开发心得,以为后用. 直播系统我将它分为前堆推流,后台服务,客户端播放三大部分.前端推流基于ffmpeg,后台服务 使用crtmp服务 ...

随机推荐

  1. Lumen中启用session

    原文链接:http://www.jianshu.com/p/dc33f8ab0618 Lumen5.2 的Release Notes中官方明确的指出Lumen专注于构建无状态API,JSON API ...

  2. python应用(3):启用集成开发工具pycharm

    之前写了个python程序给自己用,写代码时用的是macvim(vim的一种),macvim是个编辑工具,由于我已经设置过对python等各种语言的支持特性,所以什么缩进.对齐.高亮之类的表现都有,写 ...

  3. Leetcode 周赛#200 题解

    1535 找出数组游戏的赢家 #模拟+优化 题目链接 题意 给你一个由 不同 整数组成的整数数组 arr 和一个整数 k(\(1\leq k\leq1e9\)) .每回合游戏都在数组的arr[0] 和 ...

  4. HHKB Programming Contest 2020 D - Squares 题解(思维)

    题目链接 题目大意 给你一个边长为n的正方形和边长为a和b的正方形,要求把边长为a和b的正方形放在长度为n的正方形内,且没有覆盖(可以相邻)求有多少种放法(mod 1e9+7) 题目思路 这个思路不是 ...

  5. Snap Build Your Own Blocks输入中文解决办法

    Snap Build Your Own Blocks输入中文解决办法 Snap! (formerly BYOB) is a visual, drag-and-drop programming lang ...

  6. C语言memset用法

    1.函数原型: void *memset(void *str,int c,unsigned long n): 2.参数意义: 第一个参数:数组str的起始地址:第二个参数:要赋值给数组的新值,这个值一 ...

  7. 20200315_python3.6去除标点符号

    line = "python3.6下进行去!@#$%^&*()除标点测试,:!大家好,:!&>啥都不是!@#¥%--&*(-.||" # python ...

  8. 第9章 Python文件操作目录

    第9章 Python文件操作 第9.1节 Python的文件打开函数open简介 第9.2节 Python的文件打开函数open详解 第9.3节 Python的文件行读取:readline 第9.4节 ...

  9. PHP代码审计分段讲解(6)

    14 intval函数四舍五入 <?php if($_GET[id]) { mysql_connect(SAE_MYSQL_HOST_M . ':' . SAE_MYSQL_PORT,SAE_M ...

  10. 团队作业part2--需求规格说明书

    需求规格说明书 一.目的 本说明书为了让用户尽快了解产品所含功能,描述用户对产品的期望与需求.明确软件开发的最终目的,使开发出来的软件能够更好的达到用户的需求.其作为用户和软件开发人员达成的技术协议书 ...