2011-07-13 12 views
2

クロスブラウザで動作するようにMP4ビデオ(H.264)を埋め込みたいが、パフォーマンスが向上するようにhtml5を使用しています。私はWebMのバージョンを提供していない限り、FirefoxはFlashに落ちるはずです。H.264ビデオを(疑似)ストリームする方法 - クロスブラウザとhtml5の方法で?

問題:まだダウンロード中にChromeと他のブラウザで再生しながら、

Firefoxは、プレーを開始する前に、全体のビデオをダウンロードします。

<video poster="poster.jpg" preload="auto" autobuffer autoplay loop > 
    <source src="video.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"' /> 
</video> 

私はjMediaElementを使用し、フラッシュフォールバックを実装するには:

jQuery(function(){ 
    jQuery('video').jmeEmbed(); 
}); 

私はjMediaElementにいくつかの選択肢を試してみましたが、私は問題はコントロールを隠し、使用していたが、私がやったことだ

フラッシュプレーヤーの自動再生/ループ。 jMediaElementはJWplayerをフォールバックとして使用し、これらのすべてがビデオタグで宣言されたときに機能します。それがすることになっているような映像は、MIMEタイプ「ビデオ/ MP4」で配信されhttp://acn.lws-service.de/

のdevのバージョンは、現在あります。この問題は、JWplayer/jMediaElementに関連している可能性がありますか、それともビデオ(エンコーディング)自体である可能性がありますか?

jMediaElementの代わりに、ビデオの自動再生、ループ、コントロールの非表示を許可することもできます。

答えて

3

問題はあなたのビデオです。あなたのビデオには原子ムービーのデータがないので、フラッシュで再生するには完全にダウンロードする必要があります(プログレッシブダウンロードなし)。簡単な解決策があります。 Adobe Air Appがあります。ファイルの先頭にmoovデータを追加する必要があります。

hereをダウンロードできます。詳細はhereをご覧ください。

マークアップの変更について常にtype属性を追加する必要があります。オートバッファとプリロードについてautobufferは実際にはHTML5コンパイルではなく、プリロードに変更されています。 FF3.6は自動バッファをサポートしていますが、preloadはできません。幸いにも、jMediaElementはこれを検出し、preload = ""/preload = "auto"が設定されている場合、自動的にautobufferをtrueに設定します。しかし、自動再生を使用している場合、できるだけ早くビデオをダウンロードするようにプレーヤーの動作を自動的に設定します。ループもjMediaElementで正規化されているので、ここで問題はありません。

<video poster="poster.jpg" autoplay loop > 
    <source src="video.mp4" type="video/mp4" /> 
</video> 

または少し短い:あなたのHTMLコードは次のようになります - と `autobuffer`パラメータ - まだ同じ問題

<video poster="poster.jpg" src="video.mp4" type="video/mp4" autoplay loop ></video> 
+0

ありがとうございました!このAIRアプリケーション(QTIndexSwapper2)でビデオを処理した後、すべて正常に動作します。 HTMLパーツの解明と簡素化のおかげで、html5ビデオはそれほど複雑ではありません。 – Matt

+0

私はそのAIRアプリケーションのPHP版を見つけましたが、AIRアプリケーションは自分のビデオでうまく動作しますが、PHPスクリプトは「moov-atomはファイルの最後にはありません。プログレッシブダウンロードの準備ができていないか、または無効なファイルです。 " - 私たちは、AIRアプリケーションにこだわるか、このオプションがあるエンコーディングソフトウェアを使用する必要があるようです... – Matt

0

autobufferは、もはや有効な属性である、それは

loopが現在のFirefoxでサポートされていない(設定はnonemetadataautoある)preloadに置き換えられていません。

コーデックの宣言をsourceに残してみて、その動作を確認してください。

+0

私は、コーデック宣言を削除しました。私は、jwPlayerが責任を負うと思う... – Matt

関連する問題