發表文章

目前顯示的是 11月, 2011的文章

HTTP Streaming 相關技術 pseudo, live

HTTP Streaming Video 相關技術 最近想研究一下 HTTP Streaming ,隨著網路架構越來越完整,這應該是個趨勢。剛看的時候有一堆名詞,下面紀錄一下我的理解。 l    HTTP Streaming (Progressive Streaming) n    一般如果寫 HTTP Streaming 的話,指的就是 Progressive Streaming 。這種架構,用單純的 Web Server 就可以了,其實他就是像一般 Web Server 傳照片、檔案一樣。 Client 就一直收,只是某些格式的影片,是可以收到就可以立刻播出來的,例如微軟的 asf, wmv? 。 n    優點就是相對於之前的 RTP Streaming 的技術,目前的高畫質影片可能家庭的網路還不夠快,如果用 UDP 的話,可能畫面會破碎嚴重,用 TCP 的話,就可以看的漂亮,當然要等比較久一點 n    缺點 u   使用者無法 seek ,因為檔案是從頭開始傳到尾的,你沒辦法叫他中間跳過不傳。雖然 HTTP Protocol 支援 Partial download ,但因為 client 無法知道某個秒數對應到的開始位元是多少,所以無法使用 partial download 的方法。 u   無法適用於 Live broadcasting ,現場直播 l    HTTP pseudo Streaming n    這是 FLV 使用的方式,基本上我還是把這個規類到跟 Progressive Streaming 一樣,但他多了可以 Seek 的功能,怎麼做到的呢?需要先用轉檔程式把影片編成 flv ,此時 flv 裡面的 metadata 會帶有索引資訊,索引的格式就是 1 sec -> 1234 KB, 2 sec -> 5422 KB …… 。類似這樣,秒數的地方應該是 Key Frame 的位置。所以當使用者要快轉的時候, player 會找到最近的索引秒數,然後轉換為 byte 數,接下來就送出 xxx.flv?5422 。這樣就會 seek 到兩秒的地方。如果是 mp4 的話參數則是直接帶秒數, ex: mp4?1s 。我看到的是 YouTube 使用的就是這種方式。索引的資訊可以用一個工具 metaviewer 看到,如果編

Jetbrains 的 AppCode 試用 (開發iOS)

大概兩個月前,看到Jetbrains要出AppCode,讓我眼睛一亮,因為個人使用他的Visual Studio外掛 Resharper已經很久了,一開始以為是XCode的外掛,一定要試一下的,沒想到他是想要做類似XCode的開發環境。 不知道正確的理由是甚麼,但我覺得要打敗XCode應該太難了,XCode已經發展那麼久了,可能是XCode一直無法撰寫外掛,所以JetBrains只好自己開發一套,兩個月前還是beta版,就沒玩下去了,今天看已經是正式版要賣錢了,就裝來玩玩,結論是不會買。 一如Windows下的風格,安裝簡單,畫面簡潔,會有很多小提示,但開了一個Project之後,發現他缺少太多功能了,.xib檔案會呼叫XCode來開啟編輯,所以除了一開始預設的.storyboard,也無法新增任何UI的東西XD。如果要的話,可能要自己複製過來。然後沒有Settings.bundle編輯器,Info.Plist編輯器,你看到的都只是一堆XML,這樣根本無法修改。CoreData也沒有。所以看起來不適合拿來發展一個新的專案。一套個人用要賣$69美金,ㄎㄎ。 但網站上面有免費的課堂使用版,Open Source使用版,填一下資訊就可以免費授權AppCode讓你用。 至於我會怎麼用呢?很幸運的,他是可以開啟XCode的Project檔的,所以可以拿來trace用,說實在的,他的純程式碼處理功能實在厲害,也有一些程式碼美化的功能(說到美化,我就覺得XCode爛死了,在XCode3的時候還可以用UniversalIndentGUI來做,升到XCode4之後就沒有custom script可以使用了),然後他的File Tab也是像Visual Studio那樣在上面開一排,用Ctrl+Tab很容易可以切換。 恩,我覺得可以往 Source Insight發展Orz。