問題タブ [core-video]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1567 参照

cocoa - libswscale から PIX_FMT_YUYV422 を取得する

Cocoa でさまざまな ffmpeg ライブラリを使用する方法を学習しようとしています。また、Core Video を使用してフレームを表示しようとしています。CVコールバックが機能するようになったようで、後でCore Imageで描画するCVImageBufferRefに入れようとするフレームを取得します。

問題は、PIX_FMT_YUYV422 を libswscale で動作させようとしているところですが、ピクセル形式を PIX_FMT_YUV420P 以外に変更するとすぐに、EXC_BAD_ACCESS でクラッシュします。

YUV420P を使用している限り、プログラムは実行されますが、正しく表示されません。ピクセル形式がサポートされていないのではないかと疑ったので、PIX_FMT_YUYV422 を試してみました。

以前に実行して、PIX_FMT_RGB24 で PPM ファイルを正常に書き込んだことがあります。なんらかの理由でクラッシュしてしまい、何が問題なのかわかりません。

私はここで少し頭を悩ませていますが、それが私が学ぶことを好む方法です. :)

AVFrames を割り当てる方法は次のとおりです。

次に、次のように swscale で実行しようとします。

最後に、Core Image で使用するピクセル バッファーに書き込もうとします。

420P で実行されますが、ピクセル バッファーの kYUVSPixelformat と一致しません。また、YUV420 を受け入れないことも理解しています。

どんなに小さなことでも、私が苦労するのを助けるかもしれないので、私は本当に助けていただければ幸いです. :)

0 投票する
1 に答える
527 参照

cocoa - ハードウェア アクセラレーション / さまざまな macosx グラフィック API、フレームワーク、およびレイヤーのパフォーマンスとリンケージ

さまざまなタイプのビュー/コンテキスト/レンダリング バックエンドについて読めば読むほど、混乱します。

http://en.wikipedia.org/wiki/Quartz_%28graphics_layer%29に関して MacOSX は、Core Graphics の一部であるレンダリング バックエンドとして Quartz (Extreme) を提供しています。Apple のドキュメントや一部の本でも、いずれにせよ何らかの方法で OpenGL を使用すると書かれています (明らかに、このオペレーティング システムは OpenGL を使用してすべての UI をレンダリングするためです)。

私は現在、カメラからリアルタイムビデオをキャプチャする必要があるアプリケーションを持っています (Quicktime に基づいているが Cocoa である QTKit を介して)。フレームをさらに処理したいと考えています (Core Image、GLSL シェーダーなどを介して)。

ここまでは順調ですね。今私の質問は - あなたが

  • a) Quartz を介してキャプチャされたフレームを描画し、OpenGL を介して暗黙的に描画する、または
  • b) OpenGL コンテキストと DisplayLink をセットアップし、バッファリングされた画像を OpenGL 経由で明示的に描画する場合は?

どちらかの方法で行くことの利点または欠点は何でしょうか?

さまざまな例 (特に CoreImage101 と CoreVideo101) と Apple の開発者ページのドキュメントを見てきましたが、なぜそのようにする (または行かなければならない) のかわかりません?!?

そして、Core Video と Core Animation がどこで機能するのか本当にわかりませんか? b) は、Core Video を使用していることを自動的に意味しますか? どの方法で Core Animation を使用できますか?

追加情報:

ps: ところで、私は Leopard を使用しているので、QuicktimeX の混乱はまだありません :)

0 投票する
0 に答える
809 参照

core-animation - CAOpenGLLayerレンダリングメソッドでCVTimeStampを指定したQTVisualContextからのムービー時間?

標準の CoreVideo Display Link + QTVisualContext を使用して、QuickTime ムービーをNSOpenGLViewサブクラスにレンダリングしています。タイムライン ビューをムービーの再生と同期させたいと思います。タイムライン ビューは、レイヤー ホスティング ビューとして実装され、CAOpenGLLayerタイムラインをレンダリングするサブクラスをホストします。がレンダリング用に をCAOpenGLLayer取得するため、このアーキテクチャを選択しました。CVTimeStampこのタイム スタンプを使用して、QTVisualContext から現在のムービー時間を取得できると考えました。

CVTimeStamp から映画の時間を取得する唯一の方法は、QTVisualContext を CVImageBuffer にコピーし ( を使用QTVisualContextCopyImageForTime)、CVImageBuffer のkCVBufferMovieTimeKey添付ファイルから映画の時間を取得することです。明らかに、私は画像を必要としないので、これは少しやり過ぎのように思えます。さらに、 のドキュメントにQTVisualContextCopyImageForTimeは、前の呼び出しの前に時間を尋ねることは許可されていないことが示されています。CoreAnimation スレッドと CoreVideo 表示リンク スレッドの間のイベントの順序を保証できないため、行き止まりに陥りました。

レンダリング メソッドで取得したCVTimeStampCVDisplayLinkTranslateTimeをムービー時間とムービー タイム ベースに変換できるはずCAOpenGLLayerですが、この (表示リンク) 時間を QuickTime ムービーの時間に関連付ける方法がわかりません。ムービーの時間 0 が Display Link のムービー時間に対していつ相対的なのか、必ずしもわかりません。

では、CVTimeStamp のムービー時間を QTVisualContext (または QTMovie->QTVisualContext->Display Link->...) 経路から直接取得する方法はありますか?

0 投票する
1 に答える
364 参照

cocoa - 3D でコア イメージを使用する

私は作業Core Videoセットアップ (を介して USB カメラからキャプチャされたフレームQTKit) を持っており、現在のフレームは、サブクラス化されたNSOpenGLView. Core Imageここまでは良いのですが、このフレームにフィルターを使用したいと思います。これで基本的なコードのセットアップが完了し、以前のように未処理のビデオ フレームがレンダリングされますが、最終的に処理された出力CIImageは、画面に合わせられたクワッドとしてビューにレンダリングされます。私の 3D レンダリングにイメージがブリットされたように感じます。これは私が望んでいないことです!

ビデオ フレーム (a CVOpenGLTextureRef) を処理Core Imageし、結果として得られる画像をプレーンに 3D でレンダリングする方法を探しています。オフスクリーン レンダリング (ビューポートを保存し、新しいビューポートとモデルビューとパースペクティブ マトリックスを設定し、FBO にレンダリングする) を使用する必要がありますか、それとももっと簡単な方法はありますか?

前もって感謝します!

0 投票する
2 に答える
896 参照

iphone - ビデオファイルをWebサーバーのiphonesdkにアップロードする必要があります

ビデオファイルをWebサーバーのiphonesdkにアップロードする必要があります。ただのQuickTimeムービーです。

0 投票する
1 に答える
7531 参照

ios - CGImage を CMSampleBufferRef に変換するにはどうすればよいですか?

メソッドを使用して a を に変換し、 aCGImageCMSampleBufferRef追加したいと思います。次のコードを使用してを取得できましたが、結果の を提供すると が返されます。私は何を間違っていますか?AVAssetWriterInputappendSampleBuffer:CMSampleBufferRefappendSampleBuffer:NOCMSampleBufferRef

PS このコードにはメモリ リークがあることはわかっています。わかりやすくするために一部のコードを省略しました。

0 投票する
3 に答える
1375 参照

iphone - iPhone: リアルタイムのビデオの色情報、焦点距離、絞り?

AVFoundation と CoreVideo を使用して色情報、絞り、焦点距離の値をリアルタイムで取得する方法はありますか?

説明させてください。ビデオを撮影しているときに、画面の小さな部分で色をサンプリングし、それを RGB 値で画面に出力したいとしますか? また、現在の絞りが何に設定されているかを示したいと思います。

これらの値を収集できるかどうかは誰にもわかりませんか? 現在、これが静止画像で可能であることだけを見てきました。

アイデア?

0 投票する
0 に答える
1036 参照

iphone - CVPixelBufferCreateWithBytes の幅と高さのパラメータ

Core Video の CVPixelBufferCreateWithBytes では、幅と高さを 320 と 480 にできるようです。

160 と 240 を試してみると、画像がクリックされます。

しかし、私はより小さな次元の画像を作成するのが本当に好きです。

0 投票する
2 に答える
1532 参照

ios - iPhone アプリケーションのビデオ スクリーンキャストの保存

独自のアプリケーションから画面のビデオをキャプチャする方法はありますか? 私が見る限り、UIImagePickerController(カメラのみ)でそれを行う方法はありませんが、iOS 4 AV FoundationまたはCore Videoでそれを行う方法はありますか?

0 投票する
1 に答える
4171 参照

video - iOSのコアビデオの例

コアビデオプログラミングガイドを除いて、コアビデオを使用するためのチュートリアルと例を知っている人はいますか?