在開源的DLNA框架實現中, uShare 應該是實現最好, 且用得做多的開源項目了。
uShare 下載地址為 : http://ushare.geexbox.org/releases/ushare-1.1a.tar.bz2
下載后解壓使用 tar -jxvf ushare-1.1a.tar.bz2 即可。
uShare 是用C語言實現,在 GeeXboX 下運行的一個開源項目 http://ushare.geexbox.org/ 通過UPNP協議,把媒體文件共享給其他的設備。
如果你要讓 uShare 支持 dlna, 則還需要libdlna庫的支持,下載地址為 http://libdlna.geexbox.org/
而libdlna庫有依賴 ffmpeg中的視頻編解碼模塊。
要讓uShare支持dlna, 生成Makefile文件時,需要下面這樣的參數
./configure --enable-dlna
uShare支持的文件格式如下 :
Video files: asf, avi, dv, divx, wmv, mjpg, mjpeg, mpeg, mpg, mpe, mp2p, vob, mp2t, m1v, m2v, m4v, m4p, mp4ps, ts, ogm, mkv, rmvb, mov, qt, hdmov
Audio files: aac, ac3, aif, aiff, at3p, au, snd, dts, rmi, mp1, mp2, mp3, mp4, mpa, ogg, wav, pcm, lpcm, l16, wma, mka, ra, rm, ram, flac
Images files: bmp, ico, gif, jpeg, jpg, jpe, pcd, png, pnm, ppm, qti, qtf, qtif, tif, tiff
Playlist files: pls, m3u, asx
Subtitle files: dks, idx, mpl, pjs, psb, scr, srt, ssa, stl, sub, tts, vsf, zeg
Various text files: bup, ifo
下面是一些與 UPnP 相關的軟件:
djmount : 使用了FUSE來映射一個目錄的內容到 UPnP A/V Media Servers.
GMediaServer : 一個基於uShare實現的 Media Server.
libdlna : DLNA的框架實現.
GeeXboX : Linux下的媒體分發軟件,使用了djmount和UPnP.
編譯uShare時,libupnp的版本不能太高,太高了, 版本不兼容,無法編譯uShare, libupnp的版本選擇1.4.2 或者1.4.3即可,編譯會很順利,
否則編譯會出現很多奇怪的錯誤。