freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設(shè)計(jì)-基于ios平臺(tái)的實(shí)時(shí)視頻流播放系統(tǒng)-資料下載頁

2024-11-30 13:34本頁面

【導(dǎo)讀】2021年6月蘋果公司公布了第一版名為“iPhonerunOSX”的iOS操作系統(tǒng),截止去年iOS設(shè)。備已經(jīng)占據(jù)了全球移動(dòng)操作系統(tǒng)的44%份額,如今iOS設(shè)備已經(jīng)風(fēng)靡全球。本文是基于iOS平臺(tái)的實(shí)。時(shí)視頻流播放系統(tǒng)設(shè)計(jì)。在低端PC上通過VMwareworkstation運(yùn)行MacOSX,然后安裝iPhoneSDK,使用它集成的Xcode實(shí)現(xiàn)iOS的實(shí)時(shí)視頻播放體驗(yàn)。對(duì)于初學(xué)者來說是踏入iPhone程序開發(fā)的必要準(zhǔn)。讓研究者在學(xué)習(xí)Objective-C語言的同時(shí)慢慢體會(huì)到iOS的精髓,打好未來成為iOS程序員的基。Keywords:iOS;Xcode;iPhoneSDK;VMware;Objective-C;Videoplayer

  

【正文】 后的工作主要體現(xiàn)在以下一些方面 : (1)對(duì) HLS 技術(shù)了解不夠深入。 (2)播放系統(tǒng)功能還有待加強(qiáng)。41 主要參考文獻(xiàn) [1] Baidu 百科, iOS簡(jiǎn)介 [S/OL].(2021510)[20211215] [2]Mark Dalrymple ,Scott Knaster .Learn ObjectiveC on the Mac[M]北京:人民郵電出版社 .2021. [3]劉銘 朱鲄 王佳。 iPhone 程序開發(fā)基礎(chǔ)教程 [M]。北京:電子工業(yè)出版社, 2021. [4] jackhwei,羅索工作室 [S/OL].[20211216] [5]KIIS,百度博客 [EB/OL] .[20210923] [6]xhing,蘋果核 [EB/OL].[20211008] [7]陳靖隆 . 基于 Http Live Streaming Protocol 的移動(dòng)流媒體系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) [D].廣州:華南理工大學(xué) .2021 42 附錄 A Http Live Streaming (m3u8 streaming) (m3u8) M3U/M3U8 是一種在電腦上面用來記錄多媒體播放列表的文件格式,它最 初是由 Winamp 這個(gè)音樂播放程序采用的,但現(xiàn)在已經(jīng)有非常多的應(yīng)用程序支持 這一多媒體播放列表索引格式 一個(gè) M3U/M3U8 文件是一個(gè)純文本文件,用來指示一個(gè)或多個(gè)媒體文件的 位置,播放器根據(jù)此點(diǎn)來播放媒體文件。文件的每一行都只能有一個(gè)規(guī)格或者表 示一種屬性,可以有如下格式: 1)文件的絕對(duì)路徑: C:\My Music\ 2)文件的相對(duì)路徑 : /Music/ 3)文件的 URL M3U/M3U8 同時(shí)擁有“注釋”的功能,使用 字符來表示一行注釋的開始, 但是在這里,“注釋”并不會(huì)被忽略,而是承擔(dān)了相當(dāng)于標(biāo)簽的功能,有指定的 格式和要求。 如果媒體文件經(jīng)過了加密,則 EXTXKEY 標(biāo)簽提供了客戶端解密所必需的 信息,它的格式如下: EXTXKEY:METHOD=method[,URI=URI] METHOD 參數(shù)用來指示服務(wù)器端所采用的加密算法,如果 URI 參數(shù)不為空, 它表示客戶端可以去該參數(shù)值 表示的地址去或者解密所需要的密鑰。 Http Live Streaming Protocol 版本里面定義了上述標(biāo)簽的兩個(gè)值: NONE 和 AES128,。如果標(biāo)簽的值為 NONE 則表示沒有對(duì)媒體數(shù)據(jù)進(jìn)行加密,若未 AES128 則表示采用了 128 位的對(duì)稱加密算法對(duì)媒體進(jìn)行了加密。 M3U/M3U8 文件同時(shí)可以對(duì)多個(gè)視頻流進(jìn)行索引,以支持同一內(nèi)容的不同 碼率 的視頻流傳輸,可以適應(yīng)不同的帶寬、網(wǎng)絡(luò)狀況或者客戶端設(shè)備。如果客 戶端設(shè)備的網(wǎng)絡(luò)或者帶寬狀況發(fā)生了改變, Http Live Streaming Protocol 支持其 在不同的流中進(jìn)行動(dòng)態(tài)切換,客戶端可以使用啟發(fā)式方法來決定在什么情況下應(yīng) 該切換到哪一媒體流,一個(gè)比較簡(jiǎn)單的方法是根據(jù)當(dāng)前某一時(shí)間段之內(nèi)的網(wǎng)絡(luò)流 量來決定。 M3U/M3U8 索引文件通過包含一個(gè)特殊的標(biāo)簽 EXTXSTREAMINF 來表 示不同碼率或者帶寬要求的媒體流的 M3U8 索引文件的 URI 屬性。 [7] 43 圖 52: M3U8索引文件圖示 44 附錄 B Http Live Streaming (m3u8 streaming)(mpeg2ts) MPEG2TS 是一種封裝格式,所有的 video, audio 以及輔助信息 (PAT,PMT)都被封裝成為 188 bytes的 ts中用 PID來區(qū)分不同的 PID,如 PAT 的 pid 固定是 : iso138181 優(yōu)點(diǎn)是每個(gè)包都有固定大小,在網(wǎng)絡(luò)傳輸中和文件切割時(shí)比較方便; 缺點(diǎn)是因?yàn)槊總€(gè)包都是 188 bytes,所以必然會(huì)有 padding;從而浪費(fèi)一定的空間,當(dāng)sample 比較小的時(shí)候浪費(fèi)是比較嚴(yán)重的,此時(shí)能夠通過將多個(gè) sample 壓縮進(jìn)行打包的方式來實(shí)現(xiàn)。 在 live streaming 中只需要實(shí)現(xiàn)部分標(biāo)準(zhǔn)。 PAT(program_association_table):是由 program_association_section 構(gòu)成 PES_packet():用來打包 es 的格式。其中比較重要的信息有 DTS、 PTS 信息。詳細(xì)信息請(qǐng)查閱 iso138181 標(biāo)準(zhǔn)。 在 MPEG2TS 中 PID 是一個(gè)很重要的概念, PID 是流的唯一標(biāo)示符,相同的 PID 指定的是相同類型的內(nèi)容。服務(wù)器和客戶端端是通過 PID 來實(shí)現(xiàn)復(fù)用和解復(fù)用的。 客戶端的解碼過程: TS_packet 的開始位 0x47。 PID 為 0x0000 的 PAT,將 PAT 進(jìn)行解包,得到每個(gè)項(xiàng) 目對(duì)應(yīng)的 PMT PID(在 m3u8 streaming 中只有一路節(jié)目 )。 PAT 解包得到的 PMT PID 得到 PMT,同理將 PMT進(jìn)行解包得到 ES pid 和對(duì)應(yīng)的類型。 PMT 解包得到的 ES PID,將該路流解包得到 PES_packet,從而得到 ES流和 DTS,PTS。此時(shí)就能送到 decoder 去解碼了。 服務(wù)器端的編碼過程: PMT PID 來生成 PAT,并打包成 TS_packet 來寫入文件。 ES 的 PID 和類型生成 PMT,并打包成 TS_packet 來寫入文件。 45 video/audio sample,并將一個(gè)或者多個(gè) sample 打包成為 PES_packet. PES_packet 封裝成 TS_packet 寫入文件。 附錄 C import @implementation MoviePlayerViewController (void)loadView { moviePlayer = [ [ MPMoviePlayerController alloc ] initWithContentURL: [ NSURL URLWithString: @ ] ]。 NSNotificationCenter *notificationCenter = [ NSNotificationCenter defaultCenter ]。 [notificationenter addObserver: self selector:@selector (moviePlayerPlaybackDidFinish: ) name: MPMoviePlayerPlaybackDidFinishNotification object: moviePlayer ]。 。 } (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { return (interfaceOrientation == UIInterfaceOrientationPortrait)。 } (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]。} (void)dealloc { [ super dealloc ]。 } (void) moviePlayerPlaybackDidFinish: (NSNotification*)notification { NSLog(@Playback Finished!\n)。 } 46 @end 附錄 D import import @implementation MoviePlayerAppDelegate @synthesize window。 @synthesize viewController。 (void) applicationDidFinishLaunching: (UIApplication *) application { CGRect screenBounds = [ [ UIScreen mainScreen ] bounds ]。 = [ [ [ UIWindow alloc ] initWithFrame: screenBounds ] autorelease ]。 viewController = [ [ MoviePlayerViewController alloc ] init ]。 [ window addSubview: ]。 [ window makeKeyAndVisible ]。 } (void)dealloc { [ viewController release ]。 [ window release ]。 [ super dealloc ]。 } @end 47 致 謝 本論文最終能順利完成,首先應(yīng)感謝我的導(dǎo)師陳思寶 自始至終給予的關(guān)心和指導(dǎo)。無論是在論文選題、開題、寫作階段還是在項(xiàng)目的實(shí)踐過程中 ,陳 老師都加以悉心的指導(dǎo)。導(dǎo)師嚴(yán)謹(jǐn)?shù)闹螌W(xué)作風(fēng)和求實(shí)的工作態(tài)度都深深地影響著我。 忠心感謝各位 老師,在我讀本科生的時(shí)間里,在物質(zhì)和精神上給我提供的巨大支持,使我順利完成了學(xué)業(yè)。 在論文的寫作過程中,很多同學(xué)為我提供了很多幫助,值此機(jī)會(huì)向他們表示誠摯的謝意。 本論文的寫作參考、引用了很多書籍及文獻(xiàn),在此向這些文章的作者表示深深的謝意。 感謝我的父母和親人,正是有了他們的關(guān)心和支持,我的學(xué) 業(yè)才得以順利完成。 最后,再次感謝所有關(guān)心和愛護(hù)過我的老師、親人、同學(xué)和朋友 !
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1