SlideShare une entreprise Scribd logo
1  sur  36
Télécharger pour lire hors ligne
Renaissance 2014:

Master Video

Bob McCune
@bobmccune
Vatican Square

Anything look different?
Vatican Square

Anything look different?
Vatican Square

Anything look different?
Vatican Square

Anything look different?
AV Foundation
Overview
‣

Objective-C framework for advanced media processing
‣
‣

‣

High performance, asynchronous processing
Hardware accelerated handling of AV media

Available in its current form since iOS 4
‣

‣

Significant additions and enhancements iOS 6 and 7

Apple’s focus for media apps on both iOS and Mac
iOS Media Environment
An Embarrassment of Riches
AssetsLibrary

UIKit

MediaPlayer

AV	
  Founda6on

CoreAudio

CoreMedia

CoreVideo

CoreAnima6on
Media Assets

Understanding Assets
AVAsset provides abstract representation of media resource

‣ Abstracts away the format and location
AVAssetTrack models the individual media streams within an asset

‣ Tracks are of a uniform type (video, audio, etc.)

AVAssetTrack (Video)

AVAssetTrack (Audio)
Media Playback
AVPlayer

Playback Controller
‣

AVPlayer is a controller for managing playback
-

pause

-

‣

play
seekToTime:

Use KVO to observe playback readiness and state
-

‣

status

Timed Observations
-

addPeriodicTimeObserverForInterval:queue:usingBlock

-

addBoundaryTimeObserverForInterval:queue:usingBlock
Playing Media

Static vs Dynamic Models
‣

AV Foundation distinguishes between static and dynamic
aspects of media
AVAsset
AVAsset
AVAssetTrack

AVAsset

S ta t i c

AVPlayerItemTrack
AVPlayerItemTrack

AVPlayerItem

AVPlayerItemTrack

Dy n a m ic
Video Playback
Playback In Action
AVAsset

AVAsset
AVAsset
AVAssetTrack

AVPlayerItem

AVPlayerItemTrack
AVPlayerItemTrack

AVPlayerItemTrack

AVPlayer
Video Playback
Playback In Action
AVPlayerItem

AVPlayerItemTrack
AVPlayerItemTrack

AVPlayerItemTrack

AVPlayer

AVPlayerLayer
Demo
Composing Media
Composing Assets
AVComposition

‣ Concrete extension of AVAsset
‣ Composes asset segments on a timeline
Composing Assets
Tracks and Segments

AVMutableComposition *composition = [AVMutableComposition composition];

AVComposition
Composing Assets
Tracks and Segments

AVMutableCompositionTrack *videoTrack =
[composition addMutableTrackWithMediaType:AVMediaTypeVideo preferredTrackID:0];
AVMutableCompositionTrack *audioTrack =
[composition addMutableTrackWithMediaType:AVMediaTypeAudio preferredTrackID:1];

AVComposition
AVCompositionTrack (Video)

AVCompositionTrack (Audio)
Composing Assets
Tracks and Segments

AVAssetTrack *srcVideoTrack1 = // source video track 1
[videoTrack insertTimeRange:timeRange ofTrack:srcVideoTrack1 atTime:startTime error:&error];
AVAssetTrack *srcVideoTrack2 = // source video track 2
[videoTrack insertTimeRange:timeRange ofTrack:srcVideoTrack2 atTime:startTime error:&error];
AVAssetTrack *srcAudioTrack = // source audio track
[audioTrack insertTimeRange:timeRange ofTrack:srcAudioTrack atTime:startTime error:&error];

AVComposition
AVCompositionTrack (Video)
AVCompositionTrackSegment

AVCompositionTrackSegment

Seconds 10-30 of “goldengate.m4v”

Seconds 20-60 of “wharf.m4v”

AVCompositionTrack (Audio)
AVCompositionTrackSegment
Seconds 0-60 of “soundtrack.m4a”
Demo
Mixing Audio
Audio Mixing
AVAudioMix
‣
‣

Composition tracks play at their natural volume
AVAudioMix applies track-level volume adjustments
‣

Composed of AVAudioMixInputParameters

‣

Parameters control individual track volume over time

Time

Time Range
Demo
Video Transitions
Video Transitions
AVVideoComposition
AVVideoComposition

AVVideoCompositionInstruction
AVVideoCompositionInstruction
AVVideoCompositionInstruction

Defines how two or more video tracks
are composited together
Configured through collection of
composition instructions describing
compositing behavior
Video Transitions

AVVideoCompositionInstruction
AVVideoComposition

AVVideoCompositionInstruction
AVVideoCompositionInstruction
AVVideoCompositionInstruction

AVAsset
AVAsset
AVVideoCompositionLayerInstruction

Defines the time range of compositing
behavior
Composed of layer instructions
describing compositing behavior
Video Transitions

AVVideoCompositionLayerInstruction
AVVideoComposition

AVVideoCompositionInstruction
AVVideoCompositionInstruction
AVVideoCompositionInstruction

AVAsset
AVAsset
AVVideoCompositionLayerInstruction

Defines the transform and opacity
ramps of input layers
Transform and opacity changes
modified over given time range
Demo
Layering Content
Layering Content
Core Animation

Core Animation a natural choice
‣
‣

High performance, inherently time-based
CALayer subclasses used for all video rendering
CALayer: used to layer images and text
CAAnimation: used to animate layered content

CABasicAnimation
CAKeyframeAnimation
Animation Timing
AVSynchronizedLayer
‣

Core Animation operates on host time
‣

‣

Starts at boot, marches towards infinity
AVSynchronizedLayer

Timeline animations need to use movie time
‣

Starts at time zero and runs to duration

‣

‣

AVPlayerItem

Can be started, stopped, rewound, etc.

Timing

CATextLayer

Use AVSynchronizedLayer to use movie time
‣

Confers player item timing on to its sublayer tree

CABasicAnimation
Core Animation

Timeline vs Realtime Animations
‣

Exactly the same, almost...
‣

Animations with zero beginTime won’t be seen
‣

‣

Set beginTime = AVCoreAnimationBeginTimeZero

Animations removed by default
‣

Set removedOnCompletion = NO

‣

Unable to use CAAnimationGroup?
Demo
Summary

Master iOS Video with AV Foundation!
‣

Powerful tools for audio and video playback
‣

‣

AVPlayer, AVPlayerItem, AVPlayerLayer

Powerful tools for composing/editing media:
‣
‣

AVAudioMix

‣

AVVideoComposition

‣

‣

AVComposition

AVSynchronizedLayer

Relatively steep learning curve, but worth the investment!
Resources
Presentation Materials
http://www.speakerdeck.com/bobmccune/
https://github.com/tapharmonic/AVFoundationEditor

Learning AV Foundation
http://my.safaribooksonline.com/9780133563856

Contact Info
http://bobmccune.com
@bobmccune

Contenu connexe

Tendances

これからはじめるインフラエンジニア
これからはじめるインフラエンジニアこれからはじめるインフラエンジニア
これからはじめるインフラエンジニア
外道 父
 

Tendances (20)

オンラインで同期した100体の巨大生物から地球を衛る方法 UNREAL FEST EXTREME 2021 SUMMER
オンラインで同期した100体の巨大生物から地球を衛る方法  UNREAL FEST EXTREME 2021 SUMMERオンラインで同期した100体の巨大生物から地球を衛る方法  UNREAL FEST EXTREME 2021 SUMMER
オンラインで同期した100体の巨大生物から地球を衛る方法 UNREAL FEST EXTREME 2021 SUMMER
 
Streaming media presentation
Streaming media presentationStreaming media presentation
Streaming media presentation
 
Video editing
Video editingVideo editing
Video editing
 
5分でわかる Unity点群
5分でわかる Unity点群5分でわかる Unity点群
5分でわかる Unity点群
 
CEDEC 2018 バーチャルキャラクターをリアルイベントへ召還する技術
CEDEC 2018 バーチャルキャラクターをリアルイベントへ召還する技術CEDEC 2018 バーチャルキャラクターをリアルイベントへ召還する技術
CEDEC 2018 バーチャルキャラクターをリアルイベントへ召還する技術
 
Amazon Connect ハンズオン初級編
Amazon Connect ハンズオン初級編Amazon Connect ハンズオン初級編
Amazon Connect ハンズオン初級編
 
Swiftで、Webサーバにデータを送信・登録しよう!
Swiftで、Webサーバにデータを送信・登録しよう!Swiftで、Webサーバにデータを送信・登録しよう!
Swiftで、Webサーバにデータを送信・登録しよう!
 
Video formats
Video formatsVideo formats
Video formats
 
[AKIBA.AWS] AWS Elemental MediaConvertから学ぶコーデック入門
[AKIBA.AWS] AWS Elemental MediaConvertから学ぶコーデック入門[AKIBA.AWS] AWS Elemental MediaConvertから学ぶコーデック入門
[AKIBA.AWS] AWS Elemental MediaConvertから学ぶコーデック入門
 
【Photon勉強会】1時間でわかるプラグイン開発とその実際(2017/3/23講演)
【Photon勉強会】1時間でわかるプラグイン開発とその実際(2017/3/23講演)【Photon勉強会】1時間でわかるプラグイン開発とその実際(2017/3/23講演)
【Photon勉強会】1時間でわかるプラグイン開発とその実際(2017/3/23講演)
 
UE4におけるエフェクトの基本戦略事例 後半
UE4におけるエフェクトの基本戦略事例  後半UE4におけるエフェクトの基本戦略事例  後半
UE4におけるエフェクトの基本戦略事例 後半
 
メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例
メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例
メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例
 
これからはじめるインフラエンジニア
これからはじめるインフラエンジニアこれからはじめるインフラエンジニア
これからはじめるインフラエンジニア
 
Unityで始めるバーチャルプロダクション
Unityで始めるバーチャルプロダクションUnityで始めるバーチャルプロダクション
Unityで始めるバーチャルプロダクション
 
WVD (Windows Virtual Desktop) 概要
WVD (Windows Virtual Desktop) 概要WVD (Windows Virtual Desktop) 概要
WVD (Windows Virtual Desktop) 概要
 
Moresampler 0.2.0 の使い方
Moresampler 0.2.0 の使い方Moresampler 0.2.0 の使い方
Moresampler 0.2.0 の使い方
 
ビジュアルスクリプティングで始めるUnity入門1日目 プレイヤーを動かそう
ビジュアルスクリプティングで始めるUnity入門1日目 プレイヤーを動かそうビジュアルスクリプティングで始めるUnity入門1日目 プレイヤーを動かそう
ビジュアルスクリプティングで始めるUnity入門1日目 プレイヤーを動かそう
 
UE4で”MetaHumanを使わずに”耳なし芳一になる10の方法 | UE4 Character Art Dive Online
UE4で”MetaHumanを使わずに”耳なし芳一になる10の方法 | UE4 Character Art Dive OnlineUE4で”MetaHumanを使わずに”耳なし芳一になる10の方法 | UE4 Character Art Dive Online
UE4で”MetaHumanを使わずに”耳なし芳一になる10の方法 | UE4 Character Art Dive Online
 
AWS 를 활용한 저지연 라이브 (Low Latency Live) 서비스 구현 - 류재춘 컨설턴트/에반젤리스트, GS Neot다 :: AW...
AWS 를 활용한 저지연 라이브 (Low Latency Live) 서비스 구현 - 류재춘 컨설턴트/에반젤리스트, GS Neot다 :: AW...AWS 를 활용한 저지연 라이브 (Low Latency Live) 서비스 구현 - 류재춘 컨설턴트/에반젤리스트, GS Neot다 :: AW...
AWS 를 활용한 저지연 라이브 (Low Latency Live) 서비스 구현 - 류재춘 컨설턴트/에반젤리스트, GS Neot다 :: AW...
 
【Unity道場スペシャル 2017博多】TextMesh Pro を使いこなす
【Unity道場スペシャル 2017博多】TextMesh Pro を使いこなす【Unity道場スペシャル 2017博多】TextMesh Pro を使いこなす
【Unity道場スペシャル 2017博多】TextMesh Pro を使いこなす
 

En vedette

Core Graphics & Core Animation
Core Graphics & Core AnimationCore Graphics & Core Animation
Core Graphics & Core Animation
Andreas Blick
 

En vedette (20)

Drawing with Quartz on iOS
Drawing with Quartz on iOSDrawing with Quartz on iOS
Drawing with Quartz on iOS
 
Creating Container View Controllers
Creating Container View ControllersCreating Container View Controllers
Creating Container View Controllers
 
Quartz 2D with Swift 3
Quartz 2D with Swift 3Quartz 2D with Swift 3
Quartz 2D with Swift 3
 
Building Modern Audio Apps with AVAudioEngine
Building Modern Audio Apps with AVAudioEngineBuilding Modern Audio Apps with AVAudioEngine
Building Modern Audio Apps with AVAudioEngine
 
Core Animation
Core AnimationCore Animation
Core Animation
 
Objective-C for Java Developers
Objective-C for Java DevelopersObjective-C for Java Developers
Objective-C for Java Developers
 
Forward Swift 2017: Media Frameworks and Swift: This Is Fine
Forward Swift 2017: Media Frameworks and Swift: This Is FineForward Swift 2017: Media Frameworks and Swift: This Is Fine
Forward Swift 2017: Media Frameworks and Swift: This Is Fine
 
AVFoundation @ TACOW 2013 05 14
AVFoundation @ TACOW 2013 05 14AVFoundation @ TACOW 2013 05 14
AVFoundation @ TACOW 2013 05 14
 
Video Editing in iOS
Video Editing in iOSVideo Editing in iOS
Video Editing in iOS
 
Introduction to AV Foundation
Introduction to AV FoundationIntroduction to AV Foundation
Introduction to AV Foundation
 
Starting Core Animation
Starting Core AnimationStarting Core Animation
Starting Core Animation
 
Mobile Movies with HTTP Live Streaming (CocoaConf DC, March 2013)
Mobile Movies with HTTP Live Streaming (CocoaConf DC, March 2013)Mobile Movies with HTTP Live Streaming (CocoaConf DC, March 2013)
Mobile Movies with HTTP Live Streaming (CocoaConf DC, March 2013)
 
Stupid Video Tricks
Stupid Video TricksStupid Video Tricks
Stupid Video Tricks
 
Animation in iOS
Animation in iOSAnimation in iOS
Animation in iOS
 
20 iOS developer interview questions
20 iOS developer interview questions20 iOS developer interview questions
20 iOS developer interview questions
 
iOS Developer Interview Questions
iOS Developer Interview QuestionsiOS Developer Interview Questions
iOS Developer Interview Questions
 
Core Graphics & Core Animation
Core Graphics & Core AnimationCore Graphics & Core Animation
Core Graphics & Core Animation
 
Graphics Libraries
Graphics LibrariesGraphics Libraries
Graphics Libraries
 
try! Swift - Advanced Graphics with Core Animation
try! Swift - Advanced Graphics with Core Animationtry! Swift - Advanced Graphics with Core Animation
try! Swift - Advanced Graphics with Core Animation
 
Designing better user interfaces
Designing better user interfacesDesigning better user interfaces
Designing better user interfaces
 

Similaire à Master Video with AV Foundation

Standardize Your Flash with Adobe OSMF (0.9)
Standardize Your Flash with Adobe OSMF (0.9)Standardize Your Flash with Adobe OSMF (0.9)
Standardize Your Flash with Adobe OSMF (0.9)
rblank9
 
HE Forum CCB Streaming. Mark Wilson
HE Forum CCB Streaming. Mark WilsonHE Forum CCB Streaming. Mark Wilson
HE Forum CCB Streaming. Mark Wilson
HAROLDFRICKER
 
dat-Post-Producer-final
dat-Post-Producer-finaldat-Post-Producer-final
dat-Post-Producer-final
Scott Matics
 
Introduction GStreamer
Introduction GStreamerIntroduction GStreamer
Introduction GStreamer
Shih-Yuan Lee
 

Similaire à Master Video with AV Foundation (20)

[@NaukriEngineering] Video handlings on apple platforms
[@NaukriEngineering] Video handlings on apple platforms[@NaukriEngineering] Video handlings on apple platforms
[@NaukriEngineering] Video handlings on apple platforms
 
SWF to AVI Converter
SWF to AVI ConverterSWF to AVI Converter
SWF to AVI Converter
 
Standardize Your Flash with Adobe OSMF (0.9)
Standardize Your Flash with Adobe OSMF (0.9)Standardize Your Flash with Adobe OSMF (0.9)
Standardize Your Flash with Adobe OSMF (0.9)
 
iOSDC 2018 動画をなめらかに動かす技術
iOSDC 2018 動画をなめらかに動かす技術iOSDC 2018 動画をなめらかに動かす技術
iOSDC 2018 動画をなめらかに動かす技術
 
8
88
8
 
Optimising video delivery - Brightcove PLAY 2019
Optimising video delivery - Brightcove PLAY 2019Optimising video delivery - Brightcove PLAY 2019
Optimising video delivery - Brightcove PLAY 2019
 
HE Forum CCB Streaming. Mark Wilson
HE Forum CCB Streaming. Mark WilsonHE Forum CCB Streaming. Mark Wilson
HE Forum CCB Streaming. Mark Wilson
 
The Secrets of SVC (NBU)
The Secrets of SVC (NBU)The Secrets of SVC (NBU)
The Secrets of SVC (NBU)
 
Utilizing AVFoundation at dubsmash
Utilizing AVFoundation at dubsmashUtilizing AVFoundation at dubsmash
Utilizing AVFoundation at dubsmash
 
dat-Post-Producer-final
dat-Post-Producer-finaldat-Post-Producer-final
dat-Post-Producer-final
 
20200331 AWS Black Belt Online Seminar AWS Elemental MediaConvert
20200331 AWS Black Belt Online Seminar AWS Elemental MediaConvert20200331 AWS Black Belt Online Seminar AWS Elemental MediaConvert
20200331 AWS Black Belt Online Seminar AWS Elemental MediaConvert
 
Introduction GStreamer
Introduction GStreamerIntroduction GStreamer
Introduction GStreamer
 
voip2day 2016: mediasoup, powerful WebRTC SFU for Node.js
voip2day 2016: mediasoup, powerful WebRTC SFU for Node.jsvoip2day 2016: mediasoup, powerful WebRTC SFU for Node.js
voip2day 2016: mediasoup, powerful WebRTC SFU for Node.js
 
HTML5 Multimedia Accessibility
HTML5 Multimedia AccessibilityHTML5 Multimedia Accessibility
HTML5 Multimedia Accessibility
 
yapi.js introduction (mopcon 2016 version)
yapi.js introduction (mopcon 2016 version)yapi.js introduction (mopcon 2016 version)
yapi.js introduction (mopcon 2016 version)
 
Getting ahead of the curve - Scalable, Accessible, Enterprise-class Video on ...
Getting ahead of the curve - Scalable, Accessible, Enterprise-class Video on ...Getting ahead of the curve - Scalable, Accessible, Enterprise-class Video on ...
Getting ahead of the curve - Scalable, Accessible, Enterprise-class Video on ...
 
Introducing PRESTOplay SDKs
Introducing PRESTOplay SDKsIntroducing PRESTOplay SDKs
Introducing PRESTOplay SDKs
 
Arai to establish sophisticated 4 k and 8k workflows through the cases of nhk
Arai to establish sophisticated 4 k and 8k workflows through the cases of nhkArai to establish sophisticated 4 k and 8k workflows through the cases of nhk
Arai to establish sophisticated 4 k and 8k workflows through the cases of nhk
 
Stupid Video Tricks, CocoaConf Seattle 2014
Stupid Video Tricks, CocoaConf Seattle 2014Stupid Video Tricks, CocoaConf Seattle 2014
Stupid Video Tricks, CocoaConf Seattle 2014
 
[AWS Media Symposium 2019] AWS Media Services Innovation - Christer Whitehorn...
[AWS Media Symposium 2019] AWS Media Services Innovation - Christer Whitehorn...[AWS Media Symposium 2019] AWS Media Services Innovation - Christer Whitehorn...
[AWS Media Symposium 2019] AWS Media Services Innovation - Christer Whitehorn...
 

Dernier

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Dernier (20)

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 

Master Video with AV Foundation