Hello,
I was testing the pjsip capabilities through the pjsua app, and the video
calls were working fine, until I tried to use a HD camera, the preview
shows a pink screen as well as the streaming on another computer.
I changed the H264 codec configuration (fps and resolution) to match the
camera, then I learned about the profile-level-id, that it needed to be
higher to support higher fps/resolution, so I coded that configuration
change in the pjsua app where it changes the resolution, so I could test
right away:
status = pjsua_vid_codec_get_param(&cid, &cp);
if (status == PJ_SUCCESS) {
cp.enc_fmt.det.vid.size.w = M;
cp.enc_fmt.det.vid.size.h = N;
cp.dec_fmtp.param[0].val = pj_str("xxxx32"); // <-- my change
status = pjsua_vid_codec_set_param(&cid, &cp);
}
I made sure to change the resolution to 1920x1080 after the app started, so
it would change the profile-level-id as well. It still didn't work after
all that, and in the end there are a few things I don't understand:
- Does the local preview depend on these codec configurations?
- If not, why does the preview show a pink screen?
- If yes, what am I doing wrong? Is there another step for HD video
streaming on pjsua that I am missing?
obs: the capture device that appears on the pjsua app is a capture card,
that is connected to a HD camera, and I know the camera is outputting video
because I can detect that on the capture card app.
Thanks, Nahra.
Hello,
I was testing the pjsip capabilities through the pjsua app, and the video
calls were working fine, until I tried to use a HD camera, the preview
shows a pink screen as well as the streaming on another computer.
I changed the H264 codec configuration (fps and resolution) to match the
camera, then I learned about the profile-level-id, that it needed to be
higher to support higher fps/resolution, so I coded that configuration
change in the pjsua app where it changes the resolution, so I could test
right away:
status = pjsua_vid_codec_get_param(&cid, &cp);
if (status == PJ_SUCCESS) {
cp.enc_fmt.det.vid.size.w = M;
cp.enc_fmt.det.vid.size.h = N;
cp.dec_fmtp.param[0].val = pj_str("xxxx32"); // <-- my change
status = pjsua_vid_codec_set_param(&cid, &cp);
}
I made sure to change the resolution to 1920x1080 after the app started, so
it would change the profile-level-id as well. It still didn't work after
all that, and in the end there are a few things I don't understand:
1. Does the local preview depend on these codec configurations?
2. If not, why does the preview show a pink screen?
3. If yes, what am I doing wrong? Is there another step for HD video
streaming on pjsua that I am missing?
obs: the capture device that appears on the pjsua app is a capture card,
that is connected to a HD camera, and I know the camera is outputting video
because I can detect that on the capture card app.
Thanks, Nahra.