問題タブ [quicktime]
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.
quicktime - Snow Leopard で色またはガンマ補正なしで QTKit から画像データを取得するにはどうすればよいですか?
Snow Leopard 以降、QTKit は QTMovies frameImageAtTime:withAttributes:error: などの関数から色補正された画像データを返すようになりました。圧縮されていない AVI ファイルを指定すると、Snow Leopard と Leopard では同じ画像データがより大きなピクセル値で表示されます。
現在、frameImageAtTime を使用して NSImage を取得し、その画像の tiffRepresentation を要求しています。これを行うと、Snow Leopard のピクセル値がわずかに高くなります。
たとえば、Leopard で次のピクセル値を持つファイル:
次のようなピクセル値があります。
色補正されていないビデオ フレームを QTMovie に要求する方法はありますか? 代わりに CGImageRef、CIImage、または CVPixelBufferRef を要求する必要がありますか? ビデオ ファイルを読み込む前に色補正を完全に無効にする方法はありますか?
NSCalibratedColroSpace を使用して NSBitmapImageRep に描画することで、この問題を回避しようとしましたが、それは私の部分しか得られません。
これは「色補正されていない」色空間に変換されますが、色の値は、テストしている非圧縮 AVI ファイルに保存されているものとまったく同じではありません。また、これは RGB -> "Device RGB" -> RGB から変換するため、効率が大幅に低下します。
また、私は 64 ビット アプリケーションで作業しているため、Quicktime-C API にドロップダウンすることはできません。
ご協力いただきありがとうございます。
objective-c - Cocoa で 2 分間の QuickTime ムービー クリップをエクスポートする
Cocoa で 2 分間の QuickTime ムービーをエクスポートする方法を知りたいです。
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 を使用できますか?
追加情報:
- http://developer.apple.com/leopard/overview/graphicsandmedia.html
- http://theocacao.com/document.page/306
- http://lists.apple.com/archives/quartz-dev/2007/Jun/msg00059.html
ps: ところで、私は Leopard を使用しているので、QuicktimeX の混乱はまだありません :)
javascript - QuickTime PlayerのカスタムUIコントロールを作成するにはどうすればよいですか?
HTMLページでQuickTimePlayerのカスタムUIコントロールを作成するにはどうすればよいですか?(Appleがそのサイトで行っているように)
quicktime - GetNextInterestingTime() は同じフレームを複数回取得します
すべてのフレームを *.mov-Movie-File にエクスポートしたいので、次のようにします。
問題は、これを呼び出したときとはカウントgnitFrames
が異なる (はるかに多い) ことです。
nsamples
正しいフレーム数を教えてくれます。では、私の質問: ムービーのすべてのフレームに 1 回だけアクセスするにはどうすればよいでしょうか? ( を呼び出した後でフレームをエクスポートするとGetNextInterestingTime
、フレームが複数回、時には 25 回もエクスポートされます)
私のオペレーティング システムは Windows XP です。
javascript - キャンバスを使用してページからピクセルデータを取得する
ページにQTビデオがある場合(QTは変更できない要件です)、キャンバスに表示されている現在のフレームのピクセルデータを取得するにはどうすればよいですか?これが可能であることは承知していますがgetImage(videoElement, .....)
、QTを使用するソリューションを探しています。
ピクセルデータを取得できない場合は、キャンバスを使用してページのスクリーンショットを撮り、それをトリミングすることは可能ですか?
それとも私はこれを間違った方法で行っていて、キャンバスをまったく使用する必要はありませんか?
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->...) 経路から直接取得する方法はありますか?
video - クロス プラットフォームのビデオ フレームワーク?
アプリケーションに追加するクロスプラットフォームのビデオ フレームワークを探しています。これにより、さまざまな形式のビデオ ファイルを読み取り、フレームを取得して再生できるようになります。
1 つの提案は VLC/VideoLan でしたが、これは GPL フレームワークであるため使用できません Apple の QuickTime を考えましたが、WMV ファイルを読み取ることができません (Apple の承認が必要です)。OpenMLはちょっとさびれたように見えます...
他の提案はありますか?
どうもありがとう
リオール
javascript - apple.com に似た Quicktime Player を挿入する
Apple Web サイトを見ると、彼らはユーザーに披露するクイックタイム ムービーで優れた仕事をしています。以前にクイックタイム リンクを含めたとき、実際にユーザーに表示されるプレーヤーは非常に当たり障りのないものであり、ブラウザー間で、サファリ、クロム、つまり Firefox での表示とは大きく異なります。Apple は、これらすべての条件を非常にうまく処理しているようです。彼らが行っているのと同じことを達成するために (FLASH ではなく) 使用できるオープン ソース プレーヤーはありますか? Appleがそれを行っている場合、このプロセスを複製する方法があると思います.HTML 5には方法があることを知っていますが、html5はまだ完全にサポートされていないため、現在それを処理できる他のものを探していました. ..
前もって感謝します。
======= 解決済みアップデート =========
私はこれを解決しました。しばらく作業した後、アップルのサイトで小さな宝石を見つけました。Apple ドキュメントの使用- 私の左側にある ac_quicktime.js javascript ファイルがあり、ブラウザが見栄えの良い Quicktime X プレーヤーをサポートしていない場合に備えて、OGG ファイルにスワップします。OGG 変換には少し時間がかかりましたが、最終的にffmpeg theoraで変換できました。これを使用すると、完璧に機能しました。みんなの提案に感謝します!私はすでにいくつかの異なる分野でそれを使用しているので、これが他の誰かに役立つことを願っています!
このプロセスを支援した他のサイト:
最後に、.htaccess ファイルが .ogv ファイルを提供できることを確認してください。
audio - QuickTime-APIを使用してMOVファイルからオーディオメディアをエクスポートするにはどうすればよいですか?
QuickTime-APIを使用してMOVファイルのオーディオメディアをエクスポートし、WAVファイル(または同等のもの)に保存したいと思います。どうやってやるの?私はWindowsXPを使用しています。