この例でライブ ストリームを保存しようとしています。テストのためにローカルホストで作業しており、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
、何も起こりませんでした。
何が問題になる可能性がありますか? 助言がありますか?