2013年6月29日 星期六
Linux 下 IPC 的運作方式
IPC溝通的有許多方式,例如:Shared Memory, Message Queue, PIPE, FIFO, Unix Socket 等等。
下面將會整理 Linux 下常見的 IPC 的運作方式舉例。
ONVIF -- Event by RTSP Stream 實作探討
ONVIF 針對 Event 的傳送定義了三種方式,Basic Notification Interface,Real-time Pull-Point Notification Interface與 RTSP metadata stream 的方式。
由於實作 ONVIF 與 RTSP 的開發人員可能並不相同,因此在實作RTSP metadata stream時溝通可能會有誤解。以下對這種情況提出一種簡單的合作開發方式。
ONVIF:
由於實作 ONVIF 與 RTSP 的開發人員可能並不相同,因此在實作RTSP metadata stream時溝通可能會有誤解。以下對這種情況提出一種簡單的合作開發方式。
ONVIF:
當使用者想要建立一個 RTSP Stream 時,會先透過 GetStreamUri 詢問對應的 RTSP URI。
如果 GetStreamUri 的 Profile 內有定義 MetadataConfiguration,便表示後續使用者使用此 URI 建立 RTSP 時,RTSP 所回應的 SDP 內需要加入 metadata 的描述。
可以使用 IPC 的方式來通知 RTSP 加入 metadata。此處假設使用 shared memory,設定 gIsMetadata = TRUE。
2013年6月28日 星期五
使用 WireShark 取出串流中的H.264封包,並進行撥放
以下將紀錄如何使用 wireshark 將串流中的封包取出,儲存為檔案之後,使其可利用一般播放器進行播放。
實驗步驟如下
1. 使用 wireshark 將封包存成 pcap
2. 使用 wireshark 打開儲存的 pcap 檔案
實驗步驟如下
1. 使用 wireshark 將封包存成 pcap
2. 使用 wireshark 打開儲存的 pcap 檔案
2013年6月12日 星期三
ONVIF -- Event Topics
I make a list of all event topics defined in ONVIF spec (version 2.3).
I don't remove the duplicate topic name, so that we can know different usage for the specific topic name.
ONVIF-AccessControl-Service-Spec-v100.pdf
I don't remove the duplicate topic name, so that we can know different usage for the specific topic name.
ONVIF-AccessControl-Service-Spec-v100.pdf
- tns1:AccessControl/AccessGranted/
- tns1:AccessControl/AccessTaken/
- tns1:AccessControl/AccessNotTaken/
- tns1:AccessControl/Denied/
- tns1:AccessControl/Duress
- tns1:AccessControl/Request/
- tns1:AccessPoint/State/
- tns1:Configuration/AccessPoint
- tns1:Configuration/Area
2013年6月10日 星期一
台灣網路廣播電台列表
2013年6月6日 星期四
FFMPEG -- 將 H.264 的資料封裝成 MP4 檔案
在開發 iphone 下的串流app時,需要一個將串流資料存成mp4檔案的功能,以下會紀錄此次實驗過程中遇到的問題與解決方法。
基本概念
透過下列的 3 個 FFMPEG API,將資料封裝成 mp4 格式。
- av_write_header
- av_interleaved_write_frame
- av_write_trailer
想直接看程式的人,可以參考這個範例,想直接在 iphone下測試,可以下載我寫的一個簡單範例。
2013年6月4日 星期二
FFMPEG -- 網路收音機實作
前幾天信箱中收到了一個問題,詢問如何接收網路上廣播的音樂,因此藉著這個機會研究了一下播放網路廣播的方法。
一般網路上常見的廣播電台有幾個性質
針對這兩個特性,常見的網路收音機有兩種實作方式:
一般網路上常見的廣播電台有幾個性質
- 使用 mms 協定 (mms://xxx.xx.xx.xx)
- 使用 WMA codec
針對這兩個特性,常見的網路收音機有兩種實作方式:
- 使用 libmms 接收封包,封裝成 AVPacket後再使用 FFMPEG 進行解碼。
- 直接使用 FFMPEG 進行封包接收與解碼。
訂閱:
文章 (Atom)