問題タブ [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.
cocoa - Cocoa で音声ファイルの分析を実行するには?
私の目的は、オーディオ ファイル (mp3) に対して分析 (DFT など) を実行することです。
それで :
- 私の入力はファイルです
- そして私の出力は治療です
これを実行するために QTKit フレームワークを使用したいのですが、少しがっかりしています:
- QTMovie はファイルを開くことができますが、解凍されたオーディオ バッファにアクセスする方法がわかりません。
- QTSampleBuffer は QTCaptureDecompressedAudioOutput で処理できますが、ファイルを開く方法がわかりません (唯一の入力は QTCaptureDeviceInput のようです)。
QTKitでやりたいことをする方法はありますか、それともCore Audio(またはその他)を使用する必要がありますか?
(実際にはコードはありません。良い方法を見つけようとしているだけで、初めてサウンドを使用するのは...)
cocoa - QTMovieからインターネット経由で音声を送信する
QTMovieをいくつかの機能に使用するシンプルなオーディオ再生アプリがあります。また、MP3またはPCMデータをストリーミングするための小さなイーサネット対応ボードも開発しています。
QTMovieが出力しているものを「取得」し、それをバイトの配列にフォーマットして、イーサネット経由で特定のIPに送信する方法はありますか?どういうわけか、iTunesはAirPlayでこれを行うことができるので、これを行うための何らかの方法があります。
答えてくれてありがとう!
cocoa - QTKit、ライブストリーミング用のビデオキャプチャ
ライブビデオストリーミングを作成するMac用のアプリケーションを作成しようとしています。VLCやその他のソリューションについては知っていますが、それでもです。
そのために、QTKitを使用してiSightからビデオを録画し、一連の小さなビデオファイルとして継続的に保存しようとしています。ただし、ファイル間にギャップがあるため、録音は完全に連続していないことがわかります。
基本的には、タイマーを設定するだけで、特定の時間間隔で新しいファイルへの記録を開始し、古い記録を停止します。また、最大記録長を設定し、デリゲートメソッド...didFinishRecording...および...willFinishRecording...を使用してみましたが、同じ結果になりました(これらの場合のギャップの違いを実際に見積もることはできません) )。
これらのことをどのように行うべきかを知っているなら、助けてください。
これが私の現在のコードです:
objective-c - QTMovie addImage:forDuration:withAttributes: QuickTime Player X で再生できません
ムービーの先頭に画像付きのトラックを追加することで変更しているmovファイルがあります(QTMovieの-addImageメソッドを使用)。このようなムービーを (QTMovie の -writeToFile: メソッドを使用して) フラット化すると、最初にこの「透かし」を含む別の .mov ファイルが作成されます。しかし、再生しようとすると、そのようなファイルを再生するには QuickTime 7 をインストールする必要があるというメッセージが表示されます (元の処理されていない mov ファイルは QuickTime Player 7 を必要とせず、QT Player で正常に再生できます) X には Snow Leopard と Lion が付属しています)。
このファイルを QuickTime Player X で再生できるようにすることは可能でしょうか? 私のアプリケーションのユーザーに、この古いバージョンのプレーヤーをインストールする義務を負わせたくありません。さらに、Final Cut Pro 7、Telestream Episode Engine エンコーダー、Autodesk Smoke などの一部のアプリケーションは、イメージ トラックを追加した後、この「ファイル フォーマット」を正しく認識しません。
どうにかして、イメージ トラックではなく、ムービー トラックとしてイメージを追加することは可能でしょうか? 多分古いQT APIを使用していますか?(とにかく、QTKitはまだ生のようです)。
イメージ エンコーダーとして "mpv4" を指定していますが (-addImage メソッドで)、この透かしイメージはムービー トラックではなく、ムービー エンコーダーでエンコードされたイメージ トラックと見なされます。
ありがとうございました!
macos - NSBitmapImageRep を高効率で RGB に変換
私は CVImageBufferRef (QTKit を使用してキャプチャ) がある 10.5+ 用の最初の mac osx cocoa アプリに取り組んでいます。このイメージを TCP ソケット経由でクライアント アプリに転送する必要があります。クライアント アプリには RGB 値が必要です。これが私が現在行っていることです(私の現在のソリューションは必要に応じて機能しますが、多くのCPUを使用します)
CVImageBufferRef --> NSBitmapImageRep --> NSData --> 次に、TCP Socket 経由で NSData をクライアント アプリに送信し、クライアント側で RGB を取得する次のコードを作成します。
CVImageBufferRef を RGB 値の配列に変換できる場合は完璧です。それ以外の場合は、NSBitmapImageRep を RGB 値に変換する効率的なソリューションが必要です。
objective-c - Quartz 用の選択可能なビデオ入力パッチの作成: 多重化された入力が失敗する
ビデオ入力パッチと同じように機能するが、入力ポートで選択可能なキャプチャ デバイスを使用する、Quartz Composer 用のカスタム パッチを作成しようとしています。これは小さなパッチで、私には正しいように見えますが、DV デバイス (Canopus ADVC-110) を接続して選択すると、ColorSpace が (null) になり、例外が発生します。ビデオ メディア タイプである FaceTime HD カメラでは問題なく動作します。何かが欠けているに違いないのですが、それが見えません。
デリゲート関数の captureOutput は、新しいフレームが入ってくるように何度も起動し、キャプチャは正常に開始されたようです。私は何が欠けていますか?
objective-c - QuickTimeムービーをQuartzComposer入力にプログラムでパイプするにはどうすればよいですか?
QuartzComposerのエフェクトをQuickTimeムービーに適用するアプリに取り組んでいます。カメラではなく、入力用のQuickTimeムービーを除いて、フォトブースを考えてみてください。現在、QuickTimeムービーをQTMovie
オブジェクトとしてロードしてNSTimer
から、1秒間に30回起動します。ある時点でに切り替えますが、今のところは問題CVDisplayLink
ありません。NSTimer
火災が発生するたびNSTimer
に、アプリはQuickTimeムービーの1フレームをとして取得し、それをの画像入力のNSImage
1つに渡します。QCRenderer
これは機能しますが、非常に低速です。サポートされているすべての形式でムービーからフレームをプルしてみました[QTMovie frameImageAtTime:withAttributes:error:]
。それらはすべて本当に遅いか、まったく機能しません。
速度が遅くなるのは、画像データをメインメモリに移動してから、QCが処理できるように元に戻すことが原因であると考えられます。
残念ながら、QCのQuickTimeムービーパッチを使用することは、このプロジェクトでは問題外です。これは、ムービーの再生をそれが提供する以上に制御する必要があるためです。問題は、VRAMを離れずにQuickTimeムービー画像をQCRendererに移動するにはどうすればよいかということです。
objective-c - QTCaptureDecompressedVideoOutput with FireWire
FireWire 入力からキャプチャする Quartz Composer 用のカスタム パッチを作成しようとしています。デバイスを開いて、入力を正常に追加できます。QTKitのドキュメントに従って、オーディオ入力も無効にします。私の問題は、出力を追加していることだと思います(ただし、エラーなしで追加されます)。フレームが実行されるたびに、imageBuffer が空のように見えるとクラッシュします。寸法も何もありません。ドキュメントの標準の captureOutput:didOutputVideoFrame:withSampleBuffer:fromConnection を使用しています。
私は何が間違っているのでしょうか?このコードは、ビデオのみの入力には適していますが、FireWire (多重化) 入力には適していません。
cocoa - 外部ビデオ ハードウェアの使用 - 初心者には指示が必要
ここでは、QTKit を使用して QuickTime ビデオを処理する小さなアプリケーションを用意しています。これは私にとって初めての Cocoa アプリなので、OS X のプログラミングはまだ初心者です。
主要な機能が動作するようになったので、外部ビデオ ハードウェアをどのように使用およびサポートできるかを考えていました。これまで外部ハードウェアを使用したことがないため、開始方法がわからないだけです。
たとえば、プログラムが実行されているマシンに BlackMagic カードがインストールされている場合、どうすればそれを知ることができ、コンピュータ モニタの QTMovieView ではなく、このカードで QuickTime ムービーを再生するにはどうすればよいでしょうか?
誰かが私に方向性を示してくれたらうれしいです!どうもありがとうございました。
macos - QTMovie addImage のパフォーマンス
デスクトップビデオキャプチャに取り組んでいます。高速に動作するスクリーンショット取得を実装しました。次に、すべてのスクリーンショットを addImage:forDuration:withAttributes: 経由で QTMovie に追加しますが、動作が非常に遅いため、フルスクリーン キャプチャ (たとえば 1920x1080) を作成しようとすると、1.2 fps しかありません。メインスレッドでスクリーンショットを収集し、他のスレッドでそれらを処理 (QTMovie に追加) しようとしましたが、メモリ消費量が非常に速く増加しました (取得したスクリーンショットは圧縮されていません)。何か案は?ありがとう。