APP开发对于如何处理视频文件,博纳网络在上一篇文章中介绍过使用工具FFmpeg进行调用转换,深圳APP开发公司本文具体介绍后台调用FFmpeg的功能,使用FFmpeg进行视频转换很简单,例如:把AVI转换为MP4可使用下面的命令行
在后台语言中怎么调用FFmpeg进行格式转换?
一个常见的思路是通过构造命令行的万式,把上面命令行构造出来,然后在后台语言中调用FFmpeg执行文件有一个javai周用FFⅢpeg开源项目jave(工页:http://www.saulonsoflwal.it/projects/jaVe/)就是这样实观。但这个项目中的FFlnpeg版本已经很旧,如果需要,可以替换FFmpeg为最新版本。下面的例子用jave这个项目的代码把某个AVI格式的视频转换成FLV格式
File s:,urce = new File ( "source . aw " ) ;
File target = new File ( "target.fiv") ;
audio. setC :,dec ( "libmp 31ame " ) ;
audio.setEitFate (new Integer ( 64000》 ;
audio.setChannels (new Integer (1》 ;
audio.setSamplingPate (new Integer (::050》 ;
VideoAttributes video = new VideoAttributes ( ) ;
video.setC:,dec("fiv");
video.setEitFate (new Integer (160000》 ;
video.setFrameFate (new Integer (15》 ;
video.setSize (new VideoSize (400, 300》 ;
EncodingAttributes attrs = new EncodingAttributes ( ) ;
attrs.setF:,rmat ("fiv") ;
attrs.setAudioAtt ributes ( audio) ;
attrs.setVideoAtt ributes (video) ;
Encoder encoder = new Enc:,der();
encode r . encode ( s :,u rce, t arcje t, at t rs ) ;
上面代码中通过类AudioAttributes和VideoAttributes设置丁相关的参数,在类Encoder中把这些参数构造成命令行执行FFmpeg相关的命令。
注意:视频、音频相关的操作一般非常耗费CPU资源,在上面的例子中,把视频从AVI格式转换威FLV格式的过程中,系统的相关资源状况如图3-12所示。
APP开发视频处理效果图3-12调用FFmpeg时系统的相关资源状况
从上图可看到FFmpeg占用了差不多90%的CPU资源。App后台要快速处理视频就需要高性能的服务器集群,但是对于创业型公司来说,在服务器这方面的开支是非常不合算的。因此创业型公司可充分运用云服务,例如七牛提供的服务就包含音/视频格式的转换,调用非常方便,如图3 13所示。
深圳APP开发公司关于后台制作时对于视频、音频处理工具以及使用方法的介绍,本文就到此结束。下期我们继续分享后台制作时我们APP开发工程师是如何获取apk文件资源的。