项目目录:/www/ffmpeg
环境要求:ffmpeg + nginx + php + nginx-rtmp-module
H5直播要求:需运行在线上服务器,并申请SSL证书 ( getUserMedia需要https支持 )目前FFmpeg推流及H5录制已初步实现,但是FFmpeg如何实时推送H5录制的视频,还未实现
rtmp 安装 及配置
1 | #1. 编辑 nginx.conf |
配置 HLS
1 | #1. 编辑 nginx.conf |
FFmepg 推流
1 | #第一种:基于已有视频 |
HTML 实时播放 index.html
1 | <!DOCTYPE html> |
H5 录制视频并通过websocket上传,服务端将上传的数据保存为视频
- nginx 的 SSL/PHP 配置
- composer require workerman/workerman
- websocket 及 nginx 反向代理配置
- worker.php、recording.html 都在 /www/ffmpeg 目录下
第一步:服务端监听 8181 端口 worker.php
1 |
|
第二步:nginx 反向代理配置 websocket (完整的SSL配置)
1 | #编辑配置文件 |
第三步:编写 H5 recording.html
1 | H5 的视频录制主要基于以下三个API |
1 |
|
客户端视频播放页面
1 |
|
测试流程
1 | 1. 启动 worker.php |
参考资料
基于H5的摄像头视频数据流采集
基于Nginx搭建RTMP/HLS视频直播服务器
H5直播起航
H5视频直播扫盲
网页播放m3u8
1 | #1. 准备好视频 input.mp4 |