简单聊聊实时视频rtmp
背景:
由于经常接触实时视频, 对实时视频略有了解. 实时视频是将视频流实时上传到服务器端进行解析, 由RTMP服务器处理.
RTMP 服务器
自己动手搭建一个rtmp, 本文在 Linux环境中搭建
去git上clone 一个下来https://github.com/arut/nginx-rtmp-module
如何安装本文不做过多篇幅介绍.
修改../nginx-rtmp-module/test下配置文件nginx.conf, 官网这样的结构, 我们这里就不做改动

作用是指定端口号和文件目录

作用是使浏览器可以访问,便于我们调试视频
详细配置参见:
https://github.com/sergey-dryabzhinsky/nginx-rtmp-module/blob/dev/test/nginx.conf
参考文档:
https://denji.github.io/homebrew-nginx/
配置完成后检查是否正确:
[nginx-rtmp-module]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
配置文件修改完成后建议重启server
nginx:nginx -s reload
检查RTMP是否生效
浏览器中输入:http://+服务器ip+端口+stat
浏览器中出现下图,则表示rtmp服务生效了

推流
推流需要借助ffmpeg
linux下FFmpeg下有2个压缩包
https://ffmpeg.org/releases/ffmpeg-4.0.2.tar.bz2
http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
推流服务器地址格式如下:
rtmp://+ip+":"端口+/live/+"其他" //其他是我们任意起的名字
例如:rtmp://10.10.10.10:8001/live/selftest
输入下面命令向服务器推流:
ffmpeg -re -i +视频路径 -c copy -f flv +推流服务器地址
其他还有视频剪切, 码率控制, 视频编码格式转换等 ffmpeg都能应付自如.
比如一个视频的编码是MPEG4,想用H264编码,咋办?
ffmpeg -i input.mp4 -vcodec h264 output.mp4
VLC收看流
使用播放工具VLC 播放工具
rtmp://10.10.10.10:8001/live/selftest
将地址rtmp://10.10.10.10:8001/live/selftest 即可查看留情况
原文: https://mp.weixin.qq.com/s/W4bbdHEcAbe5JQOIFWv54g
今日推荐阅读文章精选推荐
咨询工作加微信

扫描二维码
欢迎自荐和推荐, 需要的微信推送简历!
请猛戳下面二维码了解更多

简单聊聊实时视频rtmp的更多相关文章
- 简单聊聊Storm的流分组策略
简单聊聊Storm的流分组策略 首先我要强调的是,Storm的分组策略对结果有着直接的影响,不同的分组的结果一定是不一样的.其次,不同的分组策略对资源的利用也是有着非常大的不同,本文主要讲一讲loca ...
- 简单聊聊java中的final关键字
简单聊聊java中的final关键字 日常代码中,final关键字也算常用的.其主要应用在三个方面: 1)修饰类(暂时见过,但是还没用过); 2)修饰方法(见过,没写过); 3)修饰数据. 那么,我们 ...
- 简单聊聊SOA和微服务
转自:https://juejin.im/post/592f87feb123db0064e5ef7c (2017-06) 简单聊聊SOA和微服务 架构设计中的朴素主义 前两天和一个朋友聊天,他向我咨 ...
- 转 简单聊聊IT软件项目的风险及应对
https://www.jianshu.com/p/b347adca87a6 前言 上段时间在一家演讲俱乐部做即兴演讲主持人,聊的就是风险管理,与会的小伙伴分享了不同行业的风险问题,令人受益匪浅,今天 ...
- 简单聊聊CSS中的3D技术之“立方体”
简单聊聊CSS中的3D技术之“立方体” 大家好,我是今天的男一号,我叫小博主. 今天来聊一下我在前端“逆战班”学习中遇到的颇为有趣的3D知识.前端学习3周,见识稀疏,在下面的分享中如有不对的地方请大家 ...
- 【DNS】简单聊聊DNS如何工作
随便聊聊 我们知道,网络上传输的数据包是一层一层的包起来的,典型的是mac地址层,ip层,tcp/udp层,应用层数据 这么几个层,那用户在浏览器中打开www.baidu.com数据包如何传到baid ...
- 简单聊聊Linux学习经历
学习,是我们一生中都规避不了的一个话题,人的一生中都是在不断的学习,无论是功成名就的人士,还是一无是处的小混混,始终都处在一个不断学习的环境中,只是学习的内容千差万别,有的人是为了提升自己各方面的能力 ...
- 简单聊聊WebSocket
一.概述 上一篇文章<浅析一次HTTP请求>我们分析了简单的一次 HTTP 请求具体是怎么样完成的,分析了 HTTP 协议的数据结构,如何连接,如何断开,又是如何多路复用的,那么今天我们来 ...
- EasyNVR+EasyDSS实现简单套路的RTMP、微信直播、录像、回放方案
安防领域HLS直播问题探讨 近期外出交流比较多,在之前的一篇博客<一种流量成本节省60%以上的手机直播微信直播H5直播幼儿园直播方案>我们说到了一种模式,就是当我们在做最近火热的幼儿园直播 ...
随机推荐
- 渗透测试之wep无线网络破解
WEP 无线网络破解 WEP(无线等效协议)于 1999 年诞生,并且是用于无线网络的最古老的安全标准.在 2003 年,WEP 被 WPA 以及之后被 WPA2 取代.由于可以使用更加安全的协议,W ...
- ubuntu 查看软件包中的内容 (已经安装)
在 使用 apt 进行安装软件的时候,我们要经常判断,软件安装了什么和安装到什么地方.这时候 我们要使用 dpkg -L 命令来进行查看: 同样 在 fedora 上可以使用 rpm -ql iper ...
- fiddler---Fiddler接口测试
前面介绍了Fiddler一些简单的使用功能,Fiddler不仅可以抓包也可以做接口工具使用,在没有接口文档的时候我们也可以通过Fiddler查看接口具体有哪些内容 Fiddler发送请求 在Fiddl ...
- HAproxy四层TCP负载均衡配置及测试
--------------------------------------------------centos 7 处理--------------------------------------- ...
- django内容回顾:
Django 下载安装 命令行 pip install django==1.11.26 -i 源 pycharm 创建项目 命令行 django-admin startproject 项目名 pych ...
- 读取本地文件转化成MultipartFile
介绍 现在有个上传文件功能,需要将文件上传到oss上,但是文件有点多,于是使用接口进行上传.但是需要上传文件转换为MultipartFile类型文件进行上传. 主要代码 添加pom文件 <dep ...
- jdbc工具类是多例的
一直以为他 是单例的, 以为创建个工具类就是为了单例, 节省效率 , 其实 是为了封装代码, 简洁 ! 还有重要一点 : 所欲工具类里面不要抛异常 要捕捉异常 !
- 小程序-promise封装小程序的请求方法
// 在utils-->base.js中,封装一个Base类,有一个axios方法 class Base{ constructor(){ } axios(method,url,data){ co ...
- nodejs 连接MySQL后,输出数据带有RowDataPacket、中括号大括号怎么去掉?
var mysql = require('mysql'); var connection = mysql.createConnection({ host : 'localhost', user : ' ...
- 10.12 csp-s模拟测试70 木板+打扫卫生+骆驼
T1 木板 求$[\sqrt{n},n)$间有多少个数的平方是n的倍数 通过打表可以发现(我没带脑子我看不出来),符合条件的数构成一个等差数列,公差为首项 而首项就是将n质因数分解后每个质因数出现次数 ...