Wowza Community

WebRTC video recording quality

Hi,

Our team implemented the video booth application using Wowza’s WebRTC flow to record the videos on the site.
We are trying to provide the best input quality however the recorded output video resolution is always low.

Input device

  • Logitech HD 1080p
  • MacBook Pro build-in HD camera

Video constraints

  • width: {max: 1920, ideal: 1280},
  • height: {max: 1080, ideal: 720},
  • frameRate: {ideal: 30}

Input video params according to webrtc-internals
RTCVideoSource (media-source)

  • width: 1280
  • height: 720
  • framesPerSecond: 30

Output video params according to ffprobe result:

  • width: 640
  • height: 360
  • frame rate: 30/1

Video codecs SDP parameters before munge:

a=rtpmap:102 H264/90000
a=rtcp-fb:102 goog-remb
a=rtcp-fb:102 transport-cc
a=rtcp-fb:102 ccm fir
a=rtcp-fb:102 nack
a=rtcp-fb:102 nack pli
a=fmtp:102 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42001f

a=rtpmap:120 rtx/90000
a=fmtp:120 apt=102
a=rtpmap:127 H264/90000
a=rtcp-fb:127 goog-remb
a=rtcp-fb:127 transport-cc
a=rtcp-fb:127 ccm fir
a=rtcp-fb:127 nack
a=rtcp-fb:127 nack pli
a=fmtp:127 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42001f

a=rtpmap:119 rtx/90000
a=fmtp:119 apt=127
a=rtpmap:125 H264/90000
a=rtcp-fb:125 goog-remb
a=rtcp-fb:125 transport-cc
a=rtcp-fb:125 ccm fir
a=rtcp-fb:125 nack
a=rtcp-fb:125 nack pli
a=fmtp:125 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f

a=rtpmap:107 rtx/90000
a=fmtp:107 apt=125
a=rtpmap:108 H264/90000
a=rtcp-fb:108 goog-remb
a=rtcp-fb:108 transport-cc
a=rtcp-fb:108 ccm fir
a=rtcp-fb:108 nack
a=rtcp-fb:108 nack pli
a=fmtp:108 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42e01f

Video codecs SDP parameters after munge (wowza example):

a=rtpmap:107 rtx/90000
a=fmtp:107 apt=125
a=rtpmap:108 H264/90000
a=rtcp-fb:108 goog-remb
a=rtcp-fb:108 transport-cc
a=rtcp-fb:108 ccm fir
a=rtcp-fb:108 nack
a=rtcp-fb:108 nack pli
a=fmtp:108 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42e01f

According to the docs the 42e01f (level 3.1) can provide the following resulutions / fps:

  • 720×480 fps 80.0
  • 720×576 fps 66.7
  • 1,280×720 fps 30.0

Does anybody know how to increase the quality of output recorded video?