2012年6月29日 星期五

ONVIF API 2.0 快速查詢表格


ONVIF 2.0 API 快速查詢表格

大部分 shcema 與 1.0 是相同,需特別注意1.0/2.0差異(Imaging 與 PTZ),此可能會造成產品互通時的問題。

DeviceIO (http://www.onvif.org/ver10/deviceio.wsdl)
  • GetAudioOutputConfiguration
  • GetAudioOutputConfigurationOptions
  • GetAudioOutputs
  • GetAudioSourceConfiguration
  • GetAudioSourceConfigurationOptions
  • GetAudioSources
  • GetDigitalInputs
  • GetRelayOutputOptions
  • GetRelayOutputs
  • GetSerialPortConfiguration
  • GetSerialPortConfigurationOptions
  • GetSerialPorts
  • GetServiceCapabilities
  • GetVideoOutputConfiguration
  • GetVideoOutputConfigurationOptions
  • GetVideoOutputs
  • GetVideoSourceConfiguration
  • GetVideoSourceConfigurationOptions
  • GetVideoSources
  • SendReceiveSerialCommand
  • SetAudioOutputConfiguration
  • SetAudioSourceConfiguration
  • SetRelayOutputSettings
  • SetRelayOutputState
  • SetSerialPortConfiguration
  • SetVideoOutputConfigurationSetVideoSourceConfiguration

2012年6月25日 星期一

Zero configuration networking (zeroconf)



一般而言,網路管理者需要設定電腦的網路狀態,例如使用DHCP,或是手動設定IP位址。
而 zeroconf 則省略了上述步驟,提供一種用來自動設定IP網路的技術。

zeroconf主要基於三種技術

1. 給定網路設備對應的 IP位址 (address autoconfiguration)。會分配的位址如下:
IPv4:169.254.0.0/16
IPv6:fe80::/10

2012年6月24日 星期日

ONVIF 測試工具安裝步驟


ONVIF Device Test Tool 用來測試 IPCam 所實作的功能是否符合 ONVIF所定義的規範。
以下說明此工具的安裝步驟

作業系統: Windows XP (Orcal VirtualBox)
測試工具: ONVIF_Test_Tool_v11.12

2012年6月14日 星期四

軟體開發完成後的憑證處理


在開發網頁的應用程式時,每次測試時總是要先更改 IE的安全性。
當開發完成之後,總不能也要求使用者進行此類操作吧,此時就需要申請憑證,對軟體進行認證囉。

1. 憑證種類
對於自行開發程式的研發人員而言,在發行軟體時可能會用到下列憑證
  • Microsoft Authenticode Digital ID
  • Sun Java Signing Digital ID
  • Netscape Object Signing Digital ID
  • Microsoft Office and VBA Signing Digital ID
  • Macromedia Shockwave Digital ID
  • Marimba Castanet Channel Signing Digital ID

由於我們這次所撰寫的專案是使用 .cab 與 .jar。所以我只需要申請
  • Microsoft Authenticode Digital ID
  • Sun Java Signing Digital ID

2012年6月13日 星期三

ONVIF Core Streaming 心得


ONVIF是一個定義網路影像監控系統的國際標準組織,ONVIF-Streaming-Spec-v211 則介紹網路影像監控系統上的串流機制,包含如何封裝 JPEG/RTP,並針對 RTSP 的控制作了幾個功能擴充,此篇會針對 Streaming-Spec 作一基本介紹。

2012年6月12日 星期二

MileStone NVR 基本設定筆記

MileStone NVR 基本設定筆記

1. 先確認本機 port 80 是否有被使用,若有,需要更改伺服器預設的 port

2. 執行 "XProtect Management Application"
   [進階設定] -> [硬體裝置] -> 刪除所有硬體裝置後, 新增硬體裝置, 預設名稱為"攝影機1"
   輸入測試 camera ip,例如:192.168.0.31,驅動程式選擇 ONVIF Conformant Device
   選擇"攝影機1",若設定正確,此時將能夠檢視 ipcam 所傳來的畫面。
   若此部分連接有問題,使用wireshark檢查封包。

2012年6月11日 星期一

live555 程式碼分析 -- RTSP Server on demand


分析 testOnDemandRTSPServer.cpp 運作流程

1. 建立一個新的 RTSPServer 實體,向 taskScheduler 註冊 incomingConnectionHandlerRTSP()。當收到 RTSP Request 時,便會建立 RTSPClientSession。

2. 對於此伺服器可以接收的各種媒體,都先建立對應的 session以及subsession,等待 client 建立連線。

2012年6月8日 星期五

live555 程式碼分析 -- RTSP Client


Live555 是一套以 C++ 實作的Multimedia Streaming library,這套函數庫實做了RTP/RTCP/RTSP/SIP 等標準協議,支援MPEG, H.264, H.263+, DV, JPEG 等格式。

Live555 為GNU Lesser General Public License(LGPL)自由軟體,因此只要不更改其原始碼,
我們可以使用其函數庫進行商業產品開發,並且保留自己的程式碼。例如 VLC media player 就是使用 live555 來實作其 RTSP 協議。

使用方式可以參考 live555 的 testprogs 目錄,以下以 RTSP Client 為例說明其運作方式


2012年6月5日 星期二

live555原始程式碼簡介



live555原始程式碼簡介
liveMedia項目的原始程式碼包括四個基本的庫,各種測試代碼以及IVE555 Media Server

四個基本的庫分別是UsageEnvironment&TaskSchedulergroupsockliveMediaBasicUsageEnvironment

2012年6月4日 星期一

串流軟體封包分析 -- RealPlayer


直接撥放影片
其作法是使用 Macromedia 公司自訂的協議
透過 smip 協議與 Macromedia - Flash Communication Server 溝通 

所以 RealPlayer 預設的撥放方式也並不是透過 RTSP 協議。

串流軟體封包分析 -- youtube


分析 Youtube 串流封包,是否與 RTSP 有關。

一、使用 Flash Player

1. 下載 flash player
GET /strat/components/YTPlayer/1.0/YTPlayer.swf HTTP/1.1\r\n

串流軟體封包分析 -- Hifree


使用 hifree 應用程式,觀察其播放媒體的方式,分別使用哪種協議。

一、選擇"頻道"撥放
其作法是直接下載整首歌曲後播放,並非使用RTSP協議。

1. hifree 先向伺服器取得歌曲清單
[truncated] GET /get_channel_song.php?enc=u&oenc=kkt&hw_vendor=kkbox&hw_model=fttx&sid=V0000a.739500000000000000000000000000AbED05335PoQDS001Fn6Jjc9e1&ksid=V0000a.739500000000000000000000000000AbED05335PoQDS001Fn6Jjc9e1&kkid=KKBOX-VZQSCFAG
User-Agent: KKBOX air(Get Song List)\r\n
Host: api.kkbox.com.tw\r\n
Cookie: PPHPSESSID=267759049478910113475\r\n

MMS(Microsoft Media Server)

此處所描述的MMS,並非多媒體簡訊(Multimedia Message Service),而是微軟之前發展的一個串流機制,稱為Microsoft Media Server (MMS),2003年時微軟決定由 RTSP 取代此機制,並且於2008年正式廢除此機制。

所以現在使用 "mms://" 與 "rtsp://" 基本上都是使用 RTSP 協議。