Hi,
Ok, the video pathname isn't passed to janus_recorder_create_full function.
Assuming to configure the record request linke this:
var record = { request: "recording", action: "start", id: parseInt(selectedStream) || selectedStream,
audio: "/opt/janus/share/janus/recordings/as",
video: "/opt/janus/share/janus/recordings/vs" };
Debugging the janus_recorder_create_full(const char *dir, const char *codec, const char *fmtp, const char *filename) function I can see 'filename' param (and 'dir') is NULL in case of video streaming. In case of audio streaming 'filename' param is correct! Audio is recorded in /opt/janus/share/janus/recordings/as.mjr as request.
Instead, in case of video streaming, the code try to generate a random name, one for any streams, without NO basename and then the recording path is wrong because is just the filename. This lead to the previous error I mentioned about fopen permissions error.
Do is a bug related to the multistream case? In example, with 2 streams I'm expecting to find two recordings like /opt/janus/share/janus/recordings/vs-<randomnum>.mjr and /opt/janus/share/janus/recordings/vs-<anotherrandomnum>.mjr ('vs' can be a custom identifier to recognize videos later). I've tried to hardcode a path in the
janus_recorder_create_full function and this works fine generating 2 video streams but with totally random names. Obviously, setting a custom name from recording javascript request is mandatory in order to recognize the specific recording later. Can you check this error? Is there a workaround to fix that?
In addition, the documentation say:
"audio" : "<enable audio recording, and use this base path/filename; optional>",
"video" : "<enable video recording, and use this base path/filename; optional>",
...but audio and video are mandatory because without those params there is another error like:
[ERR] [plugins/janus_streaming.c:janus_streaming_process_synchronous_request:4568] Missing audio, video and/or data
I think this is a secondary problem.
Many thanks, bye