


摘 要:本文研究了視頻直播系統的設計,并基于ffmpeg、vlc和EasyDarwin開源軟件進行了二次開發,簡單而有效地實現了該設計,具有較強的工程參考價值。
關鍵詞:視頻直播系統;ffmpeg;vlc;EasyDarwin
隨著社會的發展,視頻直播系統或者監控系統在場館、學校、車載等場景中的應用越來越廣泛。例如很多的幼兒園開始把監控系統作為輔助設備,也是幼兒園智能化管理的新趨勢。本文研究了一種易于實現的視頻直播系統。
一、系統設計
本系統主要由視頻采集裝置、推流服務器、流媒體服務器和視頻監控設備構成。視頻采集裝置主要為攝像頭。由于整個系統需要在不同的區域進行布防和監控,以幼兒園為例,其主要公共場所包括教室、活動區和出入口等,針對不同區域的實際情況安置不同類型的攝像機,公共活動區適合安裝可調視角的球機,而樓道等可安裝槍機。流媒體是指以流的方式在網絡中傳送視頻、音頻的媒體形式。流媒體服務器以TP/RTSP、MMS、RTMP等流式協議把視頻文件傳輸到視頻監控設備;流媒體服務器也可從視頻采集裝置接收實時的視頻流,再以流式協議直播給視頻監控設備。對于某些應用場景視頻采集設備處于內網,不能直接和處于外網的流媒體服務器進行通訊。此時就需要推流服務器將內網設備所采集的視頻推流到流媒體服務器。視頻監控中設備可對所需區域進行有效的監控,可以包括電視墻顯示系統等。此外,視頻監控中心可擴展視頻截屏錄像、用戶權限等功能。
二、系統實現
基于上述設計思路,本文采用開源軟件快速實現簡單的RTSP直播系統。系統采用ffmpeg作為推流服務器將視頻采集裝置的視頻流推送到流媒體服務器,EasyDarwin作為流媒體服務器轉發ffmpeg推送過來的視頻流。視頻監控設備的客戶端采用VLC播放。實現過程如下:
1)部署EasyDarwin流媒體服務器。EasyDarwin基于Apple開源項目開發、優化的流媒體服務器,支持RTSP點播、直播(推拉模式)、HLS直播等功能。編譯好EasyDarwin后需要在easydarwin.xml文件中對其進行設置。本文實驗過程中將EasyDarwin流媒體服務器部署在127.0.0.1,端口:554。在控制臺中啟動服務,啟動命令為:EasyDarwin.exe -d -c ./easydarwin.xml。
2)ffmpeg推送視頻到EasyDarwin。FFmpeg可以用來記錄、轉換數字音頻、視頻,并能將其轉化為流。FFmpeg開發于Linux平臺,但它可在Windows、Mac OS X等操作系統環境中編譯運行。本文使用的是ffmpeg Shared版本進行視頻推流。推流命令如下:ffmpeg -i rtsp://admin:admin@192.168.0.6/ -c copy -f rtsp tsp://192.168.0.109/test.sdp。其中rtsp://admin:admin@192.168.0.6/是本文的視頻流地址。
3)使用VLC播放器播放流媒體服務器中的視頻流。VLC提供了二次開發包,基于此可快速開發出適合的監控界面。
三、小結
本文給出了視頻直播系統的系統設計方法,并基于ffmpeg、EasyDarwin和VLC實現了該系統,具有較強的工程實踐意義。
參考文獻:
[1] 楊慧敏.基于校園網的視頻直播系統的設計和應用研究[D].重慶大學,2006.
[2] 聶富鵬.視頻轉碼傳輸系統的設計與實現[D].西安電子科技大學,2014.
[3] 鄧芳,孫天寶等.基于云數據的幼兒園視頻監控服務系統的設計[J].中外企業家,2016(10).
作者簡介:
高春雷(1985-),男,江蘇啟東人,碩士研究生,講師,民航電子電氣方向。