0

私はこの問題に一日中費やしましたが、何かが足りないのではないかと心配しています。

S3 サーバーに AVC エンコーディングのシンプルな mov/mp4 ファイルがあり、それを再生する swf ファイルがあります。here で説明されているように、それを行う2つの方法が見つかりました。

最初のものは次のとおりです。

nc.connect(null);
var ns:NetStream = new NetStream(nc);
ns.play("http://url.path/movie.mov");

これは機能しますが、ビデオをダウンロードし、終了すると再生を開始するようです。

ビデオストリーミングに使用するには、次のように使用する必要があります。

nc.connect("http://url.path/");
var ns:NetStream = new NetStream(nc);
ns.play("movie.mov");

このコードは、NetStream ctor で失敗します。

ArgumentError: エラー #2126: NetConnection オブジェクトを接続する必要があります。

質問:

  1. これはこれを行う正しい方法ですか、それともコードに何か不足していますか?
  2. とても悲しいスレッドを見つけましたが、S# からのストリーミング ビデオを再生する HTML ビデオ プレーヤーを作成しました。これはどうですか?
  3. 少し読んで、最終的にのみメタデータを送信するh264形式が原因である可能性があることがわかりました。これは正しいですか?それを別の形式に変換すると解決しますか?
  4. すべてのフラッシュ ストリーミング チュートリアルでは、ビデオを RTMP プロトコルで保存することを前提としており、それについて少し読んで、 Amazon Web Services で Adob​​e Media Server 5 を使用できることを確認しました。やらなくてはいけませんか?そのための無料のソリューションはありますか、それともフラッシュはこのプロトコルのみをストリーミングできますか?

どうも。

4

2 に答える 2

0

再生が始まる前にファイルが完全にダウンロードされている場合は、メタデータがビデオの最後にある可能性があります。

このメタデータをファイルの先頭に移動するには、 qt-faststartを使用してみてください(またはコンパイル済みのバイナリ バージョンをオンラインで検索してください)。

于 2012-08-15T11:21:04.987 に答える
0

あなたの2つの方法について:

  1. サーバーにその MIME タイプをストリーミングするように指示する必要があるか (S3 の経験はありませんが、一般的なビデオ タイプ用に既にセットアップされている可能性があります)、またはファイル タイプがストリーミング用にサポートされているタイプではありません (MOOV アトム -メタ データ- はファイルの先頭ではなく末尾にあります)。Adobe Media Encoder (またはこのデータをファイルの先頭に配置する別のエンコード プログラム) を使用して、.mp4 (h.264 エンコード) または .f4v (または .flv) に再エンコードします。

  2. これはストリーミング メディア サーバー (Flash Media Server) 用なので、メディア サーバーのアドレスを入力します。「rtmp://メディアサーバー/アプリケーション/ストリーム名」.

于 2012-08-14T17:03:57.800 に答える