프로그레시브 다운로드
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
프로그레시브 다운로드는 HTTP 프로토콜을 사용하여 미디어 파일을 다운로드하면서 재생하는 기술을 의미한다. 초기에는 JPEG 이미지 파일 형식이 이러한 방식으로 동작했으며, 애플은 1997년 퀵타임 플레이어에서 'Fast Start'라는 용어로 프로그레시브 다운로드를 상업적으로 사용했다. 스트리밍과 유사하게 작동하지만, 파일은 일반적으로 웹 브라우저의 임시 디렉토리에 저장되며, 캐싱과 빠른 탐색이 가능하다. 유튜브 등에서 사용되며, HTTP 전송을 사용하므로 스트리밍 서버가 필요 없다는 장점이 있다. MP4 파일의 경우 'moov atom'을 파일 시작 부분으로 옮기는 최적화를 통해 재생 성능을 향상시킬 수 있다.
더 읽어볼만한 페이지
- 멀티미디어 - 인터넷 텔레비전
인터넷 텔레비전은 인터넷 프로토콜을 이용하여 텔레비전 콘텐츠를 제공하는 서비스로, 기술 발전에 따라 스트리밍 방식과 접근성이 발전해왔으며, 온라인 비디오 플랫폼의 성장과 함께 빠르게 성장하여 현재는 다양한 기기를 통해 시청이 가능하다. - 멀티미디어 - 미디어 플레이어
미디어 플레이어는 컴퓨터에서 오디오나 비디오와 같은 미디어 파일을 재생하는 소프트웨어나 하드웨어로, 디지털 기술 발전에 따라 다양한 형태로 발전해 왔으며 운영 체제, 지원 파일 형식 등으로 분류되고, 대한민국에서는 팟플레이어, 곰플레이어 등의 국산 미디어 플레이어가 널리 쓰인다.
| 프로그레시브 다운로드 | |
|---|---|
| 프로그레시브 다운로드 | |
| 유형 | 다운로드 방식 |
| 설명 | 데이터 스트리밍 방식의 일종으로, 다운로드와 동시에 미디어 재생이 가능하게 함 |
| 기술적 특징 | |
| 작동 방식 | 서버에서 파일을 작은 조각으로 분할하여 전송 클라이언트는 받은 조각들을 순차적으로 재생 |
| 장점 | 전체 파일을 다운로드하기 전에 콘텐츠 시청 시작 가능 사용자 경험 향상 |
| 단점 | 네트워크 연결 상태에 따라 재생 품질 저하 가능성 존재 |
| 활용 분야 | |
| 온라인 비디오 스트리밍 | 유튜브, 넷플릭스 등 |
| 온라인 오디오 스트리밍 | 스포티파이, 애플 뮤직 등 |
| 관련 기술 | |
| HTTP | 기본적인 웹 통신 프로토콜 |
| TCP/IP | 인터넷 프로토콜 스위트 |
| 스트리밍 프로토콜 | HTTP Live Streaming (HLS) DASH (Dynamic Adaptive Streaming over HTTP) RTSP (Real Time Streaming Protocol) |
| 기타 | |
| 주의사항 | 프로그레시브 다운로드는 완전한 실시간 스트리밍 기술과는 차이가 있음 |
2. 역사
프로그레시브 다운로드 방식은 초기 디지털 미디어 파일 형식인 JPEG에서 처음 구현되었다. 1997년, 애플은 자사의 QuickTime 미디어 플레이어에서 'Fast Start'[1]라는 용어를 사용하여 이 기술을 상업적으로 소개했다.
2. 1. 초기 역사와 명칭
처음에는 JPEG로 알려진 디지털 미디어 파일 형식이 디지털 미디어가 다운로드되는 동안 점진적인 시각적 디스플레이를 렌더링하는 최초의 시각 미디어였으며, 실제로 프로그레시브 다운로드라고 불렸다. 프로그레시브 다운로드의 기술적 동작과 프로그레시브 다운로드라는 용어의 일반적 또는 상업적 사용(즉, 해당 동작을 설명하는 것) 사이의 차이점은 문서화되지 않았으며, 용어의 기원과 기술 구현의 기원에 대한 의문이 많다.[1] 애플은 1997년에 자사의 QuickTime 미디어 플레이어와 관련하여 인코딩된 디지털 미디어 콘텐츠의 프로그레시브 다운로드 재생으로 상업적으로 언급된 것을 설명하기 위해 ''Fast Start''라는 용어를 사용했다.[1]2. 2. 애플의 'Fast Start' 기술
애플은 1997년에 자사의 QuickTime 미디어 플레이어와 관련하여 인코딩된 디지털 미디어 콘텐츠의 프로그레시브 다운로드 재생을 설명하기 위해 'Fast Start'[1]라는 용어를 사용했다.3. HTTP 프로그레시브 다운로드 vs 스트리밍
HTTP 프로그레시브 다운로드는 최종 사용자가 스트리밍과 유사한 경험을 하지만, 파일이 사용자 장치에 저장된다는 차이점이 있다.[2] 파일은 미디어가 웹 페이지에 내장된 경우 관련 웹 브라우저의 임시 디렉토리에 저장되거나, 재생에 사용되는 미디어 플레이어 설정에서 지정된 저장 디렉토리로 이동된다.[2]
파일 재생 속도가 다운로드 속도를 초과하면 재생이 중단되며, 추가 다운로드 후에 다시 재생이 시작된다.[2] 이러한 빠른 재생 시작은 디지털 미디어 파일의 메타데이터 위치가 파일 끝에서 앞으로 이동했기 때문이다. 메타데이터가 파일 앞부분에 위치함으로써, 파일이 다운로드되는 동안에도 미디어 플레이어가 재생에 필요한 정보를 얻을 수 있다.[2]
3. 1. 스트리밍과의 비교
스트리밍 미디어는 서버 측에서 통신 대역을 조정하여 원활한 재생을 지원하고 시크(seeking)도 서버에서 처리하지만, 프로그레시브 다운로드는 클라이언트 측에서 시크를 처리한다.[2] 스트리밍은 라이브 방송에, 프로그레시브 다운로드는 주문형 배포에 적합하다.[2]프로그레시브 다운로드는 주로 HTTP를 프로토콜로 사용하여 파일을 다운로드하면서 재생하는 방식을 취한다.[2] 반면 스트리밍은 서버 측에서 통신 대역폭을 조정하여 원활하게 볼 수 있도록 지원하며, 시크 또한 서버 측에서 처리한다. 따라서 스트리밍은 서버 측 부하가 크고 대규모 배포에는 적합하지 않다.[2]
스트리밍용 프로토콜을 사용하는 스트리밍은 재생 후 해당 데이터를 파기하도록 만들어지는 경우가 많지만(저장 가능한 클라이언트도 존재), HTTP 프로그레시브 다운로드는 데이터를 파기하지 않고 임시 파일로 계속 저장하며, 캐시가 남아있는 한 다음 재생 시에도 캐시를 사용한다.[2]
유튜브 등 동영상 공유 사이트에서 프로그레시브 다운로드 방식을 사용한다.[2] HTTP 전송이 가능하므로 스트리밍 서버를 준비할 필요가 없다는 장점이 있다.[2] 최근에는 Silverlight에서 사용되는 Microsoft Smooth Streaming[8], GYAO!, 야후! JAPAN 등[9]과 같이 HTTP 프로그레시브 다운로드 기술을 채용하는 스트리밍 서비스가 늘고 있다.
3. 2. 적응형 비트 전송률 스트리밍 (Adaptive Bitrate Streaming)
HTTP 프로그레시브 다운로드는 적응형 비트 전송률 스트리밍을 지원하여 네트워크 환경에 따라 화질을 조정할 수 있다.[3] 이는 스트리밍 미디어와 유사하지만, 몇 가지 단점이 있다. RTMP에 비해 HTTP는 스니핑하기 쉬워 보안이 취약하고, 대용량 비디오를 탐색할 때 로딩 시간이 길어진다.[3]4. Seeking (탐색)
파일이 처음부터 재생될 때, 사용자는 아직 다운로드되지 않은 파일 부분을 가리켜 재생을 시작할 수 있다. 이 기능을 '탐색(Seeking)'[11]이라고 하며, '의사 스트리밍(pseudo-streaming)'이라고도 한다.[7]
4. 1. 플래시 비디오와 MP4 파일의 탐색
플래시 비디오 검색의 경우 미디어 파일 메타데이터에 검색 지점 목록이 필요하다. 이 포인트는 새로운 키 프레임이 시작되는 비디오의 오프셋(초 및 바이트 단위)이다. 다운로드를 처리하는 웹 서버 또는 미디어 서버는 데이터 다운로드 요청의 쿼리 문자열에서 검색 지점을 지원해야 한다.[11]MP4 또는 MKV와 같은 다른 유형의 미디어 파일의 경우 웹 서버는 특수 오프셋 매개 변수를 처리할 수 있어야 한다. 오프셋 매개 변수 이름은 서버마다 다르므로 플레이어 설정에서 지정해야 한다.
일부 서버는 추가적인 모듈을 통해서 탐색을 지원한다. 탐색 매개 변수 이름은 ''이탤릭체''로 표기했다.
| 서버 | 플래시 플구 | MP4 플구 |
|---|---|---|
| 아파치 HTTP 서버 | [http://h264.code-shop.com/trac mod_h264] start [https://github.com/osantana/mod_flvx mod_flvx] start | [http://h264.code-shop.com/trac mod_h264] starttime |
| lighttpd | start | [http://h264.code-shop.com/trac mod_h264] starttime |
| Nginx | [http://nginx.org/en/docs/http/ngx_http_flv_module.html http_flv_module] start | [http://nginx.org/en/docs/http/ngx_http_mp4_module.html http_mp4_module] start |
| Nimble Streamer | start | start |
5. 최적화
MP4 파일에서 'moov atom'을 파일 시작 부분으로 이동시켜 웹 서버의 부하를 줄이고, HTML 비디오 기반 클라이언트의 재생 성능을 향상시킬 수 있다.[5][4]
5. 1. 'moov atom' 최적화
MP4 파일은 '''원자'''라고 하는 데이터 청크로 구성된다. 이러한 원자는 자막과 같은 정보를 저장한다. ''moov 원자''라고 하는 특수한 원자는 디스플레이 해상도, 프레임 속도와 같이 비디오를 재생하는 방법에 대한 정보를 저장하며, 이는 HTML 비디오 플레이어에서 비디오 재생을 시작하는 데 중요하다.[4] 그러나 원자는 어떤 순서로든 나타날 수 있으므로 Nginx와 같은 웹 서버는 HTML 비디오 기반 클라이언트가 비디오 재생을 시작할 수 있도록 ''moov 원자''를 찾는 데 CPU, 메모리 및 디스크 I/O를 소비한다. HTTP 의사 스트리밍에 최적화하려면 ''moov 원자''를 시작 부분으로 옮기는 것이 중요한데, 그러면 Nginx와 같은 웹 서버가 더 빠른 의사 스트리밍을 위해 최적화되어 전체 파일이 도착하거나 스캔될 때까지 기다리지 않고 재생을 할 수 있다.[5]ffmpeg와 같은 도구를 사용하여 'movflags faststart' 옵션을 적용하면 'moov atom'을 파일 시작 부분으로 이동시킬 수 있다.
```text
ffmpeg -i sample_input.mp4 -movflags faststart -acodec copy -vcodec copy sample_output.mp4
```
- ` -movflags faststart`는 인덱스(moov 원자)를 파일의 시작 부분으로 옮겨 최적화를 수행한다.[6]
- ` -acodec copy`는 입력 파일에서 오디오를 변경하지 않고 추출한다.
- ` -vcodec copy`는 입력 파일에서 비디오를 변경하지 않고 추출한다.
이러한 최적화를 통해 nginx와 같은 웹 서버가 moov 원자를 찾는 데 상대적인 양의 계산을 소비하는 것을 효과적으로 방지하여 HTML 비디오 기반 클라이언트에서 재생 성능을 향상시킨다.[5][4]
6. 저작권 문제
프로토콜로 주로 HTTP를 사용하여 파일을 다운로드하면서 재생하는 프로그레시브 다운로드 방식은 재생 후에도 임시 파일 형태로 데이터가 남는 경우가 많아 저작권 문제가 발생할 수 있다. 스트리밍은 재생 후 데이터가 파기되는 경우가 많지만, 프로그레시브 다운로드는 임시 파일로 저장되어 캐시가 남아있으면 다음 재생 시에도 사용된다.[9]
하지만, "전자 계산기에 의한 저작물의 이용에 따른 복제"(제47조의8)에 따라 저작물 이용이 저작권 침해에 해당하지 않으면 효율성을 위한 임시 저장은 합법이다. 저작권에는 사용권이 없으므로, 복제가 없는 사적 사용은 저작권 침해가 아니다. 규약으로 사적 사용이 제한된 경우, 규약 위반은 계약 불이행에 해당한다.[9]
6. 1. 대한민국 저작권법
대한민국의 저작권법은 사적 이용을 위한 복제를 예외로 인정하지만, 프로그레시브 다운로드된 파일이 임시 파일 형태로 접근 가능한 경우 문제가 될 수 있다는 시각이 있다. 그러나 "전자 계산기에 의한 저작물의 이용에 따른 복제"(제47조의8)에 따라, 저작물 이용이 저작권 침해에 해당하지 않는 경우 효율화를 위한 임시적 저장은 합법으로 간주된다.[9] 저작권에 사용권이라는 것은 존재하지 않으므로, 복제를 수반하지 않는 사적 사용은 저작권을 침해할 수 없다. 규약에 의한 계약으로 사적 사용이 제한되어 있는 경우, 규약을 위반하면 저작권 침해가 아닌 계약 불이행이 된다. 서비스 운영 측이 저작물의 복제 주체(및 자동 공중 전송 주체)가 되는 경우, 사용자에 의한 다운로드 저장은 고정물의 복제에 해당하지 않는다. 단, 소리나 영상을 그 자체를 하드 디스크 등에 고정화하여 저장하는 경우(캡처나 촬영 등)는 녹화・녹음에 해당한다.6. 2. 서비스 제공자와 사용자의 책임
서비스 운영 측이 저작물의 복제 주체(및 자동 공중 전송 주체)가 되는 경우, 사용자에 의한 다운로드 저장은 고정물의 복제에 해당하지 않는다.[9] 단, 사용자가 소리나 영상을 하드 디스크 등에 저장(캡처, 촬영 등)하는 경우는 녹화·녹음에 해당하여 저작권 침해가 될 수 있다.[9]참조
[1]
간행물
QuickTime Streaming Server 4.1
http://sysdoc.doors.[...]
2010-09-21
[2]
간행물
Understanding the MPEG-4 movie atom
http://www.adobe.com[...]
2015-07-17
[3]
웹사이트
Video Delivery: HTTP Pseudo-Streaming
https://staff.ie.cuh[...]
[4]
웹사이트
Optimizing MP4 Video for faster streaming
https://rigor.com/bl[...]
2016
[5]
웹사이트
Module ngx_http_mp4_module
https://nginx.org/en[...]
[6]
웹사이트
FFmpeg Formats Documentation
https://ffmpeg.org/f[...]
[7]
간행물
Pseudo Streaming in Flash
http://support.jwpla[...]
2015-07-17
[8]
뉴스
MSDN IIS Smooth Streaming について
http://msdn.microsof[...]
MSDN
[9]
뉴스
9 特別インタビュー - ヤフーに聞く、Silverlight採用の理由
http://news.mynavi.j[...]
[10]
간행물
QuickTime Streaming Server 4.1
http://sysdoc.doors.[...]
2010-09-21
[11]
간행물
Pseudo Streaming in Flash
http://support.jwpla[...]
2015-07-17
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com