2017-11-29 1 views
0

내 응용 프로그램은 RTP 스트림 (H264 또는 VP8)을 수신하고 조각화 된 MP4 또는 WebM에 넣은 다음 Websocket을 통해 Javascript App으로 전송하여 Media Source Extension을 사용하여 비디오를 표시합니다. 크롬은 두 코덱 모두에서 정상적으로 작동하지만 Firefox는 50 % -60 %의 막대한 CPU 사용량을 보여줍니다. 크롬 만 6 %입니다.Firefox를 사용하는 미디어 소스 확장

자바 스크립트는 mediaSource.updateBuffer를 호출하고 updateend를 기다린 다음 mediaSource.updateBuffer를 다시 호출합니다. 거기에있는 어떤 예와도 다른 것은 없습니다.

누구든지 Firefox에서이 문제가 발생합니까?

답변

0

더 구체적인 정보 (코드 작성, 브라우저 플래그 및 기능 확인)가 없다면 문제가 무엇인지 확실히 말할 수 없습니다.

크롬에서 귀하의 코덱은 하드웨어 가속화가되고 Firefox에서는 그렇지 않은 것으로 판단됩니다.

+0

Firefox는 WebRTC에서 15 % 만 사용하기 때문에 이에 대해 확실하지 않습니다. CPU가 낮게 유지되는 비디오 요소에서 play()를 호출하지 않으면 좀 더 테스트를 실행합니다. 비디오 디코딩 프로세스가 무엇을 유발하는지 정확히 알지 못합니다. – Sergio

+0

@Sergio 사과와 바나나입니다. WebRTC가 포함 된 비디오는 품질에 대한 대기 시간을 최적화하는 방식으로 인코딩됩니다. 결과 비디오는 * 및 * 디코딩을 빠르게 인코딩합니다. 게다가 Firefox가 WebRTC 용 하드웨어 가속 코덱을 사용하지 않을 것이라는 보장은 없으며 다른 비디오 재생 용 소프트웨어 코덱도 있습니다. – Brad

+0

사과와 바나나 ... 아주 좋은 예는 아닙니다. 내가 쓴 것처럼, 나는 자바 스크립트에서 인코딩 만 디코딩하고있다. 인코딩은 내 C++ 응용 프로그램에서 libvpx 라이브러리를 사용하며 내 응용 프로그램은 인코딩에 CPU의 4 % 만 사용합니다. 당신은 Firefox가 단일 VP8 스트림을 디코딩하기 위해 50 %를 필요로한다고 말해 줍니까? 그들은 정말로 디코딩 프로세스를 최적화하고 있습니다 ... 그리고 크롬은 내 응용 프로그램에 가까운 5-6 %만이 파이어 폭스에서 뭔가 좋지 않다는 것을 알려줍니다. – Sergio

관련 문제