Android視頻壓縮的示例代碼
最近由于項(xiàng)目需求,需要對(duì)自己錄制的視頻進(jìn)行壓縮并發(fā)送。本篇主要說(shuō)的是視頻的壓縮,所以關(guān)于視頻的錄制和上傳、發(fā)送就不在這里做過(guò)多表述了。
背景:
以前從來(lái)沒(méi)有做過(guò)關(guān)于視頻方面的項(xiàng)目,所以在剛接受這個(gè)項(xiàng)目的時(shí)候,有點(diǎn)頭大,當(dāng)然了,迎難而上是我們攻城獅必備的品質(zhì)。所以我就在網(wǎng)上搜索關(guān)于視頻編解碼的知識(shí),搜到最多的就是ffmpeg,那么什么是ffmpeg呢?簡(jiǎn)單說(shuō)FFmpeg 是一套可以用來(lái)記錄、轉(zhuǎn)換數(shù)字音頻、視頻,并能將其轉(zhuǎn)化為流的開(kāi)源計(jì)算機(jī)程序。采用LGPL或GPL許可證。它提供了錄制、轉(zhuǎn)換以及流化音視頻的完整解決方案。它包含了非常先進(jìn)的音頻/視頻編解碼庫(kù)libavcodec,為了保證高可移植性和編解碼質(zhì)量,libavcodec里很多code都是從頭開(kāi)發(fā)的。
它主要包括:視頻的采集,視頻的編輯,視頻的截圖,視頻的水印等,想仔細(xì)了解的可以自行百度。
好了,下面大道理我就不說(shuō)了,我只告訴你怎么使用,畢竟我也只是會(huì)使用而已。
下面會(huì)附上下載地址。
下載好以后按照我放的目錄放就行了。
cmd = "-y -i /storage/emulated/0/coollang/vedio/2.mp4 -strict -2 -vcodec libx264 -preset ultrafast -crf 24 -acodec aac -ar 44100 -ac 2 -b:a 96k -s 640x352 -aspect 16:9 /storage/emulated/0/coollang/vedio/1.mp4"; com = new Compressor(this); com.loadBinary(new InitListener() { @Override public void onLoadSuccess() { com.execCommand(cmd,new CompressListener() { @Override public void onExecSuccess(String message) { Log.i("success",message); } @Override public void onExecFail(String reason) { Log.i("fail",reason); } @Override public void onExecProgress(String message) { Log.i("progress",message); } }); } @Override public void onLoadFail(String reason) { Log.i("fail",reason); } });
在這個(gè)demo里面需要注意的就是assets,jin,libs文件夾下的文件對(duì)應(yīng)你自己的目錄存放進(jìn)去。
下面這個(gè)指令的意思:
"-y -i 待壓縮目錄 -strict -2 -vcodec libx264 -preset ultrafast -crf 24 -acodec aac -ar 44100 -ac 2 -b:a 96k -s 640x352 -aspect 16:9 壓縮后的目錄";
InitListener是對(duì)壓縮過(guò)程的一個(gè)監(jiān)聽(tīng),onExecSuccess表示壓縮成功,onExecFail表示壓縮失敗,一般失敗的原因都是你自己地址出錯(cuò),所以要細(xì)心點(diǎn)。onExecProgress壓縮的進(jìn)度。
關(guān)于這個(gè)工具知道這么多就夠了,關(guān)鍵在于自己動(dòng)手試試。
下載地址:Android-Video-Compressor_jb51.rar
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android開(kāi)發(fā)獲取傳感器數(shù)據(jù)的方法示例【加速度傳感器,磁場(chǎng)傳感器,光線傳感器,方向傳感器】
這篇文章主要介紹了Android開(kāi)發(fā)獲取傳感器數(shù)據(jù)的方法,結(jié)合實(shí)例形式分析了Android獲取加速度傳感器、磁場(chǎng)傳感器、光線傳感器及方向傳感器數(shù)據(jù)的相關(guān)操作技巧,需要的朋友可以參考下2017-11-11Android開(kāi)發(fā)之圖形圖像與動(dòng)畫(huà)(四)AnimationListener簡(jiǎn)介
就像Button控件有監(jiān)聽(tīng)器一樣,動(dòng)畫(huà)效果也有監(jiān)聽(tīng)器,只需要實(shí)現(xiàn)AnimationListener就可以實(shí)現(xiàn)對(duì)動(dòng)畫(huà)效果的監(jiān)聽(tīng),感興趣的朋友可以了解下啊,希望本文對(duì)你有所幫助2013-01-01不依賴于Activity的Android全局懸浮窗的實(shí)現(xiàn)
在Android應(yīng)用開(kāi)發(fā)中,經(jīng)常要遇到做全局懸浮窗的效果,本文的內(nèi)容主要是如何不依賴于Activity的全局懸浮窗的實(shí)現(xiàn)及原理,有需要的可以參考。2016-07-07Android如何實(shí)現(xiàn)URL轉(zhuǎn)換成二維碼
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)URL轉(zhuǎn)換成二維碼的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04Android自定義FloatingActionButton滑動(dòng)行為只隱藏不出現(xiàn)的問(wèn)題小結(jié)
這篇文章主要介紹了Android自定義FloatingActionButton滑動(dòng)行為只隱藏不出現(xiàn)的問(wèn)題小結(jié),需要的朋友可以參考下2017-01-01android輕量級(jí)無(wú)侵入式管理數(shù)據(jù)庫(kù)自動(dòng)升級(jí)組件
這篇文章主要為大家介紹了android輕量級(jí)無(wú)侵入式管理數(shù)據(jù)庫(kù)自動(dòng)升級(jí)組件詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02