200 likes | 378 Views
Media Streaming with UPnP and MPEG-7 in Embedded Linux System. Hsu Shih-Chang DCNLAB @ CSIE, NCKU. Outline . UPnP Network Architecture Streaming UPnP SDK Mplayer MPEG4IP QT-Embedded. UPnP Network Architecture. Server. UPnP Server MPEG4IP WebCam Driver. Client.
E N D
Media Streaming with UPnP and MPEG-7 in Embedded Linux System Hsu Shih-Chang DCNLAB @ CSIE, NCKU
Outline • UPnP Network Architecture • Streaming • UPnP SDK • Mplayer • MPEG4IP • QT-Embedded
UPnP Network Architecture Server • UPnP Server • MPEG4IP • WebCam Driver Client • OS (kernel and file system) • Network (wired and wireless) • UPnP Player • Mplayer
Streaming • Streaming Architecture Coder Decoder
Streaming (contd.) • A general view of the real-time protocols • stream description:SDP (Session Description Protocol) describe the session and content • media transport: RTP (Real Time Protocol) send data and metadata • stream control:RTSP (Real Time Streaming Protocol) remote control the session
Streaming (contd.) • HTTP streaming vs. RTP streaming
UPnP SDK • 藉由使用CyberLink C++ UPnP SDK來做為我們的開發工具,它能夠自動控制UPnP所需要的protocol,讓我們能夠較便利的建立我們的device 與 control point。 • CyberLink UPnP SDK 是sourceforge的project,為open source,提供了我們開發UPnP應用程式所需要的lib。
UPnP SDK- Building • Required File: •Apache Xerces-c++-2.5.0 • CyberLink C++ UPnP SDK-1.5.0 Client Server Building for x86 Building for ARM
Mplayer • Architecture Scope of Mplayer Figure. Media Streaming
Mplayer- Building Build library and codecs for Mplayer Required Files: zlib-1.2.2.tar.gz (資料壓縮的函式庫) libmad-0.15.1b.tar.gz (MPEG聲音解碼器) xvidcore-1.0.3.tar.gz (MPEG4 decoder) live.2005.01.07.tar.gz (多媒體串流c++函式庫) ffmpeg-0.4.9-pre1.tar.gz SDL-1.2.8.tar.gz Build Mplayer for ARM Required Files: MPlayer-1.0pre5.tar.bz2 編譯完mplayer之後在編譯目錄下會產生一個mplayer的執行檔 將它放入開發板上即可使用。
MPEG4IP • 由於原本的UPnP Streaming Server並不支援即時影像的傳遞,我們利用MPEG4IP project 裡的MP4Live,將Webcam 影音壓縮成MPEG4 串流格式,來幫助我們完成即時影像的處理。 • Mpeg4ip是一個提供開放原始碼且以標準格式為準的編碼器,及廣播器,廣播以MPEG-4編碼的聲音與影像,Mpeg4ip主要的平台是linux,但是由於開放原始碼,所以依然可以開發於別的平台。
MPEG4IP(contd.) • 在編譯MPEG4IP前,需要先安裝一些必備的函式庫。 Build library and codecs for MPEG4IP Required Files: zlib-1.2.2.tar.gz (資料壓縮的函式庫) xvidcore-1.0.3.tar.gz (MPEG4 decoder) SDL-1.2.8.tar.gz lame-3.96.tar.gz faac-18102004.tar.gz ffmpeg-0.4.9-pre1.tar.gz Build MPEG4IP Required Files: mpeg4ip-1.1.tar.gz
MPEG4IP - WebCam Driver • 為了使用WebCam來做及時影像的傳輸,我們必須先在PC上驅動WebCam。 • 型號 : Logitech QuickCam™ Pro 4000 • Required Files: usb-webcam.tar.gz
QT-Embedded • Building Flow : Build QT-Embedded Build QT Program for Target Board Execute QT Program in the Target Board
QT-Embedded(contd.) • 若要在開發版上執行我們的QT程式,必須先編譯出程式所需要的library。 Build QT-Embedded Required Files: qt-embedded-2.2.3.tar.gz patch-qt-embedded-2.2.3(用來驅動 StrongARM touch panel)
QT-Embedded(contd.) • Building QTE Steps :
QT-Embedded(contd.) • 若要編譯我們自己寫的QT程式,我們需要使用到tmake這個工具來幫我們產生Makefile 。 • tmake裡面有progen和tmake 兩個執行檔。 其中, progen是幫我們產生一個專案(project) ,tmake則是利用progen所產生的XXX.pro去產生 Makefile。(註:tmake 是用在QT-3.X的版本以下)
QT-Embedded(contd.) • Building QT Program Steps : 路徑設定
QT-Embedded(contd.) • 要在版子上執行我們的QT程式,我們必須將先前編譯好的QT library以及font的資料夾先放到開發版上。 File System / . . . qt etc lib etc font Steps :