Files
HaishinKit.swift/docs/Classes/VideoEffect.html
T
2022-09-17 16:04:54 +09:00

427 lines
21 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="en">
<head>
<title>VideoEffect Class Reference</title>
<link rel="stylesheet" type="text/css" href="../css/jazzy.css" />
<link rel="stylesheet" type="text/css" href="../css/highlight.css" />
<meta charset='utf-8'>
<script src="../js/jquery.min.js" defer></script>
<script src="../js/jazzy.js" defer></script>
<script src="../js/lunr.min.js" defer></script>
<script src="../js/typeahead.jquery.js" defer></script>
<script src="../js/jazzy.search.js" defer></script>
</head>
<body>
<a name="//apple_ref/swift/Class/VideoEffect" class="dashAnchor"></a>
<a title="VideoEffect Class Reference"></a>
<header>
<div class="content-wrapper">
<p><a href="../index.html">HaishinKit 1.3.0 Docs</a> (79% documented)</p>
<div class="header-right">
<form role="search" action="../search.json">
<input type="text" placeholder="Search documentation" data-typeahead>
</form>
</div>
</div>
</header>
<div class="content-wrapper">
<p id="breadcrumbs">
<a href="../index.html">HaishinKit Reference</a>
<img id="carat" src="../img/carat.png" alt=""/>
VideoEffect Class Reference
</p>
</div>
<div class="content-wrapper">
<nav class="sidebar">
<ul class="nav-groups">
<li class="nav-group-name">
<a href="../Classes.html">Classes</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Classes/AVMixer.html">AVMixer</a>
</li>
<li class="nav-group-task">
<a href="../Classes/AVMixer/Option.html"> Option</a>
</li>
<li class="nav-group-task">
<a href="../Classes/AVMixer/Option.html"> Option</a>
</li>
<li class="nav-group-task">
<a href="../Classes/AVRecorder.html">AVRecorder</a>
</li>
<li class="nav-group-task">
<a href="../Classes/AVRecorder/Error.html"> Error</a>
</li>
<li class="nav-group-task">
<a href="../Classes/AudioCodec.html">AudioCodec</a>
</li>
<li class="nav-group-task">
<a href="../Classes/AudioCodec/Option.html"> Option</a>
</li>
<li class="nav-group-task">
<a href="../Classes/AudioCodec/Format.html"> Format</a>
</li>
<li class="nav-group-task">
<a href="../Classes/AudioEffect.html">AudioEffect</a>
</li>
<li class="nav-group-task">
<a href="../Classes/ByteArray.html">ByteArray</a>
</li>
<li class="nav-group-task">
<a href="../Classes/ByteArray/Error.html"> Error</a>
</li>
<li class="nav-group-task">
<a href="../Classes/Event.html">Event</a>
</li>
<li class="nav-group-task">
<a href="../Classes/Event/Name.html"> Name</a>
</li>
<li class="nav-group-task">
<a href="../Classes/EventDispatcher.html">EventDispatcher</a>
</li>
<li class="nav-group-task">
<a href="../Classes/FLVReader.html">FLVReader</a>
</li>
<li class="nav-group-task">
<a href="../Classes/HKView.html">HKView</a>
</li>
<li class="nav-group-task">
<a href="../Classes/HLSService.html">HLSService</a>
</li>
<li class="nav-group-task">
<a href="../Classes/HTTPService.html">HTTPService</a>
</li>
<li class="nav-group-task">
<a href="../Classes/HTTPStream.html">HTTPStream</a>
</li>
<li class="nav-group-task">
<a href="../Classes/MTHKView.html">MTHKView</a>
</li>
<li class="nav-group-task">
<a href="../Classes/NetClient.html">NetClient</a>
</li>
<li class="nav-group-task">
<a href="../Classes/NetService.html">NetService</a>
</li>
<li class="nav-group-task">
<a href="../Classes/NetSocket.html">NetSocket</a>
</li>
<li class="nav-group-task">
<a href="../Classes/NetStream.html">NetStream</a>
</li>
<li class="nav-group-task">
<a href="../Classes/PiPHKView.html">PiPHKView</a>
</li>
<li class="nav-group-task">
<a href="../Classes/PiPHKView.html">PiPHKView</a>
</li>
<li class="nav-group-task">
<a href="../Classes/RTMPConnection.html">RTMPConnection</a>
</li>
<li class="nav-group-task">
<a href="../Classes/RTMPConnection/Code.html"> Code</a>
</li>
<li class="nav-group-task">
<a href="../Classes/RTMPSharedObject.html">RTMPSharedObject</a>
</li>
<li class="nav-group-task">
<a href="../Classes/RTMPStream.html">RTMPStream</a>
</li>
<li class="nav-group-task">
<a href="../Classes/RTMPStream/Code.html"> Code</a>
</li>
<li class="nav-group-task">
<a href="../Classes/RTMPStream/PlayTransition.html"> PlayTransition</a>
</li>
<li class="nav-group-task">
<a href="../Classes/RTMPStream/PlayOption.html"> PlayOption</a>
</li>
<li class="nav-group-task">
<a href="../Classes/RTMPStream/HowToPublish.html"> HowToPublish</a>
</li>
<li class="nav-group-task">
<a href="../Classes/Responder.html">Responder</a>
</li>
<li class="nav-group-task">
<a href="../Classes/ScreenCaptureSession.html">ScreenCaptureSession</a>
</li>
<li class="nav-group-task">
<a href="../Classes/Setting.html">Setting</a>
</li>
<li class="nav-group-task">
<a href="../Classes/TSWriter.html">TSWriter</a>
</li>
<li class="nav-group-task">
<a href="../Classes/VideoCodec.html">VideoCodec</a>
</li>
<li class="nav-group-task">
<a href="../Classes/VideoCodec/Error.html"> Error</a>
</li>
<li class="nav-group-task">
<a href="../Classes/VideoCodec/Option.html"> Option</a>
</li>
<li class="nav-group-task">
<a href="../Classes/VideoEffect.html">VideoEffect</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Global%20Variables.html">Global Variables</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Global%20Variables.html#/s:10HaishinKit12kASUndefinedAA0C0Vvp">kASUndefined</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Enums.html">Enumerations</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Enums/DeviceUtil.html">DeviceUtil</a>
</li>
<li class="nav-group-task">
<a href="../Enums/FLVAACPacketType.html">FLVAACPacketType</a>
</li>
<li class="nav-group-task">
<a href="../Enums/FLVAVCPacketType.html">FLVAVCPacketType</a>
</li>
<li class="nav-group-task">
<a href="../Enums/FLVAudioCodec.html">FLVAudioCodec</a>
</li>
<li class="nav-group-task">
<a href="../Enums/FLVFrameType.html">FLVFrameType</a>
</li>
<li class="nav-group-task">
<a href="../Enums/FLVSoundRate.html">FLVSoundRate</a>
</li>
<li class="nav-group-task">
<a href="../Enums/FLVSoundSize.html">FLVSoundSize</a>
</li>
<li class="nav-group-task">
<a href="../Enums/FLVSoundType.html">FLVSoundType</a>
</li>
<li class="nav-group-task">
<a href="../Enums/FLVTagType.html">FLVTagType</a>
</li>
<li class="nav-group-task">
<a href="../Enums/FLVVideoCodec.html">FLVVideoCodec</a>
</li>
<li class="nav-group-task">
<a href="../Enums/RTMPObjectEncoding.html">RTMPObjectEncoding</a>
</li>
<li class="nav-group-task">
<a href="../Enums/ScalingMode.html">ScalingMode</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Extensions/AVMixer.html">AVMixer</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/AudioStreamBasicDescription.html">AudioStreamBasicDescription</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Protocols/AVRecorderDelegate.html">AVRecorderDelegate</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/AudioCodecDelegate.html">AudioCodecDelegate</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/CaptureSessionConvertible.html">CaptureSessionConvertible</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/CaptureSessionDelegate.html">CaptureSessionDelegate</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/EventDispatcherConvertible.html">EventDispatcherConvertible</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/FLVTag.html">FLVTag</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/KeyPathRepresentable.html">KeyPathRepresentable</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/NetStreamDrawable.html">NetStreamDrawable</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/RTMPStreamDelegate.html">RTMPStreamDelegate</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/Running.html">Running</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/TSWriterDelegate.html">TSWriterDelegate</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/VideoCodecDelegate.html">VideoCodecDelegate</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Structs/ASArray.html">ASArray</a>
</li>
<li class="nav-group-task">
<a href="../Structs/ASTypedObject.html">ASTypedObject</a>
</li>
<li class="nav-group-task">
<a href="../Structs/ASUndefined.html">ASUndefined</a>
</li>
<li class="nav-group-task">
<a href="../Structs/ASXML.html">ASXML</a>
</li>
<li class="nav-group-task">
<a href="../Structs/ASXMLDocument.html">ASXMLDocument</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Atomic.html">Atomic</a>
</li>
<li class="nav-group-task">
<a href="../Structs/FLVAudioTag.html">FLVAudioTag</a>
</li>
<li class="nav-group-task">
<a href="../Structs/FLVDataTag.html">FLVDataTag</a>
</li>
<li class="nav-group-task">
<a href="../Structs/FLVVideoTag.html">FLVVideoTag</a>
</li>
<li class="nav-group-task">
<a href="../Structs/HTTPRequest.html">HTTPRequest</a>
</li>
<li class="nav-group-task">
<a href="../Structs/HTTPResponse.html">HTTPResponse</a>
</li>
<li class="nav-group-task">
<a href="../Structs/RTMPStreamInfo.html">RTMPStreamInfo</a>
</li>
<li class="nav-group-task">
<a href="../Structs/SoundTransform.html">SoundTransform</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Typealiases.html">Type Aliases</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Typealiases.html#/s:10HaishinKit8ASObjecta">ASObject</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section>
<section class="section">
<h1>VideoEffect</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">open</span> <span class="kd">class</span> <span class="kt">VideoEffect</span> <span class="p">:</span> <span class="kt">NSObject</span></code></pre>
</div>
</div>
<p>An object that apply a video effect.</p>
<div class="aside aside-seealso">
<p class="aside-title">Seealso</p>
<a href="https://developer.apple.com/documentation/coreimage/processing_an_image_using_built-in_filters">https://developer.apple.com/documentation/coreimage/processing_an_image_using_built-in_filters</a>
</div>
<h2 id='example-code' class='heading'>Example code:</h2>
<pre class="highlight swift"><code><span class="kd">final</span> <span class="kd">class</span> <span class="kt">MonochromeEffect</span><span class="p">:</span> <span class="kt">VideoEffect</span> <span class="p">{</span>
<span class="k">let</span> <span class="nv">filter</span><span class="p">:</span> <span class="kt">CIFilter</span><span class="p">?</span> <span class="o">=</span> <span class="kt">CIFilter</span><span class="p">(</span><span class="nv">name</span><span class="p">:</span> <span class="s">"CIColorMonochrome"</span><span class="p">)</span>
<span class="k">override</span> <span class="kd">func</span> <span class="nf">execute</span><span class="p">(</span><span class="n">_</span> <span class="nv">image</span><span class="p">:</span> <span class="kt">CIImage</span><span class="p">,</span> <span class="nv">info</span><span class="p">:</span> <span class="kt">CMSampleBuffer</span><span class="p">?)</span> <span class="o">-&gt;</span> <span class="kt">CIImage</span> <span class="p">{</span>
<span class="k">guard</span> <span class="k">let</span> <span class="nv">filter</span><span class="p">:</span> <span class="kt">CIFilter</span> <span class="o">=</span> <span class="n">filter</span> <span class="k">else</span> <span class="p">{</span>
<span class="k">return</span> <span class="n">image</span>
<span class="p">}</span>
<span class="n">filter</span><span class="o">.</span><span class="nf">setValue</span><span class="p">(</span><span class="n">image</span><span class="p">,</span> <span class="nv">forKey</span><span class="p">:</span> <span class="s">"inputImage"</span><span class="p">)</span>
<span class="n">filter</span><span class="o">.</span><span class="nf">setValue</span><span class="p">(</span><span class="kt">CIColor</span><span class="p">(</span><span class="nv">red</span><span class="p">:</span> <span class="mf">0.75</span><span class="p">,</span> <span class="nv">green</span><span class="p">:</span> <span class="mf">0.75</span><span class="p">,</span> <span class="nv">blue</span><span class="p">:</span> <span class="mf">0.75</span><span class="p">),</span> <span class="nv">forKey</span><span class="p">:</span> <span class="s">"inputColor"</span><span class="p">)</span>
<span class="n">filter</span><span class="o">.</span><span class="nf">setValue</span><span class="p">(</span><span class="mf">1.0</span><span class="p">,</span> <span class="nv">forKey</span><span class="p">:</span> <span class="s">"inputIntensity"</span><span class="p">)</span>
<span class="k">return</span> <span class="n">filter</span><span class="o">.</span><span class="n">outputImage</span> <span class="p">??</span> <span class="n">image</span>
<span class="p">}</span>
<span class="p">}</span>
</code></pre>
</section>
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:10HaishinKit11VideoEffectC9ciContextSo9CIContextCSgvp"></a>
<a name="//apple_ref/swift/Property/ciContext" class="dashAnchor"></a>
<a class="token" href="#/s:10HaishinKit11VideoEffectC9ciContextSo9CIContextCSgvp">ciContext</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Specifies the ciContext object.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">ciContext</span><span class="p">:</span> <span class="kt">CIContext</span><span class="p">?</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:10HaishinKit11VideoEffectC7execute_4infoSo7CIImageCAG_So17CMSampleBufferRefaSgtF"></a>
<a name="//apple_ref/swift/Method/execute(_:info:)" class="dashAnchor"></a>
<a class="token" href="#/s:10HaishinKit11VideoEffectC7execute_4infoSo7CIImageCAG_So17CMSampleBufferRefaSgtF">execute(_:<wbr>info:<wbr>)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Executes to apply a video effect.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">open</span> <span class="kd">func</span> <span class="nf">execute</span><span class="p">(</span><span class="n">_</span> <span class="nv">image</span><span class="p">:</span> <span class="kt">CIImage</span><span class="p">,</span> <span class="nv">info</span><span class="p">:</span> <span class="kt">CMSampleBuffer</span><span class="p">?)</span> <span class="o">-&gt;</span> <span class="kt">CIImage</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
</section>
</section>
<section id="footer">
<p>&copy; 2022 <a class="link" href="https://github.com/shogo4405/HaishinKit.swift" target="_blank" rel="external noopener">shogo4405</a>. All rights reserved. (Last updated: 2022-09-17)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.14.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</article>
</div>
</body>
</html>