回複網友的一個mail,關於嵌入式MP4,用ARM+Linux來實現。

來源:互聯網
上載者:User
你可以理一下思路,記錄一下大體會涉及到的技術點。

MP4 主要是涉及到linux系統,GUI和player,系統通訊。

一:linux移植:
1. toolchain
2. linux的編譯
3. 系統基本能運行起來

二:GUI:
可選的包括:
microwindows, GTK+directfb等
我用的是microwindows的nano-x方式的,自己需要擴充一下它的windows management功能。
1. GUI編譯
2. GUI UI設計
3. GUI與player的通訊 (可以用socket或proc pipe,也可以用soap如upnp[我使 用的],還可以用dbus[gnome現在都用dbus了,不錯的東西])

三:player:
可以參考的包括VLC, FFMPEG,gstreamer
VLC的架構非常好,值得參考。
你可以根據你的系統來做簡化,支援較少的媒體檔案格式。
gstreamer是一個新的開放式的架構
1. player結構,最好是設計成分層結構,讓各種具體的player,如wmv, mpeg1,mpeg2,有一個抽象的基類,然後由其來分發到具體類中去處理,VLC中有類 似的做法的。
2.如果是簡單的做法可以移植FFMPEG,然後用發送命令控制的方式來實現,但缺點 太多,是下策了。
3. gstreamer目前比較流行,結構非常好,但我還沒去應用過。

有一個個人的blog,你可以多翻翻,它裡面有不少有價值的東西,我也經常看的:
http://blog.csdn.net/absurd

上面player中的第2點,就能在上面的blog找到。

四:整體體繫結構的東西:
可以參考
http://www.gnome.org/mobile/
裡面的一張圖,包括底層的dbus/glib, 有gstreamer,gconf, 這個圖的內容就比 較大了,但結構確實很不錯的。
如果你用dbus,那麼通訊問題基本就迎刃而解了。
GTK+是一套很成熟的庫了,你也是可以應用一下的,總體來說功能要比 microwindows強很多的。但體積要大些了。
player如果自己寫一個的話,是需要花些時間的。現成的可移植的,也不一定好處 理,需要你自己研究了。我們是自己寫的player,花了不少的精力的。

上面的內容也只是一個介紹而已。希望對你有些協助。 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.