幼儿饰品瑜伽美体用品微软
投稿投诉
微软创意
爱情通信
用品婚姻
爱好看病
美体软件
影音星座
瑜伽周边
星座办公
饰品塑形
搞笑减肥
幼儿两性
智家潮品

Android中通过FFmpeg命令对音视频编辑处理(已开源

  视音频编辑器1、前言
  有时候我们想对音视频进行加工处理,比如视频编辑、添加字幕、裁剪等功能处理,虽然Github上开源了一些比较不错的项目,但是如果我们想在此项目上进行二次开发,比如我想拿到该项目的动态库基于OpenH264来进行对YUV编码,这个时候有可能该动态库没有集成OpenH64库,所以为了扩展性,我就自己弄了一套万能的库,基本上包含了所有常用的音视频处理库,你不用再去进行编译。
  编译完成的头文件和动态库可以在该项目的corecpp目录自行获取(已完全开源)。ps:这里再推荐一下我的另一个音视频处理库AVEditor功能正在完善中,可以先关注。
  AVEditor是一款短视频编辑SDK,仿DouYin音视频处理。功能包含有美颜、滤镜、贴纸、特效、录制、分段录制、速率录制、变声、配乐、rtmp直播推流、图片转视频、剪辑,mp4flv格式封装等功能。
  2、介绍
  视音频编辑器主要移植FFmpegv4。4devlibx264freetypefontconfigfribidiopenh264libfdkaacgnutlsspeexlibwebplameopusopencoreamrhttps等库编译的适用于Android平台的音视频编辑、视频剪辑的快速处理框架,目前内置了音视频剪辑、编辑、多个视频文件合并、字幕、水印、倒放等功能,也可以传入FFmpeg命令来进行处理。
  我们先来看一下内置功能的效果:
  音视频剪辑:
  音视频合成:
  音视频编辑:
  更多效果点击阅读原文进行查看
  C音视频学习资料免费获取方法:关注音视频开发T哥,点击链接即可免费获取2023年最新C音视频开发进阶独家免费学习大礼包!3、如何使用3。1添加依赖implementationcom。devyk。ffmpeglib:AVFFmpegCore:1。0。13。2功能API介绍
  回调处理publicinterfaceExecuteCallback{开始处理voidonStart(LongexecutionId);如果外部传递了当前操作视频的时长,那么返回的是百分比进度,反之返回的是操作视频对应的微妙时长paramvvoidonProgress(floatv);处理成功voidonSuccess(longexecutionId);处理失败voidonFailure(longexecutionId,Stringerror);取消处理voidonCancel(longexecutionId);ffmpeg执行的logvoidonFFmpegExecutionMessage(LogMessagelogMessage);}
  AVEditor剪辑AVVideo:
  start:开始的时间单位秒
  duration:剪辑多少秒
  funclip(start:Float,duration:Float)
  AVEditor:
  funexec(
  epVideo:AVVideo,
  outputOption:OutputOption,
  executeCallback:ExecuteCallback)旋转AVVideo:
  rotation:旋转角度(仅支持90,180,270度旋转)
  isFlip:是否镜像
  funrotation(rotation:Int,isFlip:Boolean)
  AVEditor:
  funexec(
  epVideo:AVVideo,
  outputOption:OutputOption,
  executeCallback:ExecuteCallback)裁剪AVVideo:
  width:裁剪的宽
  height:裁剪的高
  x:从x点开始
  y:从y点开始
  funcrop(
  width:Float,
  height:Float,
  x:Float,y:Float)
  AVEditor:
  funexec(
  epVideo:AVVideo,
  outputOption:OutputOption,
  executeCallback:ExecuteCallback)添加文字水印AVVideo:
  funaddText(avText:AVText)
  AVEditor:
  funexec(
  epVideo:AVVideo,
  outputOption:OutputOption,
  executeCallback:ExecuteCallback)添加图片水印AVVideo:
  funaddDraw(epDraw:AVDraw)
  AVEditor:
  funexec(
  epVideo:AVVideo,
  outputOption:OutputOption,
  executeCallback:ExecuteCallback)视频合并AVEditor:
  funmerge(
  epVideos:List,
  outputOption:OutputOption,
  executeCallback:ExecuteCallback)添加背景音乐AVEditor:
  music(
  videoin:String,
  audioin:String,
  output:String,
  videoVolume:Float,
  audioVolume:Float,
  executeCallback:ExecuteCallback
  )音视频分离AVEditor:
  fundemuxer(
  inSource:String,outSource:String,
  format:Format,
  executeCallback:ExecuteCallback)视频倒放AVEditor:
  funreverse(
  videoin:String,out:String,
  vr:Boolean,视频是否倒放
  ar:Boolean,音频是否倒放
  executeCallback:ExecuteCallback)视频转图片AVEditor:
  funvideo2pic(
  videoin:String,视频输入文件
  out:String,图片输出路径目录
  w:Int,h:Int,输出图片的宽高
  rate:Float,每秒视频生成图片数
  executeCallback:ExecuteCallback)视频转GifAVEditor:
  funvideo2Gif(
  videoin:String,
  gifOut:String,
  startDuration:Int,
  stopDuration:Int,
  executeCallback:ExecuteCallback
  )自定义命令AVEditor:
  cmd:FFmpeg命令
  duration:处理视频的时长,可以通过VideoUitls。getDuration(videoPath)来获取
  funexecCmd(cmd:String,duration:Long,executeCallback:ExecuteCallback)4、FFmpeg编译小技巧
  有时候我们发现Github上一些基于FFmpeg开发的比较好的项目,比如ijkplayer,RxFFmpeg等,我们想基于它做二次开发,由于我们不知道怎么编译,也不知道编译FFmpeg到底需要开启哪些节点,这个时候我就想拿某些项目的编译脚本,基于它来进行二次编译。一般来说有些项目不会开源编译FFmpeg的脚本。这个时候我们可以通过拿到开源项目的静态或者动态库,这里我就以RxFFmpeg来举例,可以看看我是如果拿到它的编译脚本。
  1、先cloneRxFFmpeggitclonehttps:github。commicroshowRxFFmpeg。git
  2、关联librxffmpegcore。so
  通过该so我们知道它应该就是FFmpeg编译之后的动态库,现在我们通过cmake的方式关联到该socmakeminimumrequired(VERSION3。4。1)JNI路径set(FFMpegincludePATH{CMAKESOURCEDIR})includedirectories({FFMpegincludePATH}include)addlibrary(RxFFmpegSHAREDIMPORTED)settargetproperties(RxFFmpegPROPERTIESIMPORTEDLOCATION{PROJECTSOURCEDIR}。。。。。。libs{CMAKEANDROIDARCHABI}librxffmpegcore。so)findlibrary(logliblog)FILE(GLOBJNIALLC{JNIPATH}。cpp)addlibrary(ffmpegtoolsSHARED{JNIALLC})targetlinklibraries(ffmpegtoolsRxFFmpeg{loglib})
  3、编写JNI函数,拿到编译脚本CreatedbyDevYKon20201002。includeexternC{includelibavutilavutil。h}includejni。hdefineAVTAGAVLOGdefineLOGE(format,。。。)androidlogprint(ANDROIDLOGERROR,AVTAG,format,VAARGS)intJNIOnLoad(JavaVMjavaVM,voidpVoid){constcharconfigavutilconfiguration();LOGE(FFMPEGVERSIONs,avversioninfo());LOGE(FFMPEGconfigurations,avutilconfiguration());returnJNIVERSION16;}
  通过debug查看config指针指向内存中的信息如下:
  嗯,拿到了它的编译信息,然后我们就可以基于它来完善我们项目的编译,我们可以编译出比它的功能更加丰富,就如开头介绍一般,我添加了市面上常用的一些C库,基本达到了万能了吧。5、总结
  项目地址:AVFFmpegLib
  这里就不在介绍如何编译了,感兴趣的可以看mobileffmpeg项目,我这里也是基于它进行二次封装开发。6、参考EpMediaFFmpeg常用命令mobileffmpegAndroid音视频编辑经验总结及开源工程分享
  原文链接:Android中通过FFmpeg命令对音视频编辑处理(已开源)

港片狮子山下情热度飙升!一集就拿下收视榜,港星齐聚看点足提到今年最热门的剧,大家必然会提到《人世间》。这一部作品确实是打响了开年第一炮,算得上是创造了现象级的电视剧收看情况,被很多的人称之为是收视神话。这部作品在最开始播出的时候,确……走进互助北山四维原创2020614互助北山朴素的有些平凡沒有诗意的名字却有着专属的灿烂你只需看上一眼才知道什么叫心灵震撼走进互助北山立体的油……六味中药,强腰椎!特地分享出来送给有缘人今天说一个六味中药强腰椎的方子。腰椎疾病可以说骨科病症中分布人群范围最广,和颈椎问题都是属于常见病症,但是腰椎的疼痛又分为很多种,那今天就给大家分享一个无论是膨出还……42岁秦岚新剧造型好美,穿唐装少女感满满,网友这是冻龄吧今天,秦岚新剧《隐娘》的路透图曝光,照片里秦岚身着唐朝裙装,梳起发髻,古典韵味十足,网友直呼造型太美,少女感满满!这次路透图主要释出两种扮相。一个扮相是秦岚身着蓝色唐装,……不能背下来也要收藏备用的中医方剂1小青龙汤组成中含有:麻黄、细辛、半夏、干姜。2大青龙汤组成中含有:麻黄、桂枝、石膏、杏仁。3麻黄汤的主治病证是:恶寒发热,头身疼痛,无汗而喘,舌苔白,脉浮紧。……跌落神坛吴莫愁狠赚1。3亿4人帮她穿鞋,如今却沦为资本弃儿出道即巅峰,和LadyGaga是闺蜜,2年接20个广告,仅代言费就高达1。3亿。可如今,吴莫愁为何突然不红了?原本她只是当年好声音的亚军,要不是冠军梁博选择继续去深造,她……帕米尔高原,古称葱岭不周山喀什塔什库尔干塔吉克自驾游(22)帕米尔高原,古称不周山,后称葱岭(西游记里的葱岭),十万平方公里,中国,阿富汗,塔吉克斯坦三国各占一块。古丝绸之路中线,南线在此汇合,汇合地石头城,即塔什库尔干塔吉克自治县(简……你知道从成都双流至深圳宝安飞机在天上是怎么飞的吗成都双流国际机场往返深圳宝安国际机场的空中航线也是中国国内航线一直以来客流量名列前茅的航线,每天各大航空公司往返两地的航班多达几十班,逢节假日高峰时期甚至每天航班量可破百。每天……浙江最美樱花公路,万亩野樱即将盛放!漫天粉霞似雪,不输北海道最近接连不断的好天气,终于让人感觉到春天的存在了!开春当然要赏花,每年早春我们挖掘的第一款宝藏赏花地,必定是杭郊这片绝美樱花海!搭配浙西小川藏线,这条绝美的浙江最美……15座无车之城让你感叹慢世界在大城市中生活,堵车成了每个上班族的必修之课,行人走在路上,要时刻注意擦身而过的车辆,即便是夜晚时,马路上疾驰而过的汽车声和鸣笛声也成为常态,让很多人不禁怀念起年少时的宁静的小……600年前,20个中国水手流落非洲小岛,建立千人村落,今鲜为明朝永乐三年(1405年),我国著名航海家郑和就组建了一支船队,开启了航海之旅。那一年,被西方世界称为航海时代开创者的亨利王子年仅11岁,麦哲伦和哥伦布还未出生。在郑和带……人生如棋识局者生,破局者存,掌局者赢人生天地间,若白驹过隙,忽然而已。人生来去匆匆,需得好好经营,认真思考,否则如白驹过隙,弹指一挥间,一下就过去了。人生如棋,棋如人生。01人生如棋,需明确目标……
成年人最顶级的本事熬《明朝那些事儿》的作者当年明月说:比我有才华的人,没有我努力,比我努力的人,没有我有才华,比我有才华又比我努力的人,没有我能熬。没有一个冬天不能逾越,没有一个春天不会到来……泰安岱庙街道花园社区开展阅读活动通讯员邢艺菲2月10日,泰安岱庙街道花园社区携手快乐幼儿园,开展书香花园乐享阅读全民阅读活动。活动中,孩子们认真聆听老师们讲解的猫头鹰相关知识及绘本内容,整个活动生……季后赛四场都打平!柯洁檀啸五连胜!99双杰战申朴一胜一负2022围甲季后赛第三轮第一场激烈演出!夺冠组、保级组竞争白热化,首轮四场赛事都以2:2握手言和。焦点对局:柯洁、陈贤历史对局记录:柯洁在功夫棋中一路落后,官……宝宝添加辅食后大便干,排便困难,3个原因4大对策帮你搞定原本拉粑粑一直很正常的宝宝,吃辅食后便便突然就变干了,娃拉起来特别费力,脸都憋红了,这是怎么回事呢?是不是辅食有问题?要不要用药?一般情况下,宝宝加辅食后大便干燥的原因有……43届天津世乒赛的绝地反击太精彩太刺激太给力了!电影中国乒乓之绝地反击电影《中国乒乓之绝地反击》即将再次公映,很值得期待。回望中国乒乓近年来的发展史,1995年43届天津世乒赛男团决赛绝对会永载史册,这是中国乒乓……莫言利益才是人类交往的根本莫言:你和任何人的关系,其实并不取决于你对别人有多好,而是取决于你的强弱,手上筹码的多少。人们普遍对强者比较宽容,而即便弱者没做错什么,也会被苛刻对待。就算你一味忍气吞声,往往……宋慧乔为什么对杏桃粉唇这么执着?随着复仇剧《黑暗荣耀》的火爆全网,第二季预告的释出又吊足了观众的胃口,当下宋慧乔的动向可谓是流量密码。要说乔妹的每一次的亮相总有惊喜,不被定义的风格,上一秒还是豪门千金暗……2023春夏十大流行色,太美了!文美物计夏到来音乐:everydayeverydayeveryday天地清明,春光乍泄,仿若陈梦初醒,世间陡然亮堂起来,朝晖、春夕、山花、新月,……孩子为什么说话不算数?搞明白这4个原因,孩子更容易说到做到!你的孩子有没有过这种情况?明明答应的要去上补习班,结果就是不去的;明明答应会认真写作业,却心浮气躁不在状态的;明明答应了会按时睡觉却仍然熬夜看动画片的。……我们的日子傅莹永远不知道,自己被辞退背后藏着算计《我们的日子》是一部年代剧,讲述了三十年时代变迁,在四个家庭两代人身上留下的故事。由李乃文、李小冉、周奇、周依然、孙浩、宋春丽等主演,还有众多实力戏骨,在剧中饰演重要角色,正在……OPPOFindN212GB256GB云白骁龙8120Hz镜外形外观:做为一款折叠手机,我认为尺寸比较适合女性的一款,折叠后大小操作起来很舒适的尺寸,平铺开满足大尺寸的观看,游戏的全新体验感。周边金属线条配合倒的圆角很高级拍照效果……一个男人,会这样回你消息,说明他已经对你入了心文森屿鹿林感情的世界里,缺的不是遇见,而是一份真心。有些人向你表白,向你表达喜欢,但却只是嘴上的甜言蜜语,从未对你付出真心,对你的爱也只是停留在表面的喜欢,是非常浅……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网