2012年5月31日 星期四

RTSP例子


RTSP是一個用來建立並控制終端間的媒體會談的協議。

RTSP 在語法和操作上與 HTTP/1.1 類似,因此 HTTP 的擴展機制在多數情況下可加入 RTSP
預設的傳輸埠號為 554 。

以下以一個例子說明 RTSP的運作過程。
假設情境為用戶C 想要觀看媒體伺服器 A 與 V上的影片,而對應的媒體描述則是放在伺服器W。

2012年5月30日 星期三

SDP (Session Description Protocol) 閱讀心得


SDP (Session Description Protocol): RFC4566

SDP通常會用在會談初始化過程,用來傳送會談參與者的能力列表,以協調會談雙方的各項參數,例如:媒體的種類為 audio或 video,用來承載SDP的協定(RTP/UDP/IP, etc.),媒體的編碼方式(H.261 video, MPEG video, etc.)

以 RTSP為例,在 RTSP 的溝通過程中,當用戶端詢問伺服器端URL的相關資訊時(發出 DESCRIBE),伺服器會將相關資訊以SDP的格式回復。用戶端可以藉此資訊決定要使用哪種codec與伺服器溝通。

主要用到 SDP的協議,包括SAPRTPRTSPSIPHTTPEmailMIME extension

SDP的基本格式為
<type>=<value>
< type >exactly one case-significant character. ASCII編碼
<value>is structured text whose format depends on <type>. 支援所有ISO 10646所定義的字元,使用UTF-8編碼

2012年5月25日 星期五

SONY液晶電視進入工程模式方法


SONY液晶電視進入工程模式方法:

1. 開機,播電視節目一小會。

2. 按遙控器上「電源/待機」鍵,進入待機模式

3. 按「顯示」鍵

4. 按數字「5」鍵

2012年5月24日 星期四

如何連接多個SONY VISCA 攝像頭

文章轉自 http://helmme.com/?id=61


索尼的视频会议摄像头拥有一个VISCA协议,他支持将多个摄像头级联使用。
在级联VISCA镜头时,第一个镜头与控制器间通过VISCA控制电缆来进行连接。

2012年5月23日 星期三

KH-- ITN實作問題--1080-60i-OSD與背景分離


IT-N 實作問題釋疑

1.      OSD畫面在 1080 60p顯示正常,1080 60i顯示有誤。畫面如下

1080 60p
1080 60i


此問題與 ITN系統 interlace mode(隔行掃瞄) 的實作有關,當輸出設定為 interlace時,此系統會先輸出影像與OSD背景(使用PrivacyMask實作),之後再輸出 OSD字元。

所以針對整個螢幕的座標系統將會是
Before interlace: 1920*1080
After  interlace:1920*540  ,此時才輸出OSD字元。


只要將OSD輸出時的座標根據1920*540來重新定位,就可以正常顯示了。

1080 60i (Old)
1080 60i (New)



2012年5月15日 星期二

VLC (VideoLAN Client)編譯

當測試 IP Camera上的串流媒體時,需要一個能夠調校的用戶端程式,用以調整各種參數以進行實驗。鑒於VLC 是一個開放原始碼的專案,可以讓我在原始碼的層級進行很細節的調整,因此選擇了此程式作為測試使用。


下面紀錄 VLC 的編譯過程,

一、程式碼的部份可以使用 Git 下載
git clone git:\\git.videolan.org\vlc.git

RTP閱讀心得整理



現今串流媒體在網際網路上的傳輸方式主要有兩種方式,一種是以 HTTP/TCP 為基礎,另一種是以 RTP/UDP 為基礎。此篇整理個人閱讀RFC3350的心得。


基本介紹:

RFC(Request For Comment) 組織定義了RTP協定,其原始編號為RFC 1889,現在則由RFC 3550取代之。

RTP基本上是一個在UDP之上的協定,用來傳送音頻與視頻,RTP 的連線埠號(Port)必須為偶數號碼,而 RTCP 的連線埠號必須為該偶數號碼的下一個數字。
RTP is originated and received on even port numbers and the associated RTCP communication uses the next higher odd port number.

RTP/RTCP 並不提供服務品質或傳輸可靠性的保證,只提供時間戳記(Timestamp,用來達成同步等能力)、序號(Sequence Number,用來決定封包是否遺失等資訊)等一些具有即時特性資料的基本功能。

RFC3551則針對RTP協定所會傳遞的各種音頻與視頻,定義了一套標準的編碼與名稱,提供各式串流應用使用。

2012年5月7日 星期一

FreeRTOS程式碼分析 -- 1

此篇心得參考 FreeRTOS_cn.pdf FreeRTOS原始程式整理而成。


資料結構

1.State Machine
FreeRTOS中,每個任務(task)的狀態機有四種狀態,Suspended -> Ready -> Running -> IDLE其實作方式將任務依據其狀態,分別放置於不同的queue PRIVILEGED_DATA static xList pxReadyTasksLists[ configMAX_PRIORITIES ];  /*< Prioritised ready tasks. */
 PRIVILEGED_DATA static xList xDelayedTaskList1;        /*< Delayed tasks. */ PRIVILEGED_DATA static xList xDelayedTaskList2;        /*< Delayed tasks (two lists are used - one for delays that have overflowed the current tick count. */ PRIVILEGED_DATA static xList * volatile pxDelayedTaskList ;     /*< Points to the delayed task list currently being used. */ PRIVILEGED_DATA static xList * volatile pxOverflowDelayedTaskList;   /*< Points to the delayed task list currently being used to hold tasks that have overflowed the current tick count. */ PRIVILEGED_DATA static xList xPendingReadyList;        /*< Tasks that have been readied while the scheduler was suspended.  They will be moved to the ready queue when the scheduler is resumed. */Suspended(block) state:將任務加入pxDelayedTaskList

2012年5月6日 星期日

C語言測試 想成為嵌入式程序員應知道的0x10個基本問題


C語言測試 想成為嵌入式程序員應知道的0x10個基本問題

原文出處 A 'C' Test: The 0x10 Best Questions for Would-be Embedded
Programmers: http://www.embedded.com/2000/0005/0005feat2.htm

以下是網路上找到中文版,作者不詳。

==============================================



C語言測試是徵選嵌入式系統程式員過程中必須而且有效的方法。這些年我既參加也組織
了許多這種測試,在這過程中我意識到這些測試能為面試者和被面試者提供許多有用訊息
,此外,撇開面試的壓力不談,這種測試也是相當有趣的。

從被面試者的角度來講,你能瞭解許多關於出題者或監考者的情況。這個測試只是出題者
出某個字符的ASCII值。這些問題著重考察你的系統調用(invoke)和記憶體分發策略方面
的能力嗎?這反映出出題者也許花時間在微處理機上而不在嵌入式系統上。

如果上述任何問題的答案是「是」的話,那麼我知道我得認真考慮我是否應該去做這份工
作。

從面試者的角度來講,一個測試也許能從多方面揭示應試者的素質。最基本的,你能瞭解
應試者C語言的水準。不管怎麼樣,看一下這人如何回答他不會的問題也是滿有趣。應試
者是以好的直覺做出明智的選擇,還是只是瞎蒙呢?當應試者在某個問題上卡住時是找藉
口呢,還是表現出對問題的真正的好奇心,把這看成學習的機會呢?我發現這些訊息與他
們的測試成績一樣有用。

有了這些想法,我決定出一些真正針對嵌入式系統的考題,希望這些令人頭痛的考題能給
正在謀職的人一點幫住。這些問題都是我這些年實際碰到的。其中有些題很難,但它們應
該都能給你一點啟發。