1

サーバー側でライブ ストリームを記録しています (FMS 3.5.3 を使用)。録画中にビデオ録画が停止します。録画したビデオの長さを確認しましたが、常に異なります.2分だけの場合もあれば、10分、20分の場合もあります

誰でもこの問題に直面しましたか?これを解決するのを手伝ってくれたらうれしいです!

コード:

Client.prototype.RecordStart = function()
{
    trace("RecordStart");
    var ns = Stream.get("mp4:test:f4v"); 
    if (ns)
    { 
        ns.record(); 
        ns.play("livestream",-1,-1,false); 
    } 
}

Client.prototype.RecordStop = function()
{
    trace("RecordStop");
    var ns = Stream.get("mp4:test.f4v");
    ns.record(false);
    ns.play(false);
    ns.flush();
}
4

2 に答える 2

1

間違いはここ

var ns = Stream.get("mp4:test:f4v");  

"mp4:test:f4v"の代わりにas にする必要があり"mp4:test.f4v"ます。

于 2013-01-29T07:01:34.563 に答える
0

それでも問題が解決しない場合に備えて、 https ://forums.adobe.com/thread/865510 の ctdavids が提供する解決策が役に立ちました!

問題はそれです

var ns = Stream.get("mp4:test:f4v");

関数内にスコープを持つ ns 変数に記録ストリームを割り当てます。したがって、数分以内に、変数はガベージ コレクションを取得します。これにより、ステータス通知やエラー メッセージが表示されずに記録が突然停止します。

この問題を解決するには、変数をグローバル オブジェクト内に配置します。たとえば、次のようにします。

var ns = Stream.get("mp4:test:f4v"); strMaps[記録ストリーム名] = ns;

ここで、strMaps はグローバル変数 (オブジェクト) であり、recordingStreamName は記録の一意の名前です。

記録を停止すると、次を使用してこのグローバル参照を削除できます

strMaps[recordingStreamName] を削除します。

お役に立てれば!

于 2015-03-06T23:51:20.873 に答える