Куренто Многие ко многим записывают пустые видео
Я пытаюсь отработать код, который был написан для демонстрации "Многие ко многим", используя в качестве справки демонстрацию "Один на один с записью". Я добавил следующий код в конструктор UserSession.java:
public static final String RECORDING_PATH = "file:///recordings/";
public static final String RECORDING_EXT = ".webm";
public UserSession(final String name, String roomName, final WebSocketSession session, MediaPipeline pipeline) {
this.pipeline = pipeline;
this.name = name;
this.session = session;
this.roomName = roomName;
this.outgoingMedia = new WebRtcEndpoint.Builder(pipeline).build();
this.recorder = new RecorderEndpoint.Builder(pipeline, RECORDING_PATH + roomName + '_' + name + RECORDING_EXT).build();
this.isRecording = false;
И я добавил это к нижней части метода getEndpointForUser после того, как входящие медиа подключены к одноранговому узлу сеанса:
sender.getOutgoingWebRtcPeer().connect(incoming);
sender.getOutgoingWebRtcPeer().connect(this.recorder);
Я запускаю запись и прекращаю запись вручную из браузера с помощью вызовов сокетов, но видеофайлы всегда пусты (0 КБ). Для каждого сеанса создается правильное количество видео, в которых просто нет данных. Кто-нибудь знает, что я могу делать не так?
1 ответ
ОЧЕНЬ ВАЖНО, что RecorderEndpoint знает о том, какой профиль ограничения медиа-контейнера используется. Моя проблема заключалась в том, что во время разработки у меня было отключено аудио на внешних медиа-ограничениях (это раздражает). RecorderEndpoint нужно знать об этом, передавая правильный MediaProfileSpecType.
this.recorder = new RecorderEndpoint.Builder(pipeline, RECORDING_PATH + roomName + '_' + name + RECORDING_EXT)
.withMediaProfile(MediaProfileSpecType.WEBM)
.build();
Просто включив звук в интерфейсе, это можно исправить, но вы также можете сослаться на код, содержащийся в других руководствах, в которых команда Kurento подключает RecorderEndpoint в соответствии с некоторой логикой контейнера медиа-ограничений, которая вам, вероятно, понадобится в производственном приложении. для людей, которые имеют проблемы с веб-камерой, где аудио или видео не проходят.