简单聊聊实时视频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
今日推荐阅读文章精选推荐
咨询工作加微信
扫描二维码
欢迎自荐和推荐, 需要的微信推送简历!
请猛戳下面二维码了解更多
最新文章
- excel 导入数值变成科学记数的解决办法.
- JavaScript及兼容性笔记
- SQL Server 2012将数据库备份到网络中的共享文件夹
- 启用WCF测试客户端的相关技巧
- 【Unity Shaders】学习笔记——SurfaceShader(二)两个结构体和CG类型
- Android音频系统之音频框架
- 《JAVASCRIPT高级程序设计》第一章
- 201521123075 《Java程序设计》第13周学习总结
- zoj3710 friends(floyd变形)
- 给MS的意见
- [Intellij] 在IntelliJ IDEA 中创建运行web项目
- The markup in the document following the root element must be well-formed.	Quartz.xml .......
- 阿里大于发送短信(java)
- 初涉sqlmap
- python之函数用法locals()
- Python 使用 Matplotlib 做图时,如何画竖直和水平的分割线或者点画线或者直线?
- elasticsearch-5.1.1 安装的问题
- hdu 3435(KM算法最优匹配)
- 11-24网页基础--Js框架及学习思路
- Stacks of Flapjacks(栈)