鑒于大家對于EasyPlayer插件的使用還不太熟悉,特此寫一篇插件的使用文檔,供大家參考;EasyPlayer插件有兩種,一種是基于IE的ActiveX控件,一種是基于FireFox(也支援多浏覽器)的npAPI插件;兩種插件均包含源碼,由于FireBreath架構生成代碼比較多,npAPI插件隻包含關鍵代碼,後續會提供專門講解FireBreath生成EasyPlayer npAPI插件的文檔,下面我們開始講解兩種插件如何使用。
ActiveX OCX控件
ActiveX控件使用MFC ActiveX架構生成非常簡單,這裡就不做過多贅述,感興趣的同學可以下載下傳EasyPlayer源碼;注意,IE11已經不支援AttachEvent的方式觸發浏覽器頁面事件,是以,需要導出播放事件的同學在前端頁面編寫的時候需要做好IE11的相容性處理;
npAPI插件
npAPI插件由FireBreath架構生成,該架構提供了非常詳細的步驟即可生成我們想要的播放器插件架構,架構生成好以後将EasyPlayer源碼的EasyPlayerPlugin目錄下的代碼替換掉生成的代碼即可。
插件導出接口說明
Start函數對EasyPlayer_OpenStream函數進行了封裝,其作用是打開一個RTSP流;
參數說明:
[sURL]:打開的流位址,以rtsp://開頭;
[sRenderFormat]:播放渲染格式,枚舉對應格式:
D3D支援格式如下:
YV12: 0
YUY2: 1
UYVY: 2
A8R8G8B8: 3
X8R8G8B8: 4
RGB565: 5
RGB555: 6
GDI支援格式:
RGB24: 7
[sUserName]: RTSP流驗證使用者名,如果流URL裡面已經包含, 這裡填空;
[sPassword]: RTSP流驗證密碼,如果流URL裡面已經包含, 這裡填空;
[sHardDecord]: 是否使用硬體解碼, 0=軟解 1=硬解
注意:OCX接口函數所有參數均為字元串類型,主要是為了友善頁面js調用,下面所有接口參數皆是如此;
Config函數配置播放器的一些參數,諸如緩存,是否播放音頻,是否按比列顯示,是否顯示碼率資訊;
[sFrameCache]:緩存幀數,1-n ,該數值越小,延時越小,當然播放畫面可能再網絡帶寬不理想的情況下會比較卡,反之則延時越大,相應的播放也會比較流暢;
[sPlaySound]:是否播放音頻,1=播放,0=不播放
[sShowToScale]:是否按比列顯示,1=是 0=否 ,軟解碼時有效
[sShowStatisticInfo]:是否顯示碼率資訊,1=是 0=否 ,軟解碼時有效
SetOSD是新增接口,用于設定視訊顯示時的OSD顯示;
[show]:是否顯示OSD,1=顯示 0=不顯示
[alpha]:OSD顯示疊加透明度, 0-255,0是完全透明。255完全不透明
[red]:OSD字幕顔色RGB分量中的R分量,
[green]:OSD字幕顔色RGB分量中的G分量,
[blue]:OSD字幕顔色RGB分量中的B分量,
[left]:OSD基于視訊的顯示位置坐标的左上角x軸坐标
[top]:OSD基于視訊的顯示位置坐标的左上角y軸坐标
[right]:OSD基于視訊的顯示位置坐标的右下角x軸坐标
[bottom]:OSD基于視訊的顯示位置坐标的右下角y軸坐标
[strOSD]:OSD字幕
[4] void Close(void);
Close關閉Start打開的流;
注意目前ActiveX控件定義一個控件初始化一個唯一的EasyPlayer播放器執行個體,一個Start對應一個Close函數;Start函數隻能調用一次,下一次調用時必然是先Cose,再Start;
4. WEB網頁端調用
我們已經了解了插件的導出接口,那麼我們就可以很容易的編寫JS來實作網頁端的播放啦,當然,在此之前,我們需要注冊一下插件,在EasyPlayer目錄下有reg.bat和np_reg.bat批處理檔案分别對OCX和npAPI進行注冊,提示注冊成功後即可使用。
在EasyPlayer的bin目錄下我們已經提供了兩個Demo html頁面供大家測試和使用,JS代碼很簡單,直接調用即可:
EasyPlayer是由EasyDarwin開源團隊開發和維護的一個流媒體播放器項目,目前有RTSP版和Pro版兩個版本,RTSP支援Windows(支援多視窗、包含ActiveX,npAPI Web插件)、Android平台,iOS平台,視訊支援H.264,H.265,MPEG4,MJPEG,音頻支援G711A,G711U,G726,AAC,支援RTSP over TCP/UDP,支援硬解碼,是一套極佳的RTSP流播放元件;
EasyPlayer Pro版支援RTSP、RTMP、HTTP、HLS等各種流媒體協定播放,穩定、高效、可靠,支援Windows、Android、iOS!
Copyright © EasyDarwin.org 2012-2017
