HTML5 WebGL に対応していないブラウザで、HTML5 WebGL 動画の再生を動画(音声含む)で記録することはできますか?たとえば、SeriouslyJS (http://seriouslyjs.org/) のものを、ほとんどのブラウザー/デバイスで受け入れられる形式で、バックエンドに記録することは可能でしょうか?
私は多くのバックエンド作業を行ってきましたが、バックエンド GUI に関連するものは何もありませんでした。
スクリーンキャプチャソフトウェア(ScreenFlowなど)を使用して1つ以上の静的ビデオを録画し、それをビデオとして有効になっていないブラウザに表示することができます。JavaScript側では、ビデオに「フォールバック」する必要があります。擬似コードが続きます:
var canvas = document.getElementByID('webgl-canvas');
var webgl = canvas.getContext("experimental-webgl");
if (!webgl) {
/*
create a <video> element and replace the <canvas>
tag with it. Or, have the <video> tag already
created and hidden with CSS, and display it at this
time.
*/
} else {
/*
Proceed with the interactive, WebGL-enabled version.
*/
}
ただし、ビデオは明らかにテクノロジーによって制限されます。これは、事前に再コード化された非インタラクティブなビデオです。疑似インタラクティブスタイルを実現するには(リンクごとにボタンを押すだけの単純なものである限り)、HTML5メディアAPIを使用して、事前に録画された複数のビデオを動的に切り替えることができますが、これがどれほどうまくいくかはわかりません。帯域幅と同期の問題があるため、実際に動作します。シーケンスを開始する前に、各ビデオに許容可能な量のバッファリングがあることを検証することをお勧めします。
注:上記の提案は、WebGLの代わりに、少なくともHTML5のサポートを前提としています。HTML5をサポートしていない古いブラウザをターゲットにしている場合は、YouTubeビデオのような単純なもので立ち往生している可能性があると思います。