2011-06-24 9 views
1

LinuxでOpenGLとC++を使ってGLUTウィンドウで.flvファイルを再生しようとしていますが、どこから起動するのか分かりません。C++ OpenGLアプリケーションでFLVファイルを再生するにはどうすればよいですか?

これは可能ですか?もしそうなら、どうですか?

+0

Ogre 3Dエンジンには、Flashビデオを再生できるプラグインがあります。それがあなたの出発点になります。 – n0rd

答えて

0

あなたがそうでなければ、単にいくつかのビデオを再生@ Bantharの答えを見てみたい場合:


OpenGLは飾り気のない描画しないAPIです。いくつかのフレームバッファを描画するための "ペンとブラシ"に相当するコンピュータを提供します。期間。それ以上のレベルの機能はありません。

これは本当に複雑なことです。これは、ベクトルジオメトリオブジェクトシステム、スクリプトエンジン(ActionScript)、サウンドおよびビデオの圧縮解除などを提供します。すべてこれはSWFプレーヤーでサポートされている必要があります。 ATMにはフル装備のSWFプレーヤーが1つしかありません。これはAdobeが作ったものです。無料の選択肢がありますが、いくつかの主要なバージョン(Lightspark、Gnash)によって公式フラッシュプレーヤーの後ろにあります。

これは、Flash Playerのブラウザプラグインをプラグインインターフェイス経由でプログラムに読み込んで提供し、プラグインに提供するもの(DOM、HTTPトランスポートなど)にプラグインをレンダリングすることでしたあなたはOpenGLのコンテキストにコピーするオフスクリーンバッファに。しかしそれはあまり効率的ではありません。

TL; DR:sh **として複雑で、おそらく努力する価値がありません。

1

本当にやりたければ、Gnashのソースコードを見てください。彼らはOpenGLを使うレンダラーを持っています。しかしレンダリングは仕事のほんの一部ですが、フラッシュファイルを実行するためにオーディオ/ビデオのデコード、アクションスクリプトの実行なども必要です。

それも、アドビシステムズ社が管理していなかったことを非常に複雑、それは右:)

3

あなたがいない.swf.flvを意味していることを確認してくださいようにします。

非常に簡単です。 libavcodecのようなビデオをデコードし、生のフレームをテクスチャとして使用することができます。

+1

ああ、そうだ、OPはフラッシュ*ビデオ*を意味するように見える。それはできます。 – datenwolf

関連する問題