2017-12-14 40 views
2

저는 오디오 및 비디오를 캡처하고 해당 webm 파일 blob을 웹 소켓을 통해 서버로 보낼 때 ondataavailable 함수를 사용하기 위해 MediaRecorder API를 얻는 코드를 작성했습니다. 그런 다음 서버는 미디어 소스 확장 API를 사용하여 버퍼에 비디오를 함께 넣는 웹 소켓을 통해 클라이언트에 해당 BLOB를 보냅니다.webm 청크를 독립형 비디오로 재생

스트림을 중간부터 시작하려는 경우 blob 자체 만 재생할 수 없으므로 최신 blob을 보낼 수 없습니다. 또한 BLOB를 순서대로 전송하지 않으면 브라우저는 일반적으로 오디오 인코딩이 일치하지 않는다고 불평합니다.

비디오 컨테이너, 코덱 등에 대해 잘 모르겠지만이 문제를 해결하려면 어떻게해야합니까? 내 질문은 어떻게하면 해당 얼룩을 독립형 비디오로 재생할 수 있습니까? 어떻게 든 코드를 사용하여 첫 번째 blob (자체적으로 재생 가능)에있는 정보를 다른 blob에 추가 할 수 있습니까? 도중에 재생되는 스트림을 얻을 수있는 좋은 방법은 무엇입니까? 나는 트랜스 코드 할 것이지만 실시간 스트리밍을 설정하고 싶기 때문에 너무 오래 걸리는 것처럼 보입니다.

감사합니다.

답변

1

MSE를 사용하면 트랙 정보가 포함 된 WebM 세그먼트가 포함 된 첫 번째 청크를로드하고 나중에로드 할 수 있습니다. 브라우저가 알아낼 것입니다.

WebM 클러스터는 타임 스탬프로 시작되며이 기능을 사용하면이 기능을 사용할 수 있습니다.

+0

크롬에서는 작동하지만 FireFox에서는 작동하지 않습니다. 다른 방향으로 나아가서 Kento를 미디어 서버로 설정하고 MSR을 사용하는 것보다 훨씬 쉬운 WebRTC를 사용했습니다. – Antoine

+0

MSE가 chuncked webm을 재생할 수있는 유일한 방법입니까? 우리는 그냥 오디오/mpeg http chunked처럼 할 수 없습니까? (간단한 http를 통해 잘 재생) –

+0

@KeyneViana 예, 서버에서도 바로 재생할 수 있습니다. 문제는 MediaRecorder의 데이터에 관한 것입니다. – Brad