2016-11-25 4 views
2

Я работаю с потоковой передачей Webrtc.
Как я могу сжать видео файлы в webrtc ios?

- (RTCMediaConstraints *)defaultMediaStreamConstraints { 
NSArray *mandatoryConstraints = @[ 
            [[RTCPair alloc] initWithKey:@"maxWidth" value:@"640"], 
            [[RTCPair alloc] initWithKey:@"maxHeight" value:@"480"], 
            [[RTCPair alloc] initWithKey:@"maxFrameRate" value:@"15"], 
            ]; 

NSArray *optionalConstraints = @[]; 
RTCMediaConstraints* constraints1 = 
[[RTCMediaConstraints alloc] 
initWithMandatoryConstraints:mandatoryConstraints 
optionalConstraints:nil]; 
return constraints1; 
} 
- (RTCMediaConstraints *)defaultPeerConnectionConstraints { 
    NSArray *mandatoryConstraints = @[ [[RTCPair alloc] initWithKey:@"maxHeight" value:[NSString stringWithFormat:@"%@",@"640"]], 
            [[RTCPair alloc] initWithKey:@"maxWidth" value:[NSString stringWithFormat:@"%@",@"480"]], 
            [[RTCPair alloc] initWithKey:@"maxFrameRate" value:[NSString stringWithFormat:@"%@",@"15"]] 
            ]; 
    NSArray *optionalConstraints = @[]; 

    RTCMediaConstraints* constraints1 = 
        [[RTCMediaConstraints alloc] 
        initWithMandatoryConstraints:mandatoryConstraints 
        optionalConstraints:optionalConstraints]; 
return constraints1; 
} 


, но это не working.it Установим высокое качество видео потоковое.
Как сжать качество?

ответ

0

Вы должны установить пропускную способность видеосигнала непосредственно внутри SDP, прежде чем устанавливать его в качестве описания локального сеанса и отправлять его одноранговому узлу.

Найти a=mid:video\r\n и добавить b=AS:128\r\n к нему.

Вы можете сделать то же самое для аудиопотока, ища a=mid:audio\r\n.

Например, с учетом следующего SDP:

v=0 
o=- 487255629242026503 2 IN IP4 127.0.0.1 
s=- 
t=0 0 

a=rtcp:9 IN IP4 0.0.0.0 
a=ice-ufrag:8a1/LJqQMzBmYtes 
a=ice-pwd:sbfskHYHACygyHW1wVi8GZM+ 
a=ice-options:google-ice 
a=fingerprint:sha-256 28:4C:19:10:97:56:FB:22:57:9E:5A:88:28:F3:04: 
    DF:37:D0:7D:55:C3:D1:59:B0:B2:81 :FB:9D:DF:CB:15:A8 
a=setup:actpass 
a=mid:audio 
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level 
a=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time 

Вы должны добавить b=AS:128 между a=mid:audio и a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level.