Как записать потоки в чанках на Flash Media Server - PullRequest
1 голос
/ 24 июня 2009

Я хочу записать поток, который публикуется с помощью Flash Live Encoder в FMS 3.5, но разделить запись на файлы с предварительно определенной длиной. Например, если опубликован поток «веб-камера», я хочу записать его по 10 минут: «webcam1.flv», «webcam2.flv» ... Из того, что я могу сказать, нет возможности работать с таймерами. Единственное решение, о котором я мог подумать, - это использовать stream.record () с параметром ограничения времени, но это похоже на хак, потому что он вызывает NetStream.Record.DiskQuotaExceeded в потоке, когда запись должна остановиться и начать запись другого фрагмента. Кто-нибудь делал что-то подобное?

1 Ответ

1 голос
/ 11 марта 2010

На стороне сервера, почему бы просто не переиздать и записать поток с некоторым временным именем. Затем запустите таймер, который срабатывает каждые десять минут (или что-то еще), который останавливает запись этого потока и создает новый поток на стороне сервера, воспроизводящий поток клиента.

Что-то вроде:

setInterval("setNewStream", 600000);

function setNewStream() {
var now = new Date();
serverStream.record(false);
var filename = "recording-"+ now.getHours() + "-" + now.getMinutes();
serverStream = Stream.get(filename);
serverStream.play("clientStream");
serverStream.record();
}
...