简单聊聊实时视频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
今日推荐阅读文章精选推荐
咨询工作加微信
扫描二维码
欢迎自荐和推荐, 需要的微信推送简历!
请猛戳下面二维码了解更多