안녕하세요, XETOWN에서 되게 오랜만에 질문글 남겨봅니다 :)
동영상 배포를 할때 어떤 포멧이 제일 좋을지 고수님들의 의견을 여쭙고 싶습니다. 동영상 플레이어는 videojs 로 구현 할 계획인데, 영상 파일의 경우 어떤 방식으로 배포하는것이 제일 좋을지 궁금합니다 (videojs 자체는 3개포멧 모두 호환되는거 같더라구요).
인터넷 검색 해보니 HLS 와 MPEG-DASH 자체는 크게 차이가 안난다고 하는 것 같은데, 유튜브의 경우 그냥 단일 MP4/WebM 파일을 던져주는것 같고, 일부 동영상 전문 전송 업체의 경우 HLS Stream 을 만들어 배포하는 것 같아서 실제로 어떤 방법이 제일 효율적인지 (용량/트래픽/속도 등), 실제로 업계(?) 에서는 어떤 방식을 제일 선호하는지 궁금합니다.
fragmented mp4를 사용하여 hls랑 mpeg-dash 둘 다 호환이 가능하게끔 할 수 있습니다.
다만, mpeg-dash와 HLS같은 경우엔 자바스크립트의 MediaSource API를 지원과 동시에 코덱이 지원을 해야 사용이 가능합니다.
즉, hls, mpeg-dash 미지원 환경(iOS 사파리)을 위해서 순수 MP4파일을 남겨놔야 합니다. (저장공간 정말 무지막지하게 먹어댑니다.. 특히 적응형 VOD같은거 하면 화질별로 저장하랴..순수 MP4도 저장하랴...하드디스크가 ㅠㅠ)
아니면 그냥 지원하지 않는 브라우저에선 재생 할 수 없다고 알림을 띠우던가..
이런저런 말이 많았는데 요약하자면..
가장 진보된 기술을 쓰고싶다: MPEG-DASH (경우에 따라 HLS호환되게도 가능.)
젤 많이 보편화된 스트리밍 기술을 쓰고싶다: HLS
브라우저에서 재생이 꼭 되어야 한다: 순수 MP4
개인적으로 적응형 VOD나 라이브 DVR같은걸 쓰시지 않는다면 그냥 순수 MP4로 하시는걸 추천드립니다.
기능 구현에 비해 물리적, 논리적 비용이 어마무시합니다..