0

サーバーのアクセス許可/設定を変更せずに、ASP.NET で FLV のサムネイルを取得する簡単な方法を探しています。サーバー マシンには何もインストールしないのが理想ですが、必要に応じて FFmpeg などの小さなツールを使用してもかまいません。

Process.Start でコマンド ライン ツールを使用して FFmpeg を試しましたが、Windows フォーム アプリケーションとコマンド プロンプトで機能する同じコマンドが ASP.NET では機能しません (おそらくアクセス許可のため)。

TAO.FFmpeg も使用してみましたが、ほとんどの場合動作しているように見えますが、ランダムに失敗し、マシンを再起動するまで再び動作しません。サンプルコード(decoder.cs)を使っても、一度のリクエストで複数の動画を開こうとすると失敗することがあります。

これがクリーンで簡単な方法で不可能な場合は、他の提案を受け入れます。

4

2 に答える 2

1

ページに Flash を埋め込むことができる場合、FLV のサムネイルを表示する最も簡単な方法は、ビデオ オブジェクトをステージに配置し、アクション スクリプトで NetStream を介してビデオをオブジェクトに添付し、イベント ハンドラを配置して一時停止することです。再生開始直後に移動します。

たとえば、ステージ上に「myVideo」というビデオ オブジェクトがあり、「someVideo.flv」のサムネイルを表示しようとしている場合は、次のアクション スクリプト (2.0) コードを試してください。

var connection_nc:NetConnection = new NetConnection();
connection_nc.connect(null);
var stream_ns:NetStream = new NetStream(connection_nc);
myVideo.attachVideo(stream_ns);
stream_ns.play("someVideo.flv");
stream_ns.seek(0);

stream_ns.onStatus = 関数 (情報)
{
    if(info.code = "NetStream.Play.Start")
    {

        stream_ns.pause();
    }
}

ASPX が Flash と通信するという点では、FlashVars を介して FLV ビデオ名を Flash に渡すことができ、SWF は表示するサムネイルを認識できます。

于 2008-10-14T14:55:05.913 に答える