2

この例でライブ ストリームを保存しようとしています。テストのためにローカルホストで作業しており、Red5 のバージョンは 1.0 です。

streamPublishStartメソッドはストリームを受け取り、それをメソッドで flv として保存しsaveAsます。しかし、私の記録した flv ファイルは 1 フレーム (秒ではない、GOM Player で確認) しかありません。しかし、受信したパッケージをストリーミングしてチェックするリスナーをアタッチすると、それらが継続的に送信されていることがわかります。

これが私がテストした方法です。

public void streamPublishStart(IBroadcastStream stream) {
    try {
        stream.addStreamListener(new IStreamListener() {
            @Override
            public void packetReceived(IBroadcastStream streamObj, IStreamPacket packet) {  
                System.out.println(packet.getTimestamp() + " - " + packet.getDataType());
            }
        });

        stream.saveAs(stream.getPublishedName(), false);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

このコードは、記録を停止するまでタイムスタンプを出力しました。受信したパッケージからこれらのバイトを保存し、作成されたファイル メソッドとマージしようとしましたがsaveAs、何も起こりませんでした。

何が問題になる可能性がありますか? 助言がありますか?

4

1 に答える 1

0

私はRed5 0.8.0 Final、Java 6にダウングレードし、 SimpleRecorder の例を使用しましたが、うまくいきました。

oflaDemo のソースが見つかりませんでしたが、JD Java 逆コンパイラでクラスを .java ファイルに変換できます

oflaDemo クラスは、webapps/oflaDemo/WEB-INF/classesインストーラーからインストールした後のディレクトリにあります。

これは実際の答えではありませんが、より良い答えが現れるまで、これは正解のままです。

于 2013-01-20T14:42:39.663 に答える