分享一下怎么开发一款图片视频类App,秒拍和prisma
第一步,分解短视频App的功能
我们在秒拍官网看到如此描述:
- 【视频拍摄及导入】支持直接拍摄及导入手机本地的视频
- 【照片电影】照片专属特效,轻松创作照片电影
- 【MV特效】10余款全新MV特效,让普通视频一键变大片
- 【情境滤镜】专业的视频滤镜,让人像、风景视频更加惊艳
- 【精美配乐】精选各类风格的背景音乐,让视频重现电影大片的气氛
- 【丰富内容】在秒拍,你可以发现有趣的内容或参与各类活动话题
除去这些亮点功能,它还将包括:
- 评论功能:可在自己喜欢或想吐槽的短视频下进行评论
- 视频存储功能:每一个用户拍摄短视频后都将上传到秒拍中,这样关注自己的粉丝都将看到
- 分享功能:将视频分享到微博、微信、QQ等其他社交媒体中
第二步,找到合适的云服务SDK进行嵌入,在APICloud的聚合API中可以轻易找到以上的功能模块,挑选合适的模块封装到自己的App中
注意:秒拍App中的核心功能可以使用APICloud中的模块进行实现,然而由于模块是作为基本功能存在的,最终呈现的效果具有一定的差异。还需各位自行进行更高级的设置和修改。秒拍App具有一些炫酷的UI界面和滤镜效果需要你们自己来更深层的研究啦
- 视频拍摄及导入:videoRecorder,svideo,recordVideo,miniVideoRecorder,qupai,mimiQuPai等模块
例如videoRecorder模块,它封装了原生录像机的相关功能,通过本模块的 open 接口可打开摄像头的 frame ,可通过相应参数配置其位置、大小、视频质量、保存路径等信息。开发者可通过 open 一个自定义界面的 frame 覆盖在本模块上来自定义录像界面。
又如,趣拍SDK是杭州短趣和阿里巴巴联合提供的短视频拍摄SDK,为广大移动应用开发者提供免费、简单、快捷、稳定的接口,帮助开发者快速实现自有APP上的短视频应用开发。 其中包含短视频拍摄、水印、拍摄码率等的自定义设置,并自带美颜功能。

2.照片电影、MV特效、情境滤镜:imageFilter模块
imageFilter 模块封装了对图片按照指定效果过滤的功能,过滤后的图片可保存到指定目录

3.及时通讯(评论功能):融云,环信等模块,也可以自己通过socketManager自己封装协议实现
4.视频存储:视频回放功能的实现其实是录像+存储到服务器中,因此使用APICloud的数据云功能,或是七牛云存储,又拍云等模块都可以实现
5.视频分享:微信、新浪微博、QQ等平台分享模块
第三步:进行App开发5步骤
APICloud开发5步骤之前说过很多次,再说一遍,反正小编不嫌烦~
1.App框架搭建,在APICloud Studio中直接创建应用框架,有三个常用页面框架备选
2.积木式拼装,将所有你挑选好的模块,用JavaScript编写页面及模块调用,运用HTML5+CSS3搭建应用的界面UI,完成App编码全过程。
3.真机调试,通过模拟器和真机调试功能进行App优化,一键点击即可在iOS和Android手机中进行App优化。
4.云编译,在APICloud官网上传App的icon、启动页和证书,一键“云编译”即可同时生成iOS和Android的原生安装包。
5.云修复,使用云修复快速迭代,随时发布新版本、新功能,无需提交新的安装包。
短视频开发完成后,我们来计算一下开发成本。在这些所用的模块中,视频拍摄的模块是收费的,几百元不等。其他模块甚至于其他开发步骤均是免费。(详情进入apicloud.com官网查询)
最后,我们顺便来讲解一下图片处理类App,相信最近大家被俄罗斯国民应用prisma刷了屏。这款应用功能简单但逼格超高,任何一张图片可以加入艺术大师的滤镜,分分钟成为艺术作品!类似于这样的App,直接使用imageFilter 模块进行开发即可,如果模块中的滤镜不够使用,还可以自行再修改。
分享一下怎么开发一款图片视频类App,秒拍和prisma的更多相关文章
- Android音乐、视频类APP常用控件:DraggablePanel(1)
Android音乐.视频类APP常用控件:DraggablePanel(1) Android的音乐视频类APP开发中,常涉及到用户拖曳视频.音乐播放器产生一定交互响应的设计需求,最典型的以You ...
- Android音乐、视频类APP常用控件:DraggablePanel(2)
Android音乐.视频类APP常用控件:DraggablePanel(2) 附录文章1主要演示了如何使用DraggablePanel 的DraggableView.DraggablePanel ...
- 尝试用python开发一款图片压缩工具1:尝试 pillow库
开发目的 我经常使用图片.公众号文章发文也好,还是生活中要使用素材.图片是一种比文字更加直观的载体.但是图片更加占用带宽,很多软件都对图片有大小限制.图片太大也会影响加载速度.我试过几款图片压缩工具, ...
- “乐”动人心--2017年10款最佳音乐类APP设计盘点
在上下班的路上,听几首自己喜欢的音乐来打发无聊的等公交车和地铁的时间是现代年轻人的常态.音乐作为最能鼓动人心的"语言",也成为了人们在互联网生活里占比例最高的消费活动之一,一款好看 ...
- 开发一款图片压缩工具(三):使用 click 实现命令行
上一篇实现了图片的压缩函数.现在如果需要对图片进行压缩,可以调用实现的函数进行压缩: pngquant_compress('elephant.png', force=True, quality=20) ...
- 开发一款图片压缩工具(二):使用 pngquant 实现图片压缩
上一篇我尝试使用了 pillow 库对 png 图片进行了压缩,效果不好.这次我换用 pngquant 来压缩.pngquant 是用于 PNG 图像有损压缩的命令行实用程序和库.压缩程序会显著减小文 ...
- python 开发一款图片压缩工具(四):上传图床
上一篇使用了 pngquant 图片压缩工具进行压缩,并通过 click 命令行工具构建了 picom 包.这篇的主要功能是实现图片上传. 图片上传功能的实现 通过 pngquant 压缩图片后,得到 ...
- Android开发之获取本地视频和获取自拍视频
1.获取本地所有视频 public void getLoadMedia() { Cursor cursor = UILApplication.instance.getApplicationContex ...
- 使用APICloud平台一周时间开发出休闲娱乐内容类APP
这款app是我花一周左右时间做出来的,一款阅读笑话,段子,糗事,脑筋急转弯,神回复,语录,谜语等的休闲娱乐app,用户除了可以浏览他人发布的内容外,自己也可以发布相关内容,和其他人一同分享有趣的内容, ...
随机推荐
- 一些开发遇到的"小问题",你能答对多少?
我会把问题先写在前面,答案用白色字体写在后面.所以用鼠标选择文本就可以看到答案啦. 调用await后因为切换了线程环境(这种说法可能不严谨,但我只能想到这种说法),httpcontext会为null. ...
- 《GK101任意波发生器》升级固件发布(版本:1.0.2build690)
一.固件说明: 硬件版本:0,logic.3 固件版本:1.0.2.build690 编译日期:2015年4月24日 ====================================== 二. ...
- [听听音乐]when you believe [singer: mariah carey]
movie: prince of egypt Lyrics Many nights we prayed With no proof anyone could hear In our hearts ...
- PHP 设计模式 笔记与总结(5)PHP 魔术方法的使用
PHP 魔术方法的使用 ① __get/__set:将对象的属性进行接管 当访问一个不存在的对象属性时: index.php <?php define('BASEDIR',__DIR__); / ...
- placeholder属性实现text标签默认值提示用户
<input type="text" class="searchTxt" id=this.id+"-searchTxt" placeh ...
- PHP网络操作函数汇总
PHP网络操作函数汇总 投稿:junjie 字体:[增加 减小] 类型:转载 这篇文章主要介绍了PHP网络操作函数汇总,本文列举了如gethostbyaddr.gethostbyname.head ...
- Unity4.5版本DLL库名字问题
背景 在unity4.2版本中可以在Android中使用的so链接库,在Unity4.5中使不了-- [DllImport("libclient.so", EntryPoint ...
- java--字符串替换replace,replaceAll,replaceFirst
1.字符串替换,replace string s="abcdfersabcdsgacabc"; 将字符串中的abc替换成bdf s.replace("abc", ...
- phpspec安装配置
安装 composer require phpspec/phpspec -dev 运行 bin/phpspec 在laravel中 vendor/bin/phpspec 配置phpspec.ym ...
- Apache Kafka源码分析 - PartitionStateMachine
startup 在onControllerFailover中被调用, initializePartitionState private def initializePartitionState() { ...