1

別のビデオまたは画像に遷移する (AVPlayer に基づく) ビデオの再生に粉砕のような効果を持たせたいと考えています。

iOS5/6 でこの種のビデオにこの効果を作成することはできますか?
そうでない場合は、最後に再生されたフレームの静止画像でトランジションを実行することもできます。これに最も適したフレームワークは何でしょうか? コアイメージ? コアグラフィックス? OpenGL?

4

4 に答える 4

2

ここでは、ビデオの上に UIVIew を配置するのが最良の選択肢になると思います。ビュー内 (したがって、ビデオ上) に描画するためのパフォーマンスが本当に必要な場合は、Quartz2d (または OpenGL ES)を使用できます。

Quarz2d を使用すると、シャッター アニメーションのすべてのフレームを含む単純なスプライト シート (ゲームで使用される一般的な手法) を構成し、それらをループして前述の UIView に表示することができます。パフォーマンスが十分でない場合は、OpenGL ES を試すこともできます :) が、Quarz2d を使用すると時間を大幅に節約できます。

パフォーマンスが問題になる場合は、この投稿のように、ビデオの上にCocos2Dレイヤーを使用することになる可能性があります。ここでは、ビデオの上にパーティクル エミッターをレンダリングすることが目標でした... Cocos2d (OpenGL ES) は、パフォーマンスの問題。(良いことに、Cocos2d はスプライト シートを簡単に処理できるので、すぐに実装できると思います)

要するに、移行の規模に応じて、OpenGL ES (そのパフォーマンスが必要な場合) またはパフォーマンスが大きな問題でない場合は Quarz2d のいずれかを選択します。

乾杯。

于 2012-10-19T13:37:57.113 に答える
1

こんにちは、viewcontrollerのビューにmpmoviecontrollerのビューを追加し、画像ビューを配置して、いくつかの画像(シャッターの画像のシーケンス)を取得し、シャッター効果を表示するためにそれらの画像のアニメーションを再生します。うまくいけば、このトリックはあなたのために働くでしょう:)

uiimageviewアニメーションについては、このリンクをチェックしてください

UIImageViewアニメーション

于 2012-10-20T21:10:40.027 に答える
1

再生中に異なるビデオ間のトランジションのみが必要な場合は、ビュー トランジションを使用してビデオを切り替えることができます。アニメーションがどのように表示されるか正確にはわかりません、例を次に示します。他のビデオを時間内にプリロードし、トランジションを開始する前にビデオを表示する準備ができていることを確認することが重要です。そうしないと、見栄えが悪くなります。

非常に高度な効果を作成したい場合は、別のオプションとして、ビデオ ファイルを OpenGL ES テクスチャにレンダリングし、GL を使用して基本的に考えられるあらゆる 3D 効果を作成します。これについての小さな POC を書きました。興味があれば共有できます。この質問も参照してください。

ビデオ ファイルへのトランジションを保持する場合は、フレームごとにビデオを操作し、そこから新しいビデオ ストリームを作成する必要があります。これはより複雑ですが、AVFoundation API で実行できます。ここに例があります。

于 2012-10-16T11:40:33.103 に答える
1

ビデオの最後のフレームの画像を取得してビデオの後ろに配置する前に、この手法を使用しました。ビデオの再生が停止したら、ビデオ プレーヤーをビューから削除し、画像上でシャッター アニメーションを実行して、その背後にあるものを明らかにします。

于 2012-10-20T04:11:02.117 に答える