4
WebRTC 스트림에서 오디오 및 비디오를 가져오고 우분투 서버에서 ffmpeg로 처리 (트랜스 코드 또는 덤프)하려고합니다. 나는 WebRTC가 제공 한 sdp를 간단히 해석 할 것을 순진하게 예상했지만 오해했습니다. 나는 ffmpeg가 대답 sdp를 다시 알릴 수 없다고 의심하고 수동으로해야만한다. 제안 sdp가 있습니다.서버에서 ffmpeg를 사용하여 WebRTC 스트림에서 오디오 및 비디오를 얻는 방법
v=0
o=Mozilla-SIPUA-33.1 3662 0 IN IP4 0.0.0.0
s=SIP Call
t=0 0
a=ice-ufrag:5e0a74d1
a=ice-pwd:7446c0eb445117d0018ca2afc5f3ca54
a=fingerprint:sha-256 76:1B:19:CE:3F:41:C5:4D:64:E6:FD:72:D2:FC:42:E1:98:D4:0F:2B:73:AE:C7:F4:2C:73:2C:E7:9E:DC:6A:EB
m=audio 23063 RTP/SAVPF 109 0 8 101
c=IN IP4 188.253.146.208
a=rtpmap:109 opus/48000/2
a=ptime:20
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=sendrecv
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=setup:actpass
a=candidate:0 1 UDP 2128609535 192.168.1.100 4130 typ host
a=candidate:1 1 UDP 1692467199 188.253.146.208 23063 typ srflx raddr 192.168.1.100 rport 4130
a=candidate:0 2 UDP 2128609534 192.168.1.100 4131 typ host
a=candidate:1 2 UDP 1692467198 188.253.146.208 23064 typ srflx raddr 192.168.1.100 rport 4131
a=rtcp-mux
m=video 23065 RTP/SAVPF 120 126 97
c=IN IP4 188.253.146.208
a=rtpmap:120 VP8/90000
a=rtpmap:126 H264/90000
a=fmtp:126 profile-level-id=42e01f;packetization-mode=1
a=rtpmap:97 H264/90000
a=fmtp:97 profile-level-id=42e01f
a=sendrecv
a=rtcp-fb:120 nack
a=rtcp-fb:120 nack pli
a=rtcp-fb:120 ccm fir
a=rtcp-fb:126 nack
a=rtcp-fb:126 nack pli
a=rtcp-fb:126 ccm fir
a=rtcp-fb:97 nack
a=rtcp-fb:97 nack pli
a=rtcp-fb:97 ccm fir
a=setup:actpass
a=candidate:0 1 UDP 2128609535 192.168.1.100 4132 typ host
a=candidate:1 1 UDP 1692467199 188.253.146.208 23065 typ srflx raddr 192.168.1.100 rport 4132
a=candidate:0 2 UDP 2128609534 192.168.1.100 4133 typ host
a=candidate:1 2 UDP 1692467198 188.253.146.208 23066 typ srflx raddr 192.168.1.100 rport 4133
a=rtcp-mux
아무도 성공하지 못 했습니까? 감사.
SDP를 교환하는 것 외에도 더 많은 단계가 있으므로 webrtc 설정을 처리하기 위해 일종의 게이트웨이가 필요합니다. –
나는 이해한다. 필자는 ffmpeg CLI 매개 변수를 입력 한 다음 수동으로 오퍼를 준비합니다. 필자는 WebRTC 스트림을 수신하는 ffmpeg의 개념을 증명할 필요가 있습니다. – elshnkhll
내가 어떻게 알 수있는 유일한 방법은 게이트웨이를 사용하여 모든 대화를 한 다음 rtp를 파이핑하여 UDP 포트로 보내 FFMpeg 명령을 수신하는 것입니다. 나는 [Janus-gateway] (https://github.com/meetecho/janus-gateway)와 gstreamer의 libav 요소를 사용하여이 작업을 성공적으로 마쳤습니다. 따라서 FFMPeg를 사용하면 비슷한 과정을 거쳐야합니다. –