首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
麒文
掘友等级
iOS、Flutter
爱好篮球 、爬山、看剧
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
283
文章 283
沸点 0
赞
283
返回
|
搜索文章
最新
热门
Swift5探究:@dynamicMemberLookup与@dynamicCallable
dynamicMemberLookup是Swift4.2里更新的一个特性翻译出来就是动态成员查找。在使用@dynamicMemberLookup标记了对象后(对象、结构体、枚举、protocol),实现了subscript(dynamicMember member: Strin…
短视频从无到有 (十二)视频中插入另外一个视频(优酷App视频广告效果)
前言:昨天躺床上在优酷app看片时,看到优酷视频中播放视频广告的效果非常好,想到实现这个效果时,无外乎三个方法。方法如下: 初始化两个视频播放器,提前预加载好广告视频,等到要播放视频广告时,暂停正在播放的视频,切换到视频广告播放。此种方法在切换时画面不是很流畅,可增加过渡动画,…
短视频从无到有 (十一)视频自定义区域裁剪
项目中有一个视频自定义区域裁剪的需求,即:用户选取要裁剪的区域去剪辑,区域之外的视频画面会被丢弃。实现效果如下: 如图所示,视频页面上是一个拖拽框,添加手势,使之可以自由调节大小,也可以按比例调节大小,按照选取的范围去裁剪视频。好了,UI层面上的东西不再多说。裁剪视频需要用到可…
短视频从无到有 (十)视频自定义时间剪辑
实现视频自定义时间这个需求还是很简单,AVFoundation提供的AVAssetExportSession这个类可以很方便的实现这个功能。效果图如下: 左右两边的拖拽框添加手势事件,通过触摸点的变化算出要seek的时间,调用playerView的seekToTime:方法即可…
短视频从无到有 (九)图片合成视频及图片压缩
其实,视频的画面就是一帧帧的图片,当帧率大于16也就是一秒钟有16张以上的图片时,人类的视觉就觉得它是连续的。所以,视频画面可以分解成图片,图片也可以合成视频画面。 AVFoundation库可以很方便的操作多媒体设备,AVAssetWriter这个类可以方便的将图像和音频写成…
短视频从无到有 (八)视频速率调节
录制好的视频我们可以处理成慢速或者快速的效果。还是十分简单,AVMutableCompositionTrack这个类已经开放了接口scaleTimeRange: toDuration:,我们只需要处理成所想要的效果即可。不多说,还是直接上代码: 注意这里与实时慢速拍摄视频不同。…
短视频从无到有 (七)视频添加滤镜
有了GPUImage,我们可以十分方便的给视频添加滤镜。例如,我们可以在播放时实时的给视频添加滤镜,以观察效果。代码如下: 注:3秒后保存到本地相当于按钮事件,示例而已。movieWriter相当于把视频重写一遍,完成回调后要移除target,还要结束录制。 有什么问题欢迎留言…
短视频从无到有 (六)视频合成及压缩、转换格式
视频合成中依然用到了AVMutableComposition,思路依然很简单,取出视频轨和音频轨数据加入到可变轨道之中。不多说,还是贴代码吧: 注:创建AVURLAsset时,如果是本地视频则用fileURLWithPath:函数,如果是网络视频,则调用URLWithStrin…
短视频从无到有 (五)录制视频实时添加水印
上篇文章已经讲到给录制好的视频添加水印,这篇文章主要阐述下如何使用GPUImage给实时录制视频添加水印的思路。 原理如下:GPUImagePicture、GPUImageVideoCamera均可作为纹理来源,我们将两个纹理来源交给混合滤镜,混合滤镜将两种纹理按相乘颜色照矩阵…
短视频从无到有 (四)视频添加水印
给视频添加水印的原理是把视频的每一帧都重新渲染,这个功能我们可以用GPUImage和AVFoundation两个框架来做。下面,我就来详细阐述这两种不同的方案。 6.导出视频。导出视频依然使用的是AVAssetExportSession 注:必须判断是否有音频[[videoAs…
下一页
个人成就
文章被点赞
170
文章被阅读
113,555
掘力值
2,072
关注了
82
关注者
70
收藏集
2
关注标签
6
加入于
2016-12-22