iOS上でビデオコンテナのデコード手法をAssetReaderとVTDecompressSessionの比較を通して学びます。
Swift その2 Advent Calendar 2017の11日目の記事です。 はじめに 動画を 画像+音声の集合体 画像が時間に応じて変化していく 音声が時間に応じて変化していく 時間に応じて変化していくデータと考えた際に[リアクティブプログラミング] (http://ninjinkun.hatenablog.com/entry/introrxja)と相性が良いと思いました。 本エントリーでは、AVFoundationとRxSwift/RxCocoaを使い、動画再生に関してRxと組み合わせた実装を少し紹介します。 サンプルコードは公開しているので良かったら参考にしてみて下さい。 to4iki/VideoPlayer 動画再生の前提知識 動画を再生するまでのコンポーネントの紹介 AVAsset 動画自体のメディアデータやメタデータをロードし、保持するクラス AVPlayerItem 動
###はじめに iOSDC2017に参加して自分もなにかアウトプットしたい!!!!!!! と思って温めていたものを書こうと思います。 ###Screen Recording iOS11でiPhone単体での画面録画ができるようになりましたね。 NDA違反になるため画面は出せないですが、 設定 > コントールセンター からコントロールセンターにScreen Recordingのボタンを出せます。 なんでもかんでも録画されると困る!!! という方向けの記事です。 結論から書きますとアプリ側では録画を止めることはできません😇 録画を始めさせないというのも無理です😇 ではどうするか。 ちゃんとApple様は用意してくれています。 iOS11から追加されたプロパティ Objective-C UIScreen.mainScreen.isCaptured Swift UIScreen.main.is
func appOrientation() -> UIInterfaceOrientation { return UIApplication.sharedApplication().statusBarOrientation } // UIInterfaceOrientation -> AVCaptureVideoOrientationにConvert func convertUIOrientation2VideoOrientation(f: () -> UIInterfaceOrientation) -> AVCaptureVideoOrientation? { let v = f() switch v { case UIInterfaceOrientation.Unknown: return nil default: return ([ UIInterfaceOrientation.Po
iOS 9 から導入されたReplayKitでは,アプリの動作の様子を簡単に録画することもできます.また,設定によって同時にマイクから録音させることもできます.日本語の記事が見つからないので書いてみました. ゲーム実況用のAPIのようですが,通常のUIKitで実装したアプリでも綺麗に録画することができます.アプリのプロモーション用動画を撮る際に,Macと接続しQuickTimeで録画したり,iOS Simulatorを録画したりという方法がありますが,ReplayKitでは,コードで録画開始と終了を指定できるので,確実に,綺麗に録画することができます. また,実際にユーザーテストでアプリを使ってもらう際にも,ログとして確実に保存できます.Macとの接続も要りません. ということで使い方ですが簡単です. まず録画の開始です. @import ReplayKit; ... [[RPScreen
AVplayerを司る時間の概念がCMTimeの為、非常に分かりにくいのがAVPlayerの良くないところです。 #基礎知識 ##ビデオの長さを取得する let duration = player.currentItem?.asset.duration これでプレイヤーにセットされているアセットの再生時間が取得出来ます。 型はCMTime型です。 ##CMTimeを秒に変換する let maxTime = CMTimeGetSeconds(duration) CMTimeGetSecondsを取得することで、現実で何秒間のアセットなのかを取得することができます。 上記の例では、ビデオの長さを秒に変換しています。 ##秒をCMTimeに変換する let interval:CMTime = CMTimeMakeWithSeconds(0.01, Int32(NSEC_PER_SEC)) 秒で計
A tiny but powerful av player framework for iOS and Apple TV OS. The SDK can play the most audio and video formats (Includes network audio and video streams), no convert hassles, no VLC and SDL dependent. AVPlayer framework is written for iOS and Apple TV OS developers who want to add powerful av player to their app using a couple lines of code. Behind the scenes av player relies on the iOS OpenGL
https://tech.coursera.org/blog/2014/06/25/http-live-streaming-at-coursera-education-at-your-fingertips/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約3時間前 Courseraは教育コンテンツのプラットフォームで、大学の授業を配信しています。同社のエンジニアブログで、モバイルアプリ版の開発に際して、7万〜10万本のビデオをHTTPライブストリーミングに対応した経験を紹介しています。 iOSアプリのガイドには、 携帯ネットワーク経由での10分以上のビデオストリーミングコンテンツは、HTTPライブストリーミングを使い、64kbpsをベースとしたHTTPライブストリーミングを含むこと。 とありますが、 テクニカル
11. ①AVCaptureSesison の準備 // セッションの作成 self.session = [[AVCaptureSession alloc] init]; _session.sessionPreset = AVCaptureSessionPresetHigh; @property (nonatomic) AVCaptureSession *session; 12. ②入力デバイス(カメラ)の準備 // 入力デバイスの設定 AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo]; ! AVCaptureDeviceInput *input = [AVCaptureDeviceInput deviceInputWithDevice:device error:n
7. AVCaptureSession • デバイスからの入力と出力を管理するクラス @property(nonatomic, copy) NSString *sessionPreset; キャプチャクオリティの調整 AVCaptureSessionPresetPhoto AVCaptureSessionPresetHigh AVCaptureSessionPresetMedium … self.session = [[AVCaptureSession alloc] init]; 8. AVCaptureDevice • デバイスそのものを表現するクラス self.camera = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo]; @property(nonatomic) AVCaptureFocusMode fo
#import "VFDVideoFaceDetector.h" #import <AVFoundation/AVFoundation.h> @interface VFDVideoFaceDetector () @property (nonatomic, copy) VFDVideoReaderCompletionHandler completionHandler; @end @implementation VFDVideoFaceDetector { AVAsset *_asset; CIDetector *_detector; NSMutableArray *_allFeatures; } - (id)init { if (self = [super init]) { _allFeatures = [NSMutableArray arrayWithCapacity:0]; } retu
かんたんですが、複数枚の画像から動画を作成するロジックを紹介します。以外と紹介されていないので、探されていた方はどうぞ! この処理に必要なのは、以下の3つのクラスです。 AVAssetWriter AVAssetWriterInput AVAssetWriterInputPixelBufferAdaptor これらのクラスはAVFoundation.frameworkで定義されています。なので、AVFoundation.frameworkをプロジェクトにリンクしておきましょう。 サンプル それでは早速サンプルを紹介します。画像は以下の5つを使用します。 画像をプロジェクトに追加したら、ViewController.mを以下のように変更してください。 #import "ViewController.h" #import <AVFoundation/AVFoundation.h> @inter
iPhoneのカメラからの入力をリアルタイムに取得し、何らかの画像処理を行う、つまり iOSアプリで動画処理を行う のは、なかなか面倒です。 下記記事を見るとわかりますが、 シャッター音の鳴らないカメラアプリの実装方法 - Over&Out その後 AVFoundation を用いて、 カメラからの入力を毎フレーム取得しようとするだけで、かなりやることが多い です。デリゲートメソッドに渡されてくる画像データが CMSampleBufferRef という型で渡ってくるのも(個人的には)ハードルを感じる部分で、毎回「どう取り扱うんだっけ?」とググってしまいます。 さらに、毎フレーム送られてくる画像情報をリアルタイムに処理をしようとすると、やっぱり OpenGL ベースで処理 する必要が出てきて、これまた(個人的には)気が重くなってしまうところです。 ところが、videoGrabberExamp
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く