简单聊聊实时视频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

今日推荐阅读文章精选推荐

为什么要做接口测试

JMeter数据库操作

Jmeter接口测试-正则表达式

JMeter中文返回乱码

Jmeter接口测试-参数化

JMeter接口测试-基础

测试-感想

咨询工作加微信

扫描二维码

欢迎自荐和推荐, 需要的微信推送简历!

请猛戳下面二维码了解更多

原文地址:https://www.cnblogs.com/louiezhou/p/11250701.html