Android多媒體平臺(tái)下基于FFMPEG的音視頻處理方案研究
發(fā)布時(shí)間:2017-09-25 12:04
本文關(guān)鍵詞:Android多媒體平臺(tái)下基于FFMPEG的音視頻處理方案研究
更多相關(guān)文章: 多媒體 Android 音頻 視頻 FFmpeg
【摘要】:移動(dòng)互聯(lián)網(wǎng)技術(shù)飛速發(fā)展的今天,手機(jī)儼然成為生活中不可或缺的一部分,人們對(duì)手機(jī)也產(chǎn)生了其他的功能要求,尤其是在多媒體方面。然而,在Android版本頻繁迭代更新和人們對(duì)娛樂(lè)多媒體的日漸依賴(lài)下,作為需求比較多的模塊,Android的多媒體功能比較欠缺,尤其是音視頻處理方面,主要體現(xiàn)在:一、Android系統(tǒng)源碼中對(duì)于音視頻的支持上,無(wú)論從支持的視頻種類(lèi)上,還是編解碼效率上,都不能滿足日益增長(zhǎng)的需求;二、音頻錄制過(guò)程中,每次觸碰暫停都會(huì)生成一個(gè)音頻段,該音頻段不支持直接拼接;三、視頻錄制結(jié)束之后,需要進(jìn)行截取封面。所以,對(duì)Android應(yīng)用音視頻全面研究具有重要理論意義和實(shí)際應(yīng)用價(jià)值,也引起來(lái)了越來(lái)越多研究人員的注意。為了解決如上問(wèn)題,本文提出了解決辦法以及關(guān)鍵技術(shù)的實(shí)現(xiàn),實(shí)現(xiàn)一個(gè)較為通用且完善的音視頻處理方案,能夠支持基本的音視頻錄制、播放以及過(guò)程中的控制。本次方案著重研究了開(kāi)源多媒體庫(kù)FFmpeg技術(shù),并通過(guò)JNI技術(shù)將其移植到Android系統(tǒng),主要開(kāi)展并完成了以下工作:其一,論述了目前Android平臺(tái)下多媒體功能的主要欠缺以及Android和FFmpeg的研究現(xiàn)狀,并且詳細(xì)說(shuō)明了設(shè)計(jì)音視頻處理方案的意義。接下來(lái),對(duì)Android系統(tǒng)的框架等進(jìn)行闡述,緊接著深入研究其多媒體框架OpenCore,掌握其特點(diǎn)以及提供的多媒體類(lèi)型接口,為后期使用做準(zhǔn)備。其二,在深入剖析FFmpeg編解碼和截圖機(jī)制的基礎(chǔ)上,為了提高編解碼效率以及解決音頻段合并和視頻截圖兩大技術(shù)難點(diǎn),將FFmpeg移植到Android的底層。同時(shí)針對(duì)FFmpeg操作相對(duì)復(fù)雜且參數(shù)不便于理解和應(yīng)用的問(wèn)題,提出了按照邏輯和類(lèi)的方法將FFmpeg封裝的方案設(shè)計(jì)。其三,對(duì)方案各個(gè)模塊進(jìn)行了詳細(xì)的需求分析,設(shè)計(jì)了一套切實(shí)可行的音視頻處理方案,提供從音視頻錄制到播放的服務(wù)。整個(gè)方案采用了外觀模式進(jìn)行設(shè)計(jì),有效的避免模塊間的耦合,提高開(kāi)發(fā)效率。使用Android自身的MediaRecord類(lèi)來(lái)實(shí)現(xiàn)音視頻的錄制,MediaPlayer類(lèi)實(shí)現(xiàn)音視頻的播放,底層封裝的FFmpeg接口實(shí)現(xiàn)音視頻轉(zhuǎn)碼、視頻截圖以及多段音頻合并。最后,通過(guò)性能測(cè)試,對(duì)錯(cuò)誤進(jìn)行了修正,最終提出的設(shè)計(jì)方案能夠按照預(yù)計(jì)結(jié)果去實(shí)現(xiàn)相應(yīng)功能。綜上所述,本文實(shí)現(xiàn)了Android平臺(tái)下基于FFmpeg的音視頻處理方案,可以較為有效的提高Android自身的音視頻功能,優(yōu)化處理流程;同時(shí),還能減輕多媒體開(kāi)發(fā)的工作負(fù)擔(dān),提高開(kāi)發(fā)效率。
【關(guān)鍵詞】:多媒體 Android 音頻 視頻 FFmpeg
【學(xué)位授予單位】:暨南大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位授予年份】:2016
【分類(lèi)號(hào)】:TN919.8
【目錄】:
- 英文縮寫(xiě)說(shuō)明3-4
- 摘要4-6
- ABSTRACT6-12
- 第一章 緒論12-18
- 1.1 研究背景和意義12-15
- 1.2 研究現(xiàn)狀15-16
- 1.2.1 Android多媒體研究現(xiàn)狀15-16
- 1.2.2 FFmpeg研究現(xiàn)狀16
- 1.3 本文結(jié)構(gòu)編排16-18
- 第二章 相關(guān)技術(shù)和知識(shí)介紹18-36
- 2.1 ANDROID18-20
- 2.1.1 Android系統(tǒng)框架18-19
- 2.1.2 Android應(yīng)用程序構(gòu)成19-20
- 2.2 ANDROID多媒體20-24
- 2.2.1 多媒體系統(tǒng)介紹20-21
- 2.2.2 多媒體框架OpenCore21-22
- 2.2.3 OpenCore的多媒體類(lèi)型及接口22-23
- 2.2.4 OpenCore的集成接口23-24
- 2.3 FFMPEG24-27
- 2.3.1 FFmpeg構(gòu)成24-25
- 2.3.2 FFmpeg搭建25-27
- 2.4 FFMPEG開(kāi)發(fā)27-32
- 2.4.1 FFmpeg參數(shù)解析27-28
- 2.4.2 FFmpeg處理流程28-29
- 2.4.3 FFmpeg轉(zhuǎn)碼29-32
- 2.5 ANDROID STUDIO以及開(kāi)發(fā)平臺(tái)建立32-35
- 2.5.1 Android Studio簡(jiǎn)介32
- 2.5.2 Android Studio優(yōu)勢(shì)32-33
- 2.5.3 開(kāi)發(fā)平臺(tái)的建立33-35
- 2.6 本章小結(jié)35-36
- 第三章 音視頻解決方案需求分析與設(shè)計(jì)36-50
- 3.1 可行性分析36
- 3.2 功能需求分析36-39
- 3.2.1 底層封裝37-38
- 3.2.2 音視頻錄制模塊功能需求38-39
- 3.2.3 音視頻播放模塊功能需求39
- 3.3 性能需求分析39-40
- 3.3.1 友好的UI界面39
- 3.3.2 響應(yīng)時(shí)長(zhǎng)39-40
- 3.4 FFMPEG封裝設(shè)計(jì)40-42
- 3.4.1 轉(zhuǎn)碼以及多段音頻合并設(shè)計(jì)40-41
- 3.4.2 截取視頻圖像設(shè)計(jì)41-42
- 3.5 音頻模塊設(shè)計(jì)42-44
- 3.5.1 音頻功能模塊設(shè)計(jì)42-43
- 3.5.2 音頻控制模塊設(shè)計(jì)43-44
- 3.6 視頻模塊設(shè)計(jì)44-47
- 3.6.1 播放功能模塊設(shè)計(jì)44-45
- 3.6.2 視頻控制模塊設(shè)計(jì)45-47
- 3.7 設(shè)計(jì)模式47-48
- 3.7.1 開(kāi)發(fā)過(guò)程中的問(wèn)題47
- 3.7.2 外觀模式47-48
- 3.8 本章小結(jié)48-50
- 第四章 音視頻處理方案的實(shí)現(xiàn)50-69
- 4.1 硬件使用權(quán)限設(shè)置50-51
- 4.2 底層封裝的實(shí)現(xiàn)51-53
- 4.2.1 FFmpeg具類(lèi)的封裝51-52
- 4.2.2 視頻截圖52
- 4.2.3 多段音頻合并52-53
- 4.3 音頻錄制功能的實(shí)現(xiàn)53-58
- 4.3.1 音頻錄制流程53-57
- 4.3.2 返回按鍵事件的監(jiān)聽(tīng)與處理57-58
- 4.3.3 音頻轉(zhuǎn)碼的實(shí)現(xiàn)58
- 4.4 視頻錄制功能的實(shí)現(xiàn)58-62
- 4.4.1 視頻錄制流程58-61
- 4.4.2 視頻轉(zhuǎn)碼的實(shí)現(xiàn)61-62
- 4.5 音頻播放功能的實(shí)現(xiàn)62-65
- 4.5.1 音頻播放流程62-64
- 4.5.2 語(yǔ)音播放/暫停控件實(shí)現(xiàn)64-65
- 4.6 視頻播放功能的實(shí)現(xiàn)65-67
- 4.6.1 視頻播放流程65-66
- 4.6.2 SurfaceHolder.Callback接口實(shí)現(xiàn)66-67
- 4.7 播放過(guò)程中異常情況處理67-68
- 4.7.1 注冊(cè)O(shè)nErrorListener67-68
- 4.7.2 try catch結(jié)構(gòu)68
- 4.8 本章小結(jié)68-69
- 第五章 音視頻方案測(cè)試69-77
- 5.1 配置測(cè)試環(huán)境69
- 5.2 視頻功能模塊測(cè)試69-72
- 5.2.1 視頻錄制測(cè)試70-71
- 5.2.2 視頻播放測(cè)試71-72
- 5.3 音頻功能模塊測(cè)試72-74
- 5.3.1 音頻錄制測(cè)試72-73
- 5.3.2 音頻播放功能測(cè)試73-74
- 5.4 性能測(cè)試74-76
- 5.5 數(shù)據(jù)移除安全測(cè)試76
- 5.6 本章小結(jié)76-77
- 第六章 總結(jié)與展望77-80
- 6.1 總結(jié)77-79
- 6.2 展望79-80
- 參考文獻(xiàn)80-83
- 致謝83
本文編號(hào):917230
本文鏈接:http://www.sikaile.net/kejilunwen/xinxigongchenglunwen/917230.html
最近更新
教材專(zhuān)著