Kakao i ConnectLive Q&A 게시판

삼성 보급형 핸드폰으로 방송송출시 방송이 나오지 않습니다

모델 : Galaxy A12
안드로이드 버전 : 11

● 크롬 정보
애플리케이션 버전 : chrome 96.0.4664.104
운영체제 : Android11:SM-A125N Build/RP1A.200720.012
입니다.

  1. 삼성 보급형 핸드폰으로 방송송출시 방송이 나오지 않습니다.
    방송 송출시 config

       media: {
     	video: {
     		width: '1280',
     		height: '720',
     		codec: 'vp8',
     		maxBandwidth: 3000,
     		frameRate: 30,
     	},
     	audio : true,
     	audiogroup: ''
     }
    

로 방송을 송출합니다.
이렇게 방송송출시 제공해주시는 console창에서도 방송이 나오지 않으며

  1. 해당 삼성제품의 경우, 정상적인 방송송출이 되더라도 동영상 join은 되는데 재생이되지 않는 문제도 있습니다.

참조.
도움이 될지 잘모르겠지만 영상받는 로그를 첨부해드립니다.

● PC 로그

utils.js:484 [Array(1)]
remon.min.js:1 [RM]I> Signaling: Connect
remon.min.js:1 [RM]I> try connect signaling. remainRetries:5
remon.min.js:1 [RM]I> PeerCon: context has addTrack
remon.min.js:1 [RM]I> config {selectiveCandidate: undefined, iceServers: Array(2), localStream: undefined, localVideo: undefined, audioType: ‘voice’, …}
remon.min.js:1 [RM]I> Signaling: Success connect to the signaling server
remon.min.js:1 [RM]I> Signaling: Create channel: As a viewer
remon.min.js:1 [RM]I> Signaling: On create channel
remon.min.js:1 [RM]I> Signaling: 200
remon.min.js:1 [RM]I> Channel id: 8808990837314_remoteVideo1_1640243746017_K6zqn:PEe9163bf8a6bc47a9a606c4cb7f97415a
remon.min.js:1 [RM]I> Channel type: VIEWER
remon.min.js:1 [RM]I> createViewerOffer is called Safari
remon.min.js:1 [RM]I> Local Description: RTCSessionDescription {type: ‘offer’, sdp: ‘v=0\r\no=- 1185274431353447790 2 IN IP4 127.0.0.1\r\ns… transport-cc\r\na=fmtp:37 repair-window=10000000\r\n’}
utils.js:484 [‘EVENT FIRED: onJoin: 8808990837314_remoteVideo1_16…43746017_K6zqn:PEe9163bf8a6bc47a9a606c4cb7f97415a’]
remon.min.js:1 [RM]I> Signaling: On sdp
remon.min.js:1 [RM]I> Create answer
remon.min.js:1 [RM]I> PeerCon: Handle signaling state change event
remon.min.js:1 [RM]G> PeerCon: Bind remote stream
remon.min.js:1 [RM]G> PeerCon: Bind remote stream
remon.min.js:1 [RM]I> Remote Description Setted
remon.min.js:1 [RM]I> new Local Description: RTCSessionDescription {type: ‘answer’, sdp: ‘v=0\r\no=- 1185274431353447790 3 IN IP4 127.0.0.1\r\ns…pli\r\na=rtpmap:101 rtx/90000\r\na=fmtp:101 apt=100\r\n’}
remon.min.js:1 [RM]I> PeerCon: Handle signaling state change event
remon.min.js:1 [RM]I> Message ->: {command: ‘sdp’, token: ‘PEe9163bf8a6bc47a9a606c4cb7f97415a’, serviceId: ‘5df17884-e8cf-4b10-9f9b-2ed6a209e1df’, channel: {…}, body: ‘{“type”:“answer”,“sdp”:“v=0\r\no=- 118527443135344…=rtpmap:101 rtx/90000\r\na=fmtp:101 apt=100\r\n”}’}
remon.min.js:1 [RM]I> PeerCon: Handle ice gathering state event
remon.min.js:1 [RM]I> PeerCon: Handle ICE state change event
remon.min.js:1 [RM]I> Event: checking: Event {isTrusted: true, type: ‘iceconnectionstatechange’, target: RTCPeerConnection, currentTarget: RTCPeerConnection, eventPhase: 2, …}
remon.min.js:1 [RM]I> Sending ice state to other
remon.min.js:1 [RM]I> PeerCon: HandleICECandidateEvent
remon.min.js:1 [RM]I> PeerCon: Handle connection state change event
remon.min.js:1 [RM]I> Event: connecting: Event {isTrusted: true, type: ‘connectionstatechange’, target: RTCPeerConnection, currentTarget: RTCPeerConnection, eventPhase: 2, …}isTrusted: truebubbles: falsecancelBubble: falsecancelable: falsecomposed: falsecurrentTarget: RTCPeerConnection {_eventMap: {…}, currentLocalDescription: RTCSessionDescription, pendingLocalDescription: null, remoteDescription: RTCSessionDescription, currentRemoteDescription: RTCSessionDescription, …}defaultPrevented: falseeventPhase: 0path: []returnValue: truesrcElement: RTCPeerConnection {_eventMap: {…}, currentLocalDescription: RTCSessionDescription, pendingLocalDescription: null, remoteDescription: RTCSessionDescription, currentRemoteDescription: RTCSessionDescription, …}target: RTCPeerConnection {_eventMap: {…}, currentLocalDescription: RTCSessionDescription, pendingLocalDescription: null, remoteDescription: RTCSessionDescription, currentRemoteDescription: RTCSessionDescription, …}timeStamp: 5930.899999991059type: “connectionstatechange”[[Prototype]]: Event
remon.min.js:1 [RM]I> Sending connection state to other
remon.min.js:1 [RM]I> PeerCon: Handle ICE state change event
remon.min.js:1 [RM]I> Event: connected: Event {isTrusted: true, type: ‘iceconnectionstatechange’, target: RTCPeerConnection, currentTarget: RTCPeerConnection, eventPhase: 2, …}
remon.min.js:1 [RM]I> ice State:connected
remon.min.js:1 [RM]I> Health is start w/interval:5000
remon.min.js:1 [RM]I> Sending ice state to other
remon.min.js:1 [RM]I> PeerCon: Handle ice gathering state event
remon.min.js:1 [RM]I> PeerCon: HandleICECandidateEvent
remon.min.js:1 [RM]I> PeerCon: Handle connection state change event
remon.min.js:1 [RM]I> Event: connected: Event {isTrusted: true, type: ‘connectionstatechange’, target: RTCPeerConnection, currentTarget: RTCPeerConnection, eventPhase: 2, …}
remon.min.js:1 [RM]I> Sending connection state to other
remon.min.js:1 [RM]E> Signaling error -> Message: {transactionId: ‘66a194f9-8ed7-4c4e-aa26-92cb269bbecf’, command: ‘onError’, code: ‘2370’, body: ‘This channel is terminated by a server’, channel: {…}}
e @ remon.min.js:1
onError @ remon.min.js:1
(anonymous) @ remon.min.js:1
remon.min.js:1 Uncaught TypeError: i[n] is not a function
at WebSocket. (remon.min.js:1)
(anonymous) @ remon.min.js:1
remon.min.js:1 [RM]I> Signaling: onDisconnectChannel
remon.min.js:1 [RM]I> close resources
utils.js:484 [‘EVENT FIRED: onError: “2370”’]
utils.js:484 [‘EVENT FIRED: onClose’]
remon.min.js:1 [RM]I> Signaling: Closed the signaling connection

●모바일 로그

utils.js:484 [Array(1)]
remon.min.js:1 [RM]I> Signaling: Connect
remon.min.js:1 [RM]I> try connect signaling. remainRetries:5
remon.min.js:1 [RM]I> PeerCon: context has addTrack
remon.min.js:1 [RM]I> config {selectiveCandidate: undefined, iceServers: Array(2), localStream: undefined, localVideo: undefined, audioType: ‘voice’, …}
remon.min.js:1 [RM]I> Signaling: Success connect to the signaling server
remon.min.js:1 [RM]I> Signaling: Create channel: As a viewer
remon.min.js:1 [RM]I> Signaling: On create channel
remon.min.js:1 [RM]I> Signaling: 200
remon.min.js:1 [RM]I> Channel id: 8808990837314_remoteVideo1_1640244038028_gXG9u:PE5d00f92920ca43bdadd808516f42bc26
remon.min.js:1 [RM]I> Channel type: VIEWER
remon.min.js:1 [RM]I> createViewerOffer is called Chrome Mobile
remon.min.js:1 [RM]I> Local Description: RTCSessionDescription {type: ‘offer’, sdp: ‘v=0\r\no=- 1182819092128194634 2 IN IP4 127.0.0.1\r\ns… transport-cc\r\na=fmtp:37 repair-window=10000000\r\n’}
utils.js:484 [‘EVENT FIRED: onJoin: 8808990837314_remoteVideo1_16…44038028_gXG9u:PE5d00f92920ca43bdadd808516f42bc26’]
remon.min.js:1 [RM]I> Signaling: On sdp
remon.min.js:1 [RM]I> Create answer
remon.min.js:1 [RM]I> PeerCon: Handle signaling state change event
remon.min.js:1 [RM]G> PeerCon: Bind remote stream
remon.min.js:1 [RM]G> PeerCon: Bind remote stream
remon.min.js:1 [RM]I> Remote Description Setted
remon.min.js:1 [RM]I> new Local Description: RTCSessionDescription {type: ‘answer’, sdp: ‘v=0\r\no=- 1182819092128194634 3 IN IP4 127.0.0.1\r\ns…pli\r\na=rtpmap:101 rtx/90000\r\na=fmtp:101 apt=100\r\n’}
remon.min.js:1 [RM]I> PeerCon: Handle signaling state change event
remon.min.js:1 [RM]I> Message ->: {command: ‘sdp’, token: ‘PE5d00f92920ca43bdadd808516f42bc26’, serviceId: ‘5df17884-e8cf-4b10-9f9b-2ed6a209e1df’, channel: {…}, body: ‘{“type”:“answer”,“sdp”:“v=0\r\no=- 118281909212819…=rtpmap:101 rtx/90000\r\na=fmtp:101 apt=100\r\n”}’}
remon.min.js:1 [RM]I> PeerCon: Handle ice gathering state event
remon.min.js:1 [RM]E> Signaling error -> Message: {transactionId: ‘ab7ab040-0bb4-4681-887f-741441839c45’, command: ‘onError’, code: ‘2370’, body: ‘This channel is terminated by a server’, channel: {…}}
e @ remon.min.js:1
onError @ remon.min.js:1
(anonymous) @ remon.min.js:1
remon.min.js:1 Uncaught TypeError: i[n] is not a function
at WebSocket. (remon.min.js:1)
(anonymous) @ remon.min.js:1
remon.min.js:1 [RM]I> Signaling: onDisconnectChannel
remon.min.js:1 [RM]I> close resources
remon.min.js:1 [RM]I> Signaling: onDisconnectChannel
remon.min.js:1 [RM]I> close resources
utils.js:484 [‘EVENT FIRED: onError: “2370”’]
remon.min.js:1 Uncaught (in promise) DOMException: The play() request was interrupted by a new load request. https://goo.gl/LdLk22
a @ remon.min.js:1
onDisconnectChannel @ remon.min.js:1
(anonymous) @ remon.min.js:1
remon.min.js:1 [RM]I> Signaling: Closed the signaling connection
utils.js:484 [‘EVENT FIRED: onClose’]
remon.min.js:1 Uncaught (in promise) TypeError: Cannot read properties of null (reading ‘close’)
at a (remon.min.js:1)
at async Object.onDisconnectChannel (remon.min.js:1)
a @ remon.min.js:1
await in a (async)
(anonymous) @ remon.min.js:1