configurer
288
2020-09-25 16:37:39
0
207

blob video 구현


blob데이터를 생성하고 background에서 실행시키도록 구현했는데,


개발자도구로 확인하니 blob을 지속적으로 로드 ? 하는게 보입니다

autoplay를 켜놔서 그런건가..... 이렇게되면 안되는거 아닌가요...???


생성 후에 저 blob을 open in new tab으로 들어가면 보여지고.. ( refresh하면 사라짐 )

이렇게 되는게 맞는건지 확인 좀 부탁드리겠습니다.....


제가 구현하고자 하는 알고리즘은 '페이지로드 - 서버에서 영상 가져오기 - blob 만들어서 송출' 입니다.


let xhr = new XMLHttpRequest();
xhr.responseType = "blob";

xhr.onload = (e) => {

	let reader = new FileReader();
			
	reader.onloadend = (e) => {
		let byteChar = atob(reader.result.slice(reader.result.indexOf(",") + 1));
		let byteNums = new Array(byteChar.length);

		for (var i = 0; i < byteChar.length; i++) {
			byteNums[i] = byteChar.charCodeAt(i);
		}
		
		let byteArr = new Uint8Array(byteNums);
		let blob = new Blob(
			[byteArr], 
			{
				type: "video/mp4"
			}
		);

		let url = URL.createObjectURL(blob);
				//URL.revokeObjectURL(url);
		console.log("url ======> " + url);
		document.getElementById("vt1").src = url;
	}

	reader.readAsDataURL(xhr.response);

}

xhr.open("GET", "http://localhost:8080/stream/video.mp4");
xhr.send();


0
  • 답변 0

  • 로그인을 하시면 답변을 등록할 수 있습니다.