@@ -74,11 +74,8 @@ export const janusStream = (env: NodeJS.ProcessEnv, videoPort: number, videoRtcp
74
74
ChildProcess => spawn ( 'gst-launch-1.0' , [
75
75
'-v' ,
76
76
'rtpbin' , 'name=rtpbin' , 'rtp-profile=avpf' ,
77
- // use-damage=true uses too much CPU, use-damage=false stutters (when not 30/60 FPS)
78
- // https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/809
79
- // hi Amby, and thanks for your work at Hyperbeam :)
80
77
'ximagesrc' , 'show-pointer=true' , 'use-damage=true' ,
81
- '!' , `video/x-raw,framerate=${ fps } /1` , '!' , 'videoconvertscale' ,
78
+ '!' , 'videoconvert' , '!' , 'videorate' , '!' , `video/x-raw,framerate=${ fps } /1` ,
82
79
'!' , 'queue' ,
83
80
'!' , 'vp8enc' ,
84
81
'deadline=1' ,
@@ -90,15 +87,14 @@ export const janusStream = (env: NodeJS.ProcessEnv, videoPort: number, videoRtcp
90
87
'token-partitions=4' ,
91
88
`keyframe-max-dist=${ Number ( fps ) * 2 } ` , // adjust once we add keyframe requests
92
89
'min-quantizer=0' ,
93
- 'max-quantizer=56 ' ,
94
- 'undershoot=95 ' ,
90
+ 'max-quantizer=50 ' ,
91
+ 'static-threshold=0 ' ,
95
92
'!' , 'rtpvp8pay' , 'pt=100' , 'mtu=1204' ,
96
93
'!' , 'rtpbin.send_rtp_sink_0' ,
97
94
'rtpbin.send_rtp_src_0' , '!' , 'udpsink' , `host=${ streamingIp } ` , `port=${ videoPort } ` ,
98
95
'rtpbin.send_rtcp_src_0' , '!' , 'udpsink' , `host=${ streamingIp } ` , `port=${ videoRtcpPort } ` , 'sync=false' , 'async=false' ,
99
96
'pulsesrc' ,
100
- '!' , 'audioresample' ,
101
- '!' , 'audio/x-raw,channels=2,rate=48000' ,
97
+ '!' , 'audioconvert' , '!' , 'audioresample' , '!' , 'audio/x-raw,channels=2,rate=48000' ,
102
98
'!' , 'queue' ,
103
99
'!' , 'opusenc' ,
104
100
'audio-type=restricted-lowdelay' ,
0 commit comments