Android視頻壓縮的示例代碼
最近由于項(xiàng)目需求,需要對(duì)自己錄制的視頻進(jìn)行壓縮并發(fā)送。本篇主要說的是視頻的壓縮,所以關(guān)于視頻的錄制和上傳、發(fā)送就不在這里做過多表述了。
背景:
以前從來沒有做過關(guān)于視頻方面的項(xiàng)目,所以在剛接受這個(gè)項(xiàng)目的時(shí)候,有點(diǎn)頭大,當(dāng)然了,迎難而上是我們攻城獅必備的品質(zhì)。所以我就在網(wǎng)上搜索關(guān)于視頻編解碼的知識(shí),搜到最多的就是ffmpeg,那么什么是ffmpeg呢?簡單說FFmpeg 是一套可以用來記錄、轉(zhuǎn)換數(shù)字音頻、視頻,并能將其轉(zhuǎn)化為流的開源計(jì)算機(jī)程序。采用LGPL或GPL許可證。它提供了錄制、轉(zhuǎn)換以及流化音視頻的完整解決方案。它包含了非常先進(jìn)的音頻/視頻編解碼庫libavcodec,為了保證高可移植性和編解碼質(zhì)量,libavcodec里很多code都是從頭開發(fā)的。
它主要包括:視頻的采集,視頻的編輯,視頻的截圖,視頻的水印等,想仔細(xì)了解的可以自行百度。
好了,下面大道理我就不說了,我只告訴你怎么使用,畢竟我也只是會(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ì)壓縮過程的一個(gè)監(jiān)聽,onExecSuccess表示壓縮成功,onExecFail表示壓縮失敗,一般失敗的原因都是你自己地址出錯(cuò),所以要細(xì)心點(diǎn)。onExecProgress壓縮的進(jìn)度。
關(guān)于這個(gè)工具知道這么多就夠了,關(guān)鍵在于自己動(dòng)手試試。
下載地址:Android-Video-Compressor_jb51.rar
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
uniapp打包Android的apk(原生APP-云打包)及發(fā)布測試全過程
uni-app本地打包apk需要提前做非常多的準(zhǔn)備工作,而且可能會(huì)勸退一些開發(fā)者,下面這篇文章主要給大家介紹了關(guān)于uniapp打包Android的apk(原生APP-云打包)及發(fā)布測試的相關(guān)資料,需要的朋友可以參考下2023-02-02
代碼從windows下visual studio到andriod平臺(tái)遷移實(shí)現(xiàn)步驟
這篇文章主要介紹了代碼從windows下visual studio到andriod平臺(tái)遷移的修改記錄的相關(guān)資料,需要的朋友可以參考下2017-01-01
Android如何實(shí)現(xiàn)動(dòng)態(tài)滾動(dòng)波形圖(心電圖)功能
這篇文章主要介紹了Android如何實(shí)現(xiàn)動(dòng)態(tài)滾動(dòng)波形圖(心電圖)功能,幫助大家更好的理解和學(xué)習(xí)使用Android,感興趣的朋友可以了解下2021-03-03
淺談Android性能優(yōu)化之內(nèi)存優(yōu)化
Android的內(nèi)存優(yōu)化是性能優(yōu)化中很重要的一部分,本文將詳細(xì)介紹Android性能優(yōu)化之內(nèi)存優(yōu)化。2021-06-06
Android 如何獲取手機(jī)總內(nèi)存和可用內(nèi)存等信息
這篇文章主要介紹了Android系統(tǒng)檢測程序內(nèi)存占用各種方法,并對(duì)內(nèi)存信息的詳細(xì)介紹,需要的朋友可以參考下2016-07-07
Compose開發(fā)之動(dòng)畫藝術(shù)探索及實(shí)現(xiàn)示例
這篇文章主要為大家介紹了Compose開發(fā)之動(dòng)畫藝術(shù)探索及實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09

