HLS란 무엇인가요?
HLS는 HTTP Live Streaming의 약자입니다. Apple에서 개발한 비디오 전송 프로토콜로, 현재 전 세계 대다수의 스트리밍 플랫폼에서 사용하고 있습니다. 하나의 거대한 비디오 파일을 통째로 전송하는 대신, HLS는 비디오를 작은 세그먼트(보통 2~10초 길이)로 나누어 순차적으로 전송합니다. 확장자가 .m3u8인 플레이리스트 파일은 목차 역할을 하며, 플레이어에게 각 세그먼트의 위치를 알려줍니다.
이러한 방식은 스트리밍 서비스에 여러 장점을 제공합니다. 인터넷 속도에 맞춰 비디오 화질을 실시간으로 조절하고, 즉시 재생을 시작할 수 있게 해주며, 일반 MP4 링크보다 다운로드하기가 어렵습니다. 그러나 getvy Video Downloader는 HLS 스트림을 완벽하게 처리할 수 있도록 특별히 설계되었습니다.
getvy가 HLS 비디오를 다운로드하는 방법
HLS 비디오를 재생하는 페이지에 방문하면, 브라우저는 .m3u8 플레이리스트와 해당 세그먼트를 가져오기 위해 네트워크 요청을 보냅니다. getvy는 백그라운드에서 이러한 요청을 모니터링하여 플레이리스트 URL을 자동으로 캡처합니다. 다운로드를 시작하면 다음과 같은 작업이 수행됩니다:
1
플레이리스트 읽기
.m3u8 파일을 가져와 마스터 플레이리스트의 모든 화질 옵션을 포함한 전체 세그먼트 URL 목록을 파싱합니다.
2
세그먼트 병렬 다운로드
최대 6개의 .ts 세그먼트를 동시에 다운로드하여, 하나씩 다운로드하는 것보다 최대 6배 더 빠르게 처리할 수 있습니다.
3
브라우저 내에서 MP4로 변환
ffmpeg의 WebAssembly 이식 버전인 ffmpeg.wasm을 사용하여 브라우저 내부에서 모든 .ts 세그먼트를 단일 .mp4 파일로 병합합니다. 어떠한 데이터도 서버로 전송되지 않습니다.
단계별 안내: HLS 비디오 다운로드하기
- Chrome 웹 스토어에서 getvy Video Downloader를 설치하고 툴바에 고정(pin)합니다.
- 다운로드하려는 비디오가 있는 페이지로 이동한 후, 재생(Play) 버튼을 눌러 비디오 로딩을 시작합니다.
- 툴바의 getvy 아이콘을 확인합니다. 감지된 비디오 소스의 개수가 배지 숫자로 표시됩니다.
- getvy 아이콘을 클릭하여 팝업을 엽니다. 감지된 비디오 URL 목록이 표시됩니다. HLS 스트림은 HLS로 표시되고 .m3u8 주소를 보여줍니다.
- 원하는 스트림 옆의 다운로드 버튼을 클릭합니다. 다운로드 및 변환 진행 상황을 보여주는 새 탭이 열립니다.
- 변환이 완료될 때까지 기다립니다(동영상이 긴 경우 몇 분 정도 걸릴 수 있습니다). 완성된 MP4 파일은 브라우저의 기본 다운로드 폴더에 자동으로 저장됩니다.
화질 선택
많은 HLS 스트림은 여러 화질 수준(예: 1080p, 720p, 480p)이 나열된 마스터 플레이리스트를 사용합니다. getvy는 다운로드 시 사용 가능한 가장 높은 화질을 자동으로 선택합니다. 단일 화질 플레이리스트를 사용하는 스트림인 경우 해당 화질로 직접 다운로드됩니다.
HLS 문제 해결 가이드
확장 프로그램 아이콘에 배지 숫자가 표시되지 않는 경우
확장 프로그램은 설치 및 페이지 로드가 완료된 후에 발생한 네트워크 요청만 감지합니다. 페이지를 새로고침하고 다시 재생해 보세요. 또한 단순히 썸네일만 표시되는 것이 아니라 동영상이 실제로 버퍼링을 시작했는지 확인하십시오.
다운로드 도중 중단되는 경우
네트워크가 불안정하거나 서버 측의 속도 제한으로 인해 세그먼트 다운로드가 중단될 수 있습니다. 다운로드 탭을 전면에 활성화해 두고 다시 시도하십시오. 동영상 길이가 매우 긴 경우 브라우저 내 변환보다 ffmpeg 명령어를 복사하여 로컬에서 직접 실행하는 것이 더 안정적입니다.
변환 속도가 느린 경우
ffmpeg.wasm은 브라우저 내에서 사용자의 CPU를 사용하여 작동합니다. 속도는 기기 사양에 따라 다릅니다. 최신 노트북의 경우 일반적으로 1시간 분량의 동영상을 변환하는 데 약 2~5분이 걸립니다. 더 빠른 변환을 원하신다면 ffmpeg 명령어를 복사하여 터미널에서 네이티브로 실행해 보십시오.