若該文為原創文章,轉載請注明原文出處。
在網上看到個方案,使用web顯示RTSP視頻流,思路是前端傳入RTSP地址,cgi通過FFMPEG接收RTSP流并保存成avi文件,在通過ffmpeg 命令把avi文件保存成mp4文件,前端在播放mp4文件。此方案需要先保存文件,在轉換文件,無法實時播放。
所以在此基礎上修改成FMPEG拉流后,解碼成JPEG格式數據,直接傳給前面顯示。
web服務器采用的是boa方案,需要自行交叉編譯
一、思路流程
1. 初始化
-
日志文件初始化
- 打開日志文件
cgi_debug.log
,用于記錄程序運行狀態。 - 如果日志文件無法打開,直接返回錯誤。
- 打開日志文件
-
獲取輸入參數
- 從環境變量
QUERY_STRING
中獲取輸入參數(RTSP 流地址)。 - 參數格式為
RTSP_URL|...
,程序僅提取RTSP_URL
部分。
- 從環境變量
2. FFmpeg 初始化
-
注冊 FFmpeg 組件