參考:https://blog.csdn.net/weixin_42536639/article/details/102870788
實現攝像頭的直播功能其實有許多方案,像是安裝vlc插件、rtsp轉rtmp然後使用videojs通過flash播放rtmp,以及hls .m3u8等方式
然而現今的瀏覽器對於vlc插件幾乎都不再支持了,flash在2020年也將被chrome停止支持,而.m3u8的方案用來做直播的話似乎延遲很高。最終決定使用B站開源的flv.js。
推流工具使用的是FFmpeg
流媒體服務使用EasyDarwin 【支持錄播、直播rtsp流,還有api】
播放客戶端使用B站(bilibili)開源的flvjs作爲解決方案,其原理是後端用ffmpeg將rtsp視頻流轉換爲flv,然後通過websocket傳輸flv視頻流,然後前端通過websocket獲取到視頻流後,使用flvjs對視頻流再一次處理並進行播放,這是一套無插件無flash免費的視頻直播解決方案。
本文使用Windows環境
步驟:
1、搭建FFmpeg
①模擬本地筆記本攝像頭推流到服務端
②獲取本地攝像頭名稱
ffmpeg -list_devices true -f dshow -i dummy
③使用FFMpeg推流至EasyDarwin【EasyDarwin搭建圖在第二條】
ffmpeg -f dshow -