問題タブ [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.
video - 同じビューで 2 つの QTDeviceInput を重ねる
さまざまな QTDeviceInputs からのストリーミング ビデオを編集できるココア アプリをプログラミングしています。現時点では、2 つの異なる QTCaptureView で 2 つの QtDeviceInput を簡単に表示できますが、1 つのビューで外部カムからのストリームを (おそらく透過性を使用して) 重ねることができるかどうか疑問に思います。ビデオ ストリームをオーバーラップさせるには、どのような種類のビューを使用する必要がありますか? これら 2 つのビデオ ストリームをオーバーラップするにはどうすればよいですか?
私は OpenGlView を使用する必要があると思いますが、使用したことがないので、もっと簡単な方法があるのだろうかと思います。
私は次のように2を作成しようとしましたQTCaptureLayer
:
wheresession1
とsession2
are 2QTCaptureSession
を表示するために 2 を使用していますQTDeviceInput
。レイヤーを追加したよりもNSView
:
しかし、何も変わりませんでした。インターフェイスビルダーで NSView "myView" を作成し、それをファイルの所有者にリンクしました。また、単純な CALayer を描画して myView に追加しようとしました。
しかし、何も起こりませんでした。NSView は変更されていません。私が間違っていることは何ですか?
私は次のように2を作成しようとしましたQTCaptureLayer
:
wheresession1
とsession2
are 2QTCaptureSession
を表示するために 2 を使用していますQTDeviceInput
。レイヤーを追加したよりもNSView
:
しかし、何も変わりませんでした。インターフェイスビルダーで NSView "myView" を作成し、それをファイルの所有者にリンクしました。また、単純な CALayer を描画して myView に追加しようとしました。
しかし、何も起こりませんでした。NSView は変更されていません。私が間違っていることは何ですか?
objective-c - QTKit と OpenGL を使用したビデオ フレームの変更
QTKit を使用して (Mac で) ビデオを開きたいプロジェクトに取り組んでいます。その部分は問題ありませんが、プレイしているので、OpenGL を使用してオンザフライでビデオを編集または変更したいと考えています。
私が理解していることから、フレームがディスプレイに表示される前にフレームをインターセプトして変更できるはずですが、何をしてもできないようです。
cocoa - QTKit Capture を IP カメラに対応させることはできますか?
QTKit Capture デバイスとして使用したい IP カメラ (Axis M1114) を持っています。通常、このキャプチャ メニューには DV カメラと iSight のみが表示されます。IP カメラをこのリストに表示して QTKit Capture と連携させる方法はありますか?
これは不可能かもしれませんが、可能であれば、それについての方法についての指針をいただければ幸いです。ありがとう!
macos - OSX Lion での QTKit の問題
OSX Lion をサポートする必要がある既存の QTKit コードベースに問題があります。Lion にアップグレードすると、QT ベースのキャプチャ (QTCaptureSession 経由) はほとんど問題なく動作するようです。ただし、特定のボックスでは、QT が初期化されるとすぐにクラッシュします。
クラッシュは、サードパーティのコーデック ライブラリ (3ivx) から発生しているようです。
私たちのライブラリではこのコーデックを使用していません。たまたま箱に入っているだけです。コーデックが OSX Lion と互換性がないように見えるので、ロードしないようにしたいと思います。
ロードを停止する方法に関するドキュメントを見つけることができませんでした。どうすればこれを行うことができますか?
macos - ofxQTKitVideoPlayer で QTKit 動画を再生すると画面がガベージになる
この例をダウンロードしました。正常にコンパイルされて実行されますが、次のようになります。
http://charliewilliams.org/images/screengarbage.png
何かが画面バッファをクリアしていないように見えますか? 含まれている .mov ファイルを使用していますが、openFrameworks 0062 と 007 で同じ結果が得られます。
objective-c - QTTrackの不透明度を変更する方法
ピクチャーインピクチャーでQTMovieを作成しようとしています。私は2つの映画を持っています。1つはファイルからのビデオで、もう1つはカメラで録画されたものです。
カメラムービーを他のビデオの上に表示し、少し透明にしたい。qttrackを使用して、カメラムービーを他のビデオの上にうまく配置できますが、ビデオのqttrackの透明度を変更する方法がわかりません。
これはQTKitを使用して可能ですか?
これが今の私のコードの例です
64-bit - Snow Leopard: QuickTime API の 64 ビット代替
ムービー プレーヤーを 64 ビットに移行しています。
現在、QuickTime API と FFmpeg の両方でムービーをデコードできます。
QuickTime API でデコードするには、QTOpenGLTextureContext
を提供するを作成し、 を使用してQTVisualContextRef
タイプのデコードされたフレームを取得します。CVOpenGLTextureRef
QTVisualContextCopyImageForTime
アプリを 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*
あなたが私を助けてくれることを願っています!
objective-c - Mac アプリでの録音時のノイズ
録音と再生にQTKitを使用していますが、結果のファイルを録音するとノイズ(気圧)が多くなります。
私は使っている
およびキャプチャ セッション
そしてこれらは
また、これらの行(ノイズの原因はここにある可能性があります)
誰か助けてください。
cocoa - QuickTime メタデータの取得: コーデック、ビットレート、サイズ
QTKit または 10.5 以降をターゲットとする OS X の古い QuickTime API を使用して、QuickTime ムービーから次の情報を抽出する方法を判断するのが難しいと感じています。
- 使用されるビデオおよびオーディオ コーデック (例: "H.264")
- ビデオとオーディオのビットレート (例: 64 kbps)
- 寸法
私が遭遇した特定の問題は次のとおりです。
1) 私が見つけたビデオとオーディオのコーデック名への唯一の手段は、 と の使用を伴いますImageDescriptionHandle
。SoundDescriptionHandle
どちらも Carbon のみのメソッドNewHandleClear
とDisposeHandle
を必要とし、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)」が表示されます。実際の映画の寸法を決定するより良い方法はありますか?
前もって感謝します!
cocoa - 映画の冒頭にいくつかの新しいフレームを追加する(QTKit)
ムービーファイルをロードし、その先頭にいくつかのフレームを挿入して、ビデオファイルを保存する必要があります(元のビデオとオーディオの形式を保持することが重要です)。
QTKitの概要ドキュメントでは、既存のムービーにさまざまなフィルターを取得して適用する方法について説明しています。しかし、映画の残りの部分を変更せずに、新しいフレームを追加するにはどうすればよいですか?私を正しい方向に向けていただけませんか。ありがとう!