当前位置: 首页 > news >正文

上海中国建设银行网站关键词推广seo

上海中国建设银行网站,关键词推广seo,怎么做这个购物网站,dedecms视频网站开发绿幕(green screen)技术,又称 chroma key effect,实际上是将图片上指定颜色设置为透明的图形处理技术,这些透明区域也可以被任意背景图片替换。 这种技术在 视频合成中被广泛使用。iOS 中,通过 CoreImage …

绿幕(green screen)技术,又称 chroma key effect,实际上是将图片上指定颜色设置为透明的图形处理技术,这些透明区域也可以被任意背景图片替换。

这种技术在 视频合成中被广泛使用。iOS 中,通过 CoreImage 的某些滤镜比如 CIBlendWithMask 可以实现这种效果,但是实现过程比较繁琐。然而功夫不负有心人,在 Github 上我们找到一个现成的实现:GitHub - quentinfasquel/MyTransparentVideoExample: A simple example of how to play a transparent video in a UIView

打开项目,可以看到一个 playdoh-bat.mp4 文件,这种视频文件具有特殊格式,并非一般的 mp4,实际上它的每一帧都可以被分成上下两部分(两帧合成一帧):

上半帧是原图,下半帧是 mask,将下半帧叠在上半帧之上,先把白色部分用上半帧的像素填充,黑色的部分用透明像素填充,形成“绿幕”效果。它的使用非常简单,通过框架提供的 AVPlayerView 类来使用它。

首先初始化一个 AVPlayerView 并添加到 View 中:

let playerView = AVPlayerView(frame: CGRect(origin: .zero, size: videoSize))
view.addSubview(playerView)

AVPlayerView 上自带了一个 AVPlayerLayer,AVPlayerView 实际上是用它来播放视频的。当然在播放之前,你需要将这个特殊的 mp4 格式合成绿幕效果应用之后的 AVPlayerItem:

let itemUrl: URL = Bundle.main.url(forResource: "playdoh-bat", withExtension: "mp4")!
let playerItem = createTransparentItem(url: itemUrl)

createTransparentItem 方法中,你需要调用 特殊的滤镜特效 AlphaFrameFilter 进行视频的合成:

		func createTransparentItem(url: URL) -> AVPlayerItem {let asset = AVAsset(url: url)let playerItem = AVPlayerItem(asset: asset)// Set the video so that seeking also renders with transparencyplayerItem.seekingWaitsForVideoCompositionRendering = true// Apply a video composition (which applies our custom filter)playerItem.videoComposition = createVideoComposition(for: asset)return playerItem}func createVideoComposition(for asset: AVAsset) -> AVVideoComposition {let filter = AlphaFrameFilter(renderingMode: .builtInFilter)let composition = AVMutableVideoComposition(asset: asset, applyingCIFiltersWithHandler: { request indo {let (inputImage, maskImage) = request.sourceImage.verticalSplit()let outputImage = try filter.process(inputImage, mask: maskImage)return request.finish(with: outputImage, context: nil)} catch {os_log("Video composition error: %s", String(describing: error))return request.finish(with: error)}})composition.renderSize = asset.videoSize.applying(CGAffineTransform(scaleX: 1.0, y: 0.5))return composition}

AlphaFrameFilter 类继承了 CIFilter,实现了绿幕特效(框架已经提供)。

最后播放 AVPlayItem:

				playerView.loadPlayerItem(playerItem) { [weak self] result inswitch result {case .failure(let error):return print("Something went wrong when loading our video", error)case .success(let player):// Finally, we can start playingplayer.play()// Animate backgroundself?.animateBackgroundColor()}}

在回调块中处理错误。最终运行效果如图:

原视频中的背景被 view controller 中的背景色(绿色)替换,可见实际上播放的是合成特效后的视频而非原视频。

http://www.wangmingla.cn/news/150432.html

相关文章:

  • 重庆永川网站建设价格四川旅游seo整站优化站优化
  • 在网站让照片滚动怎么做百度热议排名软件
  • 屏蔽某网站怎么做长沙seo网站
  • a站在线观看人数在哪seo怎么优化方法
  • 彩票网站为啥链接做两次跳转电工培训课程
  • 专业企业展厅设计公司长沙百度首页优化排名
  • 网站底部样式seo网站搭建是什么
  • 做我的世界壁纸的网站柏乡seo快排优化
  • 商城网站建设流程图百度开放平台登录
  • 做网站最省钱下拉框关键词软件
  • 做音频主播的网站重庆seo整站优化报价
  • 连锁酒店网站方案seo搜索引擎优化入门
  • 电子商城网站制作seo网站关键词优化报价
  • 网站后台无法修改信息搜索引擎关键词竞价排名
  • 西安网站优化培训建立网站的基本流程
  • dw建设网站的代码模板下载搜狐财经峰会直播
  • 网站网站建设费进什么科目国内做网站比较好的公司
  • 滨州网站seo服务企业管理软件排名
  • 网站速度测试百度关键词优化技巧
  • 网站劫持是怎么做的合作seo公司
  • 清河网站建设网络公司谷歌搜索引擎免费入口 香港
  • 设计类网站app公司怎么在百度上推广
  • 基于jsp的电子商务网站开发西安seo顾问
  • 如何维护自己公司的网站如何提高网站排名seo
  • 建设银行网站怎么查自己账号吗怎么在百度发布免费广告
  • 网页网站项目综合网络营销工程师前景
  • 网站建设效果长沙百度网站推广公司
  • 做调查问卷能挣钱的网站东莞seo排名扣费
  • 有域名做网站关键词优化的作用
  • 广州推广型网站建设各城市首轮感染高峰期预测