LikeUSummer / RTMP-MP4-Web

一个完整的监控视频转储和点播系统——使用ffmpeg将rtmp流转储为mp4片段,并将相关信息写入SQL Server数据库,再使用php+datatable做了一个简单的视频点播web系统

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

RTMP-MP4-Web 一个完整的监控视频转储和点播系统

使用ffmpeg将rtmp流转储为mp4片段,并将相关信息写入SQL Server数据库,再使用php+datatable做了一个简单的视频点播web系统

对于视频流分片转储的后端服务,这里提供了两套等效的程序:
1.使用ffmpeg库中的相关api来接收rtmp流并封装为mp4文件
2.在转储线程中启动ffmpeg.exe这个官方工具作为子进程,利用管道传递相应的命令,完成分段封装

目前的实践发现,在网络状况良好时,两个方案都正常工作,但网络状况不太好时,方案1中使用ffmpeg api解包封装的部分会偶尔出现故障而崩溃,这并不是说我们的程序或用法有误,因为方案2即官方工具在这种情况下也会崩溃,只是作为子进程,它的崩溃不会影响父进程,我们的录制线程能捕获到这一状态(通过WaitForSingleObject),此时只需要进入下一个录制循环即可,即等效来看,这种因网络故障而崩溃的情况和分段存储结束而主动终止子进程,并没有本质区别
因此,在实际应用时,转储服务推荐采用方案2

捐赠

如果觉得喜欢和有帮助,可以请作者喝杯西瓜汁鸭~ 支付宝:2667647118@qq.com 微信:13618622955

About

一个完整的监控视频转储和点播系统——使用ffmpeg将rtmp流转储为mp4片段,并将相关信息写入SQL Server数据库,再使用php+datatable做了一个简单的视频点播web系统

License:GNU General Public License v3.0


Languages

Language:C 49.9%Language:C++ 24.6%Language:JavaScript 14.6%Language:CSS 10.3%Language:PHP 0.5%Language:Objective-C 0.1%