One-Way Video - Send Only

TP
Taylor Prins
Tue, Aug 13, 2019 7:20 PM

I cannot seem to get one-way video to work with pjsip.  I'm using 2.7.2.  The camera I have is using the mxc_v4l2 driver and can be seen by v4l2-ctl but in pjsip, it shows up as no supported formats.  A few things are happening:

  1. I have vid_in_auto_show = PJ_FALSE but yet the sdp that gets generated in a call always has the video set for sendrecv
  2. Because of #1, if I attempt a call, the device always fails during the 'Setting up RX' state as I have no rendering device
  3. If I try to use the vid_streamutil that is bundled with the samples, I get an error stating "Device has no supported format: Unknown error from video driver (PJMEDIA_EVID_SYSERR)"

Anyone have any ideas?

'vid dev list':
11:44:14.464 pjsua_app_comm !Video device list:
11:44:14.464 pjsua_app_comm  3 device(s) detected:
11:44:14.464 pjsua_app_comm  -1  [v4l2][capture] (default capture device)
11:44:14.464 pjsua_app_comm      Supported capabilities: format
11:44:14.464 pjsua_app_comm      Supported formats:
11:44:14.464 pjsua_app_comm    0  [v4l2][capture]
11:44:14.464 pjsua_app_comm      Supported capabilities: format
11:44:14.464 pjsua_app_comm      Supported formats:
11:44:14.464 pjsua_app_comm    1 Colorbar generator [Colorbar][capture]
11:44:14.464 pjsua_app_comm      Supported capabilities: format
11:44:14.464 pjsua_app_comm      Supported formats: YUY2, UYVY, YVYU, RGBA, RGB24, BGRA, YV12, I420, I422, I420JPG, I422JPG
11:44:14.464 pjsua_app_comm    2 Colorbar-active [Colorbar][capture]
11:44:14.464 pjsua_app_comm      Supported capabilities: format
11:44:14.464 pjsua_app_comm      Supported formats: YUY2, UYVY, YVYU, RGBA, RGB24, BGRA, YV12, I420, I422, I420JPG, I422JPG

v4l2-ctl -all:
Driver Info (not using libv4l2):
Driver name  : mxc_v4l2
Card type    :
Bus info      :
Driver version: 0.1.11
Capabilities  : 0x05000005
Video Capture
Video Overlay
Read/Write
Streaming
Video input : 0 (CSI IC MEM: ok)
Video output: 0 (DISP3 BG)
Video Standard = 0x00000000
Format Video Capture:
Width/Height      : 1280/720
Pixel Format      : 'YUYV'
Field            : Any
Bytes per Line    : 2560
Size Image        : 4147200
Colorspace        : Default
Transfer Function : Default (maps to Rec. 709)
YCbCr/HSV Encoding: Default (maps to ITU-R 601)
Quantization      : Default (maps to Limited Range)
Format Video Overlay:
Left/Top    : 0/0
Width/Height: 160/160
Field      : Any
Chroma Key  : 0x00000000
Global Alpha: 0x00
Clip Count  : 0
Clip Bitmap : No
Framebuffer Format:
Capability    : Extern Overlay
Flags        : Overlay Matches Capture/Output Size
Width        : 0
Height        : 0
Pixel Format  : ''
Crop Capability Video Capture:
Bounds      : Left 0, Top 0, Width 640, Height 480
Default    : Left 0, Top 0, Width 640, Height 480
Pixel Aspect: 0/0
Crop: Left 0, Top 0, Width 640, Height 480
Streaming Parameters Video Capture:
Capabilities    : timeperframe
Frames per second: 30.000 (30/1)
Read buffers    : 0

Error seen when attempting a vid call:
15:43:47.601    pjsua_app.c  .....Call 0 state changed to CONNECTING
15:43:47.602  pjsua_media.c  .....Call 0: updating media..
15:43:47.602  pjsua_media.c  .......Media stream call00:0 is destroyed
15:43:47.602    pjsua_aud.c  ......Audio channel update..
15:43:47.603 strm0x74905464  .......VAD temporarily disabled
15:43:47.607 strm0x74905464  .......Encoder stream started
15:43:47.607 strm0x74905464  .......Decoder stream started
15:43:47.608  pjsua_media.c  ......Audio updated, stream #0: G722 (sendrecv)
15:43:47.609  pjsua_media.c  .......Media stream call00:1 is destroyed
15:43:47.609    pjsua_vid.c  ......Video channel update..
15:43:47.668 vstenc0x7490ab  .......Encoder stream started
15:43:47.668 vstdec0x7490ab  .......Decoder stream started
15:43:47.669    pjsua_vid.c  .......Setting up RX..
15:43:47.669    pjsua_vid.c  ........Creating video window: type=stream, cap_id=-1, rend_id=1
15:43:47.670    pjsua_vid.c  .........Window 0: destroying..
15:43:47.670  pjsua_media.c  ......pjsua_vid_channel_update() failed for call_id 0 media 1: Invalid video device (PJMEDIA_EVID_INVDEV)
15:43:47.670    pjsua_vid.c  .......Stopping video stream..
15:43:47.677  pjsua_media.c  .......Media stream call00:1 is destroyed
15:43:47.678  pjsua_media.c  ......Error updating media call00:1: Invalid video device (PJMEDIA_EVID_INVDEV)

Taylor Prins
Senior Embedded Software Engineer | Code Blue Corporation
tprins@codeblue.commailto:tprins@codeblue.com | www.codeblue.comhttp://www.codeblue.com/
o: 616-355-8482 | f: 616-392-8391

Follow us on Social Media:
Facebookhttps://www.facebook.com/codebluecorp | Twitterhttps://twitter.com/codebluecorp | LinkedInhttp://www.linkedin.com/company/code-blue-corporation | YouTubehttps://www.youtube.com/codebluecorporation

[email_sig_gsx]https://codeblue.com/2019-gsx-chicago/

I cannot seem to get one-way video to work with pjsip. I'm using 2.7.2. The camera I have is using the mxc_v4l2 driver and can be seen by v4l2-ctl but in pjsip, it shows up as no supported formats. A few things are happening: 1. I have vid_in_auto_show = PJ_FALSE but yet the sdp that gets generated in a call always has the video set for sendrecv 2. Because of #1, if I attempt a call, the device always fails during the 'Setting up RX' state as I have no rendering device 3. If I try to use the vid_streamutil that is bundled with the samples, I get an error stating "Device has no supported format: Unknown error from video driver (PJMEDIA_EVID_SYSERR)" Anyone have any ideas? 'vid dev list': 11:44:14.464 pjsua_app_comm !Video device list: 11:44:14.464 pjsua_app_comm 3 device(s) detected: 11:44:14.464 pjsua_app_comm -1 [v4l2][capture] (default capture device) 11:44:14.464 pjsua_app_comm Supported capabilities: format 11:44:14.464 pjsua_app_comm Supported formats: 11:44:14.464 pjsua_app_comm 0 [v4l2][capture] 11:44:14.464 pjsua_app_comm Supported capabilities: format 11:44:14.464 pjsua_app_comm Supported formats: 11:44:14.464 pjsua_app_comm 1 Colorbar generator [Colorbar][capture] 11:44:14.464 pjsua_app_comm Supported capabilities: format 11:44:14.464 pjsua_app_comm Supported formats: YUY2, UYVY, YVYU, RGBA, RGB24, BGRA, YV12, I420, I422, I420JPG, I422JPG 11:44:14.464 pjsua_app_comm 2 Colorbar-active [Colorbar][capture] 11:44:14.464 pjsua_app_comm Supported capabilities: format 11:44:14.464 pjsua_app_comm Supported formats: YUY2, UYVY, YVYU, RGBA, RGB24, BGRA, YV12, I420, I422, I420JPG, I422JPG v4l2-ctl -all: Driver Info (not using libv4l2): Driver name : mxc_v4l2 Card type : Bus info : Driver version: 0.1.11 Capabilities : 0x05000005 Video Capture Video Overlay Read/Write Streaming Video input : 0 (CSI IC MEM: ok) Video output: 0 (DISP3 BG) Video Standard = 0x00000000 Format Video Capture: Width/Height : 1280/720 Pixel Format : 'YUYV' Field : Any Bytes per Line : 2560 Size Image : 4147200 Colorspace : Default Transfer Function : Default (maps to Rec. 709) YCbCr/HSV Encoding: Default (maps to ITU-R 601) Quantization : Default (maps to Limited Range) Format Video Overlay: Left/Top : 0/0 Width/Height: 160/160 Field : Any Chroma Key : 0x00000000 Global Alpha: 0x00 Clip Count : 0 Clip Bitmap : No Framebuffer Format: Capability : Extern Overlay Flags : Overlay Matches Capture/Output Size Width : 0 Height : 0 Pixel Format : '' Crop Capability Video Capture: Bounds : Left 0, Top 0, Width 640, Height 480 Default : Left 0, Top 0, Width 640, Height 480 Pixel Aspect: 0/0 Crop: Left 0, Top 0, Width 640, Height 480 Streaming Parameters Video Capture: Capabilities : timeperframe Frames per second: 30.000 (30/1) Read buffers : 0 Error seen when attempting a vid call: 15:43:47.601 pjsua_app.c .....Call 0 state changed to CONNECTING 15:43:47.602 pjsua_media.c .....Call 0: updating media.. 15:43:47.602 pjsua_media.c .......Media stream call00:0 is destroyed 15:43:47.602 pjsua_aud.c ......Audio channel update.. 15:43:47.603 strm0x74905464 .......VAD temporarily disabled 15:43:47.607 strm0x74905464 .......Encoder stream started 15:43:47.607 strm0x74905464 .......Decoder stream started 15:43:47.608 pjsua_media.c ......Audio updated, stream #0: G722 (sendrecv) 15:43:47.609 pjsua_media.c .......Media stream call00:1 is destroyed 15:43:47.609 pjsua_vid.c ......Video channel update.. 15:43:47.668 vstenc0x7490ab .......Encoder stream started 15:43:47.668 vstdec0x7490ab .......Decoder stream started 15:43:47.669 pjsua_vid.c .......Setting up RX.. 15:43:47.669 pjsua_vid.c ........Creating video window: type=stream, cap_id=-1, rend_id=1 15:43:47.670 pjsua_vid.c .........Window 0: destroying.. 15:43:47.670 pjsua_media.c ......pjsua_vid_channel_update() failed for call_id 0 media 1: Invalid video device (PJMEDIA_EVID_INVDEV) 15:43:47.670 pjsua_vid.c .......Stopping video stream.. 15:43:47.677 pjsua_media.c .......Media stream call00:1 is destroyed 15:43:47.678 pjsua_media.c ......Error updating media call00:1: Invalid video device (PJMEDIA_EVID_INVDEV) Taylor Prins Senior Embedded Software Engineer | Code Blue Corporation tprins@codeblue.com<mailto:tprins@codeblue.com> | www.codeblue.com<http://www.codeblue.com/> o: 616-355-8482 | f: 616-392-8391 Follow us on Social Media: Facebook<https://www.facebook.com/codebluecorp> | Twitter<https://twitter.com/codebluecorp> | LinkedIn<http://www.linkedin.com/company/code-blue-corporation> | YouTube<https://www.youtube.com/codebluecorporation> [email_sig_gsx]<https://codeblue.com/2019-gsx-chicago/>