問題タブ [qtkit]

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 投票する
1 に答える
130 参照

video - 同じビューで 2 つの QTDeviceInput を重ねる

さまざまな QTDeviceInputs からのストリーミング ビデオを編集できるココア アプリをプログラミングしています。現時点では、2 つの異なる QTCaptureView で 2 つの QtDeviceInput を簡単に表示できますが、1 つのビューで外部カムからのストリームを (おそらく透過性を使用して) 重ねることができるかどうか疑問に思います。ビデオ ストリームをオーバーラップさせるには、どのような種類のビューを使用する必要がありますか? これら 2 つのビデオ ストリームをオーバーラップするにはどうすればよいですか?

私は OpenGlView を使用する必要があると思いますが、使用したことがないので、もっと簡単な方法があるのだろうかと思います。


私は次のように2を作成しようとしましたQTCaptureLayer

wheresession1session2are 2QTCaptureSessionを表示するために 2 を使用していますQTDeviceInput。レイヤーを追加したよりもNSView

しかし、何も変わりませんでした。インターフェイスビルダーで NSView "myView" を作成し、それをファイルの所有者にリンクしました。また、単純な CALayer を描画して myView に追加しようとしました。

しかし、何も起こりませんでした。NSView は変更されていません。私が間違っていることは何ですか?


私は次のように2を作成しようとしましたQTCaptureLayer

wheresession1session2are 2QTCaptureSessionを表示するために 2 を使用していますQTDeviceInput。レイヤーを追加したよりもNSView

しかし、何も変わりませんでした。インターフェイスビルダーで NSView "myView" を作成し、それをファイルの所有者にリンクしました。また、単純な CALayer を描画して myView に追加しようとしました。

しかし、何も起こりませんでした。NSView は変更されていません。私が間違っていることは何ですか?

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

objective-c - QTKit と OpenGL を使用したビデオ フレームの変更

QTKit を使用して (Mac で) ビデオを開きたいプロジェクトに取り組んでいます。その部分は問題ありませんが、プレイしているので、OpenGL を使用してオンザフライでビデオを編集または変更したいと考えています。

私が理解していることから、フレームがディスプレイに表示される前にフレームをインターセプトして変更できるはずですが、何をしてもできないようです。

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

cocoa - QTKit Capture を IP カメラに対応させることはできますか?

QTKit Capture デバイスとして使用したい IP カメラ (Axis M1114) を持っています。通常、このキャプチャ メニューには DV カメラと iSight のみが表示されます。IP カメラをこのリストに表示して QTKit Capture と連携させる方法はありますか?

これは不可能かもしれませんが、可能であれば、それについての方法についての指針をいただければ幸いです。ありがとう!

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

macos - OSX Lion での QTKit の問題

OSX Lion をサポートする必要がある既存の QTKit コードベースに問題があります。Lion にアップグレードすると、QT ベースのキャプチャ (QTCaptureSession 経由) はほとんど問題なく動作するようです。ただし、特定のボックスでは、QT が初期化されるとすぐにクラッシュします。

クラッシュは、サードパーティのコーデック ライブラリ (3ivx) から発生しているようです。

私たちのライブラリではこのコーデックを使用していません。たまたま箱に入っているだけです。コーデックが OSX Lion と互換性がないように見えるので、ロードしないようにしたいと思います。

ロードを停止する方法に関するドキュメントを見つけることができませんでした。どうすればこれを行うことができますか?

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

macos - ofxQTKitVideoPlayer で QTKit 動画を再生すると画面がガベージになる

この例をダウンロードしました。正常にコンパイルされて実行されますが、次のようになります。

http://charliewilliams.org/images/screengarbage.png

何かが画面バッファをクリアしていないように見えますか? 含まれている .mov ファイルを使用していますが、openFrameworks 0062 と 007 で同じ結果が得られます。

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

objective-c - QTTrackの不透明度を変更する方法

ピクチャーインピクチャーでQTMovieを作成しようとしています。私は2つの映画を持っています。1つはファイルからのビデオで、もう1つはカメラで録画されたものです。

カメラムービーを他のビデオの上に表示し、少し透明にしたい。qttrackを使用して、カメラムービーを他のビデオの上にうまく配置できますが、ビデオのqttrackの透明度を変更する方法がわかりません。

これはQTKitを使用して可能ですか?

これが今の私のコードの例です

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

64-bit - Snow Leopard: QuickTime API の 64 ビット代替

ムービー プレーヤーを 64 ビットに移行しています。

現在、QuickTime API と FFmpeg の両方でムービーをデコードできます。

QuickTime API でデコードするには、QTOpenGLTextureContextを提供するを作成し、 を使用してQTVisualContextRefタイプのデコードされたフレームを取得します。CVOpenGLTextureRefQTVisualContextCopyImageForTime

アプリを 64 ビットにしたいので、この関数が 64 ビットではないため、QuickTime API を使用できなくなりました。

そこで、QTKit に渡しframeImageAtTime:withAttributes:error:、さまざまな画像形式でデコードされたフレームを提供するメソッドを使用して、フレームのデコードを開始しました。CVOpenGLTextureRef現在、表示ルーチンの実際の構造をすべて使用するために、 a を返すようにしました。メソッドは実際に機能し、32 ビットを取り除くことができますQTVisualContextRef

問題は、この方法がとてつもなく遅いことです!! Apple h264 映画の予告編をリアルタイムで再生することはできません。CVOpenGLTextureRef!を出力するのに、古い方法の 4 倍の時間が必要です。

出力で処理できる他のすべての画像タイプを試しましたframeImageAtTime:withAttributes:error:が、成功しませんでした..時にはさらに遅くなります..

指定された属性は次のとおりです。

QuickTime API の実際の代替は 64 ビットですか? ありますか?

メディア プレーヤーのメイン構造を変更できないため、CVOpenGLTextureRefまたはCVPixelBufferRefまたはを取得する必要があります。CIImage*

あなたが私を助けてくれることを願っています!

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

objective-c - Mac アプリでの録音時のノイズ

録音と再生にQTKitを使用していますが、結果のファイルを録音するとノイズ(気圧)が多くなります。

私は使っている

およびキャプチャ セッション

そしてこれらは

また、これらの行(ノイズの原因はここにある可能性があります)

誰か助けてください。

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

cocoa - QuickTime メタデータの取得: コーデック、ビットレート、サイズ

QTKit または 10.5 以降をターゲットとする OS X の古い QuickTime API を使用して、QuickTime ムービーから次の情報を抽出する方法を判断するのが難しいと感じています。

  • 使用されるビデオおよびオーディオ コーデック (例: "H.264")
  • ビデオとオーディオのビットレート (例: 64 kbps)
  • 寸法

私が遭遇した特定の問題は次のとおりです。

1) 私が見つけたビデオとオーディオのコーデック名への唯一の手段は、 と の使用を伴いますImageDescriptionHandleSoundDescriptionHandleどちらも Carbon のみのメソッドNewHandleClearDisposeHandleを必要とし、32 ビットのみの Media オブジェクトを必要とするようです。Carbon フレームワークを必要とせず、64 ビットと互換性のある、より最新の方法はありますか?

2) ビットレートについては、GetMediaDataSizeTime64 を取得し、トラックの長さ (秒単位) で割っています。ただし、オーディオ トラックが 1 つの場合、そのメソッドは 128 kbps の値を返しますがQTSoundDescriptionGetProperty、オーディオ トラック メディアとパラメーターを指定して呼び出すと、kQTAudioPropertyID_FormatString"64 kbps" の文字列が返されます。これら 2 つの値が異なるのはなぜですか。トラックのビットレートを計算するより良い方法はありますか?

3)特定の映画について、[QTMovie movieAttributes] objectForKey:QTMovieNaturalSizeAttribute]または によって返される寸法が正しくありません。[QTTrack attributeForKey:QTTrackDimensionsAttribute]返されるサイズは 720 x 480 ですが、QuickTime Player の実際の表示サイズは 640 x 480 です。プレーヤーの情報ウィンドウには、サイズ文字列「720 x 480 (640 x 480)」が表示されます。実際の映画の寸法を決定するより良い方法はありますか?

前もって感謝します!

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

cocoa - 映画の冒頭にいくつかの新しいフレームを追加する(QTKit)

ムービーファイルをロードし、その先頭にいくつかのフレームを挿入して、ビデオファイルを保存する必要があります(元のビデオとオーディオの形式を保持することが重要です)。

QTKitの概要ドキュメントでは、既存のムービーにさまざまなフィルターを取得して適用する方法について説明しています。しかし、映画の残りの部分を変更せずに、新しいフレームを追加するにはどうすればよいですか?私を正しい方向に向けていただけませんか。ありがとう!