Android利用ffmpeg压缩视频
生活随笔
收集整理的這篇文章主要介紹了
Android利用ffmpeg压缩视频
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
因為整個ffmpeg是很大的,我這邊只需要對mp4格式的視頻進行壓縮,具體情況是拍攝10秒的視頻,給它命名的時候就設置成mp4的格式。我用的ffmpeg是3.0版本,生成的so庫比原來的小很多,具體怎么生成so庫就不細說了,網上一大堆,而且我自己踩過的坑也忘了不少了。我封裝成了一個庫文件,最后github地址在此:https://github.com/iamupgirl/MediaCompressLibrary,使用起來也很方便。
我是直接寫了一個Service在后臺進行視頻壓縮,主要代碼如下:
mCmds = "ffmpeg -y -i " + selectedAviFile + " -strict -2 -vcodec libx264 -preset ultrafast -crf 20 -acodec copy -ar 44100 -ac 2 -b:a 96k -vf scale=-1:800 " + compressedFile;//轉換為數組thread = new Thread(new Runnable() {@Overridepublic void run() {String[] cmds = mCmds.split(" ");FfmpegKit.exec(cmds, new FfmpegKit.OnExecListener() {@Overridepublic void onExecuted(int ret) {Message msg = new Message();msg.what = ret;mHandler.sendMessage(msg);}});}});thread.start(); 上面的selectedAviFile是原視頻的儲存地址,compressFile是壓縮后的視頻的儲存地址,至于那些類似于 -y,-i的命令行網上有很多博客說了,我就不細說了。要注意的是命令之間是有且僅有一個空格的,如果怕出錯,直接復制我的就好。最后,要說明的是,壓縮成功會返回0,壓縮失敗返回1。總結
以上是生活随笔為你收集整理的Android利用ffmpeg压缩视频的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ASP木马
- 下一篇: Android系统解除USER版本无法进