소개
M2Live Cloud 비디오 서비스는 MP4 원본 하나만 있으면 브라우저에 맞는 최적 포맷으로 실시간 변환·전달합니다. 별도의 인코딩 서버나 변환 파이프라인 없이, URL 하나로 포맷 변환·구간 편집·프레임 캡쳐를 모두 처리할 수 있습니다.
M2Live Cloud Video service delivers video in the optimal format for each browser from a single MP4 source. No separate encoding server or conversion pipeline needed — format conversion, clip trimming, and frame capture are all handled via a single URL.
m2.cs@winesoft.co.kr)에 문의하세요.m2.cs@winesoft.co.kr.기존 방식과 무엇이 다른가요?
How is this different from the traditional approach?
기존 방식은 MP4, WebM, HLS 등 여러 포맷을 미리 인코딩해서 각각 저장해야 했습니다. M2Live Cloud는 원본 MP4 하나만 저장하면, 브라우저의 요청에 맞춰 실시간으로 변환하고 CDN에 자동 캐싱합니다.
The traditional approach requires pre-encoding into multiple formats (MP4, WebM, HLS, etc.) and storing each separately. With M2Live Cloud, you store only the original MP4, and it is converted in real time to match the browser's request and automatically cached on the CDN.
- 업로드 시 MP4, WebM 등 여러 포맷을 별도로 인코딩
- 해상도별(720p, 1080p 등)로 파일을 각각 저장
- HTML
<source>태그로 브라우저별 분기를 직접 처리 - 별도 인코딩 서버·파이프라인·스토리지 운영 필요
- Encode into multiple formats (MP4, WebM, etc.) separately at upload time
- Store separate files for each resolution (720p, 1080p, etc.)
- Manually handle per-browser branching with HTML
<source>tags - Requires dedicated encoding servers, pipelines, and storage
- MP4 원본 파일 하나만 저장하면 끝
- 브라우저 지원 포맷을 자동 감지해서 변환
- 변환 결과는 CDN에 자동 캐싱 → 이후 요청은 즉시 응답
- 인코딩 서버·스토리지·파이프라인 운영 비용 없음
- Just store one original MP4 file — that's all
- Automatically detects and converts to the format supported by the browser
- Conversion results auto-cached on CDN → subsequent requests served instantly
- No cost for encoding servers, storage, or pipeline operations
지원 기능 한눈에 보기
Supported Features at a Glance
| 기능 | 상태 | 설명 |
|---|---|---|
| 자동 포맷 최적화 | 지원 | MP4 → WebM(VP9/AV1) 자동 변환. Chrome·Firefox·Edge에서 최대 60% 용량 절감 |
| 트랜스코딩 | 지원 | 프리셋(_1080p, _720p, _480p, _360p)으로 해상도·비트레이트 변환 |
| 구간편집 (Trim) | 지원 | 단일 구간 및 다구간 추출·병합 지원. 숏폼 제작에 유용 |
| 프레임 캡쳐 | 지원 | 특정 시간 지점의 프레임 또는 다구간 캡쳐. 이미지 서비스 연계 가능 |
| 비디오 분석 | 지원 | 재생 시간·해상도·코덱 등 메타정보를 JSON으로 반환 (간략/상세/SSIM) |
| HLS 스트리밍 | 준비중 | MP4 → HLS(.m3u8 + .ts) 변환, ABR 다중 해상도 지원 예정 |
| 워터마크 | 준비중 | 이미지·텍스트 워터마크 오버레이, 타임라인 구간 지정 예정 |
| Feature | Status | Description |
|---|---|---|
| Auto Format Optimization | Supported | Automatic MP4 → WebM(VP9/AV1) conversion. Up to 60% size reduction on Chrome, Firefox, and Edge. |
| Transcoding | Supported | Resolution and bitrate conversion using presets (_1080p, _720p, _480p, _360p). |
| Clip Trimming | Supported | Single and multi-segment extraction and merging. Useful for short-form content creation. |
| Frame Capture | Supported | Extract a frame at a specific timestamp or across multiple segments. Compatible with the Image service. |
| Video Analysis | Supported | Returns metadata (duration, resolution, codec, etc.) as JSON (brief/detailed/SSIM). |
| HLS Streaming | Coming soon | MP4 → HLS (.m3u8 + .ts) conversion with ABR multi-resolution support planned. |
| Watermark | Coming soon | Image and text watermark overlay with timeline segment targeting planned. |
요청이 처리되는 흐름
How Requests Are Processed
Accept 헤더에 담아 보냅니다.Accept header.Accept header is analyzed to determine the optimal format, which is then converted in real time. (e.g. Chrome → WebM VP9)On-the-fly 자동 최적화
URL에 아무 파라미터를 추가하지 않아도, 브라우저가 지원하는 가장 효율적인 비디오 포맷으로 자동 변환합니다. 콘솔에서 비디오 최적화를 활성화하거나 URL에 /optimize/를 추가하는 것만으로 바로 사용할 수 있습니다.
Even without any URL parameters, video is automatically converted to the most efficient format supported by the browser. Simply enable video optimization in the console or add /optimize/ to the URL to get started.
브라우저 · 디바이스별 자동 변환 결과
Auto Conversion Results by Browser / Device
브라우저 환경에 따라 아래처럼 자동으로 최적 포맷이 선택됩니다.
The optimal format is automatically selected based on the browser environment as shown below.
| 브라우저 / 환경 | 자동 변환 결과 | 용량 절감 효과 | 지원 버전 |
|---|---|---|---|
| Chrome | WebM (VP9 또는 AV1) | 약 40~60% (H.264 대비) | VP9: Chrome 25+, AV1: Chrome 70+ |
| Edge | WebM (VP9 또는 AV1) | 약 40~60% | VP9: Edge 14+, AV1: Edge 18+ |
| Firefox | WebM (VP9 또는 AV1) | 약 40~60% | VP9: Firefox 28+, AV1: Firefox 67+ |
| Safari macOS | WebM (VP9) | 약 40~50% (H.264 대비) | Safari 16.4+ (macOS Ventura 이상) |
| Safari iOS / iPadOS | WebM (VP9) | 약 40~50% | iOS / iPadOS 17+ (Safari 17 이상) |
| Samsung Internet | WebM (VP9) | 약 40~50% | Samsung Internet 4+ |
| Android WebView | WebM (VP9) | 약 40~50% | Android 4.4+ |
| Browser / Environment | Auto Conversion Result | Size Reduction | Supported Version |
|---|---|---|---|
| Chrome | WebM (VP9 or AV1) | ~40–60% (vs H.264) | VP9: Chrome 25+, AV1: Chrome 70+ |
| Edge | WebM (VP9 or AV1) | ~40–60% | VP9: Edge 14+, AV1: Edge 18+ |
| Firefox | WebM (VP9 or AV1) | ~40–60% | VP9: Firefox 28+, AV1: Firefox 67+ |
| Safari macOS | WebM (VP9) | ~40–50% (vs H.264) | Safari 16.4+ (macOS Ventura or later) |
| Safari iOS / iPadOS | WebM (VP9) | ~40–50% | iOS / iPadOS 17+ (Safari 17 or later) |
| Samsung Internet | WebM (VP9) | ~40–50% | Samsung Internet 4+ |
| Android WebView | WebM (VP9) | ~40–50% | Android 4.4+ |
- macOS Safari 16.4+: VP9 코덱 및 WebM 컨테이너를 공식 지원합니다. macOS Ventura(13) 이상에서 안정적으로 동작합니다.
- iOS / iPadOS 17+: Safari 17부터 VP9/WebM 재생을 정식 지원합니다. iOS 16 이하에서는 MP4(H.264)가 폴백으로 자동 제공됩니다.
- 구형 Safari (16.3 이하) / iOS 16 이하: WebM 미지원. M2Live Cloud가
Accept헤더를 분석해 자동으로 MP4(H.264)를 제공합니다. 개발자가 별도 분기 처리를 할 필요가 없습니다.
- macOS Safari 16.4+: Officially supports VP9 codec and WebM container. Stable on macOS Ventura (13) and later.
- iOS / iPadOS 17+: VP9/WebM playback is fully supported from Safari 17. On iOS 16 and earlier, MP4 (H.264) is automatically provided as a fallback.
- Legacy Safari (16.3 or earlier) / iOS 16 or earlier: WebM not supported. M2Live Cloud analyzes the
Acceptheader and automatically serves MP4 (H.264). No additional branching logic is needed from developers.
VP9 vs AV1 — 어떤 코덱이 사용되나요?
VP9 vs AV1 — Which codec is used?
H.264 대비 약 40~50% 용량 절감. Chrome, Firefox, Edge뿐 아니라 Safari 16.4+(macOS) 및 iOS 17+에서도 지원됩니다.
~40–50% size reduction vs H.264. Supported on Chrome, Firefox, Edge, and also Safari 16.4+(macOS) and iOS 17+.
VP9 대비 약 30% 추가 절감. Chrome 70+, Firefox 67+, Edge 18+ 이상에서 지원됩니다. 고해상도(4K) 영상에서 특히 효율적입니다.
~30% additional reduction vs VP9. Supported on Chrome 70+, Firefox 67+, Edge 18+. Particularly efficient for high-resolution (4K) video.
콘솔에서 활성화하는 방법
How to Enable in the Console
서비스 설정 → 미디어 설정 → 비디오 탭에서 아래 토글을 켜면, URL 파라미터 없이도 모든 비디오 요청에 자동 최적화가 적용됩니다.
Go to Service Settings → Media Settings → Video and enable the toggle below to apply auto optimization to all video requests without any URL parameters.
지원 포맷
M2Live Cloud는 주요 비디오 포맷을 입력과 출력 모두 지원합니다. 원본은 MP4(H.264)로 보관하는 것을 권장하며, 출력은 브라우저 환경에 따라 WebM(VP9/AV1) 또는 MP4로 자동 결정됩니다.
M2Live Cloud supports all major video formats for both input and output. Storing the source as MP4 (H.264) is recommended; the output format is automatically determined as WebM (VP9/AV1) or MP4 based on the browser environment.
포맷별 특성 비교
Format Comparison
| 포맷 | 파일 크기 (H.264 대비) | 브라우저 지원 | 권장 용도 |
|---|---|---|---|
| WebM (VP9) | 약 40~50% 절감 | Chrome 25+, Firefox 28+, Edge 14+, Samsung 4+ Safari 16.4+ (macOS Ventura↑), iOS/iPadOS 17+ | 대부분의 현대 브라우저 대상 스트리밍 |
| WebM (AV1) | 약 60% 절감 (H.264 대비) | Chrome 70+, Firefox 67+, Edge 18+ ※ Safari / iOS 미지원 | 최신 브라우저 대상 고효율 스트리밍 |
| MP4 (H.264) | 기준 (100%) | 모든 브라우저 (구형 Safari 16.3↓ / iOS 16↓ 폴백 포함) | 원본 보관 포맷, 구형 환경 폴백 |
| MP4 (H.265 / HEVC) | 약 50% 절감 | Safari 11+ (macOS/iOS), Edge 일부 | 입력 지원. 출력은 현재 미지원 |
| Format | File Size (vs H.264) | Browser Support | Recommended Use |
|---|---|---|---|
| WebM (VP9) | ~40–50% reduction | Chrome 25+, Firefox 28+, Edge 14+, Samsung 4+ Safari 16.4+ (macOS Ventura↑), iOS/iPadOS 17+ | Streaming to most modern browsers |
| WebM (AV1) | ~60% reduction (vs H.264) | Chrome 70+, Firefox 67+, Edge 18+ ※ Not supported on Safari / iOS | High-efficiency streaming for latest browsers |
| MP4 (H.264) | Baseline (100%) | All browsers (including legacy Safari 16.3↓ / iOS 16↓ fallback) | Source storage format, legacy fallback |
| MP4 (H.265 / HEVC) | ~50% reduction | Safari 11+ (macOS/iOS), some Edge versions | Input supported. Output not currently supported. |
포맷 가이드
Format Guide
URL기반 변환
파일 경로 뒤에 c_xcdr 키워드와 변환 명령어를 추가하면, 비디오를 원하는 대로 가공할 수 있습니다. 서버 코드 변경 없이 URL 하나로 포맷 변환·구간 편집·프레임 캡쳐 등을 자유롭게 처리할 수 있습니다.
Add the c_xcdr keyword and a transform command after the file path to process video as needed. Format conversion, clip trimming, frame capture, and more can all be done with a single URL — no server-side code changes required.
URL 구조
URL Structure
https://cdn.myservice.com/path/to/video.mp4/c_xcdr/[명령어]/[파라미터]https://cdn.myservice.com/path/to/video.mp4/c_xcdr/[command]/[parameter]c_xcdr)는 파일 경로 뒤에 붙습니다. 기존 파일 URL을 그대로 두고 끝에 변환 옵션을 추가하는 방식입니다.c_xcdr) is appended after the file path. Keep the existing file URL intact and simply append the transform options at the end.사용 가능한 명령어 목록
Available Commands
| 명령어 | 하는 일 | 주요 파라미터 | 상태 |
|---|---|---|---|
/preset/ | 지정 프리셋으로 트랜스코딩 (_1080p, _720p, _480p, _360p) | faststart | 지원 |
/trim/ | 특정 구간 추출. 단일·다구간 모두 지원 | HH:mm:ss 범위 표기 | 지원 |
/capture/ | 특정 시간 지점의 프레임을 이미지로 추출. 이미지 서비스 연계 가능 | ts, format, interval | 지원 |
/analyze/ | 재생시간·해상도·코덱 등 메타정보를 JSON으로 반환 | src, srcd, ssim | 지원 |
/hls/ | MP4 → HLS(.m3u8 + .ts) 변환, ABR 스트리밍 | — | 준비중 |
/watermark/ | 이미지·텍스트 워터마크 오버레이 | — | 준비중 |
| Command | What it does | Key Parameters | Status |
|---|---|---|---|
/preset/ | Transcodes to specified preset (_1080p, _720p, _480p, _360p) | faststart | Supported |
/trim/ | Extract a specific segment. Supports single and multi-segment. | HH:mm:ss range notation | Supported |
/capture/ | Extract a frame at a specific timestamp as an image. Compatible with Image service. | ts, format, interval | Supported |
/analyze/ | Returns metadata (duration, resolution, codec, etc.) as JSON. | src, srcd, ssim | Supported |
/hls/ | MP4 → HLS (.m3u8 + .ts) conversion, ABR streaming | — | Coming soon |
/watermark/ | Image and text watermark overlay | — | Coming soon |
c_xcdr는 M2Live Cloud가 비디오 변환 요청을 인식하는 고정 키워드입니다. 이 값을 변경하면 기존에 CDN에 캐싱된 모든 비디오 URL이 한꺼번에 무효화됩니다. 변경이 꼭 필요하다면 반드시 기술지원팀에 먼저 문의하세요.c_xcdr is a fixed keyword that M2Live Cloud uses to identify video transform requests. Changing this value will immediately invalidate all cached video URLs on the CDN. If a change is absolutely necessary, contact the support team first.트랜스코딩
preset 명령어를 사용하면 비디오를 지정된 프리셋으로 실시간 트랜스코딩합니다. 트랜스코딩 후 메타데이터(moov atom)를 파일 맨 앞으로 배치해 재생 시작 속도를 최적화합니다.
The preset command transcodes video in real time to the specified preset. After transcoding, metadata (moov atom) is placed at the beginning of the file to optimize playback start speed.
m2.cs@winesoft.co.kr)에 별도 문의하세요.m2.cs@winesoft.co.kr.URL 예시
URL Examples
프리셋 상세
Preset Details
- 해상도
- Resolution
- 1920 × 1080
- 코덱
- Codec
- mp4 / h.264 / aac
- 비트레이트
- Bitrate
- 5,400 kbps
- 해상도
- Resolution
- 1280 × 720
- 코덱
- Codec
- mp4 / h.264 / aac
- 비트레이트
- Bitrate
- 2,400 kbps
- 해상도
- Resolution
- 854 × 480
- 코덱
- Codec
- mp4 / h.264 / aac
- 비트레이트
- Bitrate
- 1,200 kbps
- 해상도
- Resolution
- 640 × 360
- 코덱
- Codec
- mp4 / h.264 / aac
- 비트레이트
- Bitrate
- 720 kbps
옵션
Options
| 옵션 | 기본값 | 설명 |
|---|---|---|
faststart | true | 트랜스코딩 후 메타데이터(moov atom)를 파일 맨 앞에 배치합니다. 스트리밍 재생 시작 속도를 개선합니다. 맨 뒤에 위치시키려면 faststart/false로 명시합니다. |
| Option | Default | Description |
|---|---|---|
faststart | true | Places metadata (moov atom) at the beginning of the file after transcoding. Improves streaming playback start speed. Set to faststart/false to place it at the end. |
# 1080p 프리셋으로 트랜스코딩
https://example.com/video.mp4/c_xcdr/preset/_1080p
# 720p 프리셋으로 트랜스코딩
https://example.com/video.mp4/c_xcdr/preset/_720p
# faststart 비활성화 (메타데이터를 파일 끝에 배치)
https://example.com/video.mp4/c_xcdr/preset/_1080p/faststart/false# Transcode to 1080p preset
https://example.com/video.mp4/c_xcdr/preset/_1080p
# Transcode to 720p preset
https://example.com/video.mp4/c_xcdr/preset/_720p
# Disable faststart (place metadata at end of file)
https://example.com/video.mp4/c_xcdr/preset/_1080p/faststart/false구간편집 (Trim)
trim 명령어를 사용하면 비디오에서 원하는 구간만 추출할 수 있습니다. HH:mm:ss 형식으로 시작~종료 시간을 지정하며, 다구간 추출·병합도 지원합니다. 트랜스코딩과 결합해 숏폼 제작에 유용합니다.
The trim command extracts only the desired segment from a video. Specify start and end times in HH:mm:ss format; multi-segment extraction and merging are also supported. Useful for short-form content creation when combined with transcoding.
시간 형식
Time Format
| 형식 | 예시 | 설명 |
|---|---|---|
HH:mm:ss | 01:00:05 | 시:분:초 형식 (1시간 0분 5초) |
mm:ss | 03:15 | 분:초 형식 (3분 15초) |
ss | 5 | 초 단위 숫자만 입력 |
시작-종료 | 5-10 | 구간 지정. -로 시작~종료 구분 |
-종료 | -01:30 | 처음부터 지정 시간까지 |
시작- | 1:15:30- | 지정 시간부터 끝까지 |
| Format | Example | Description |
|---|---|---|
HH:mm:ss | 01:00:05 | Hours:Minutes:Seconds (1 hour 0 min 5 sec) |
mm:ss | 03:15 | Minutes:Seconds (3 min 15 sec) |
ss | 5 | Seconds only (numeric) |
start-end | 5-10 | Range notation. - separates start and end. |
-end | -01:30 | From beginning to specified time |
start- | 1:15:30- | From specified time to the end |
URL 예시
URL Examples
# 1시간 0분 5초 ~ 1시간 1분 5초 구간 추출
https://example.com/video.mp4/c_xcdr/trim/01:00:05-01:01:05
# 처음부터 1분 30초까지
https://example.com/video.mp4/c_xcdr/trim/-01:30
# 1시간 15분 30초부터 끝까지
https://example.com/video.mp4/c_xcdr/trim/1:15:30-
# 1분 20초~1분 30초, 3분 57초~4분 28초 두 구간 병합
https://example.com/video.mp4/c_xcdr/trim/01:20-01:30,03:57-04:28# Extract segment from 1h 0m 5s to 1h 1m 5s
https://example.com/video.mp4/c_xcdr/trim/01:00:05-01:01:05
# From beginning to 1 minute 30 seconds
https://example.com/video.mp4/c_xcdr/trim/-01:30
# From 1 hour 15 minutes 30 seconds to end
https://example.com/video.mp4/c_xcdr/trim/1:15:30-
# Merge two segments: 1m 20s–1m 30s and 3m 57s–4m 28s
https://example.com/video.mp4/c_xcdr/trim/01:20-01:30,03:57-04:28- 미리보기 클립:
-00:30— 처음 30초를 미리보기로 제공 - 하이라이트 추출: 특정 장면 구간만 잘라내어 SNS 공유용 숏클립 생성
- 챕터 분리: 긴 강의 영상을 챕터별로 나눠 각 URL로 제공
- 다구간 병합: 광고 구간을 제외한 본편 구간들만 하나로 이어 제공
- Preview clip:
-00:30— Serve the first 30 seconds as a preview - Highlight extraction: Cut out a specific scene to create a short clip for social sharing
- Chapter split: Divide a long lecture video into chapters, each served via its own URL
- Multi-segment merge: Concatenate only the main content segments, excluding ads
프레임 캡쳐
capture 명령어를 사용하면 비디오의 특정 시간 지점에서 프레임을 이미지로 추출합니다. 단일 캡쳐와 다구간 캡쳐를 모두 지원하며, 캡쳐된 이미지는 이미지 서비스와 연계해 추가 가공도 가능합니다.
The capture command extracts a frame from a specific timestamp as an image. Both single and multi-point capture are supported, and captured images can be further processed via the Image service.
옵션
Options
| 옵션 | 기본값 | 설명 |
|---|---|---|
ts=시간 | — | 캡쳐할 시간 지점. HH:mm:ss.SSS 또는 축약형 ss.SSS 형식 지원. 콤마(,)로 구분해 다구간 캡쳐 가능 |
format=포맷 | webp | 출력 이미지 포맷. webp(기본값), jpg, png, gif, avif, mp4 중 선택 |
interval=초 | — | 다구간 캡쳐 시 화면 전환 간격 (초 단위) |
| Option | Default | Description |
|---|---|---|
ts=time | — | Capture point timestamp. Supports HH:mm:ss.SSS or short form ss.SSS. Separate with commas (,) for multi-point capture. |
format=fmt | webp | Output image format. Choose from webp (default), jpg, png, gif, avif, mp4. |
interval=sec | — | Frame transition interval in seconds for multi-point capture. |
;)으로 구분합니다. 예: ts=10.3;format=webp;interval=3;). Example: ts=10.3;format=webp;interval=3URL 예시
URL Examples
이미지 서비스 연계
Image Service Integration
캡쳐된 이미지는 이미지 서비스(c_hdims)와 연계해 리사이즈·포맷 변환 등 추가 가공이 가능합니다.
Captured images can be further processed (resize, format conversion, etc.) using the Image service (c_hdims).
# 10초 지점 캡쳐 후 640x480으로 리사이즈
https://example.com/video.mp4/c_xcdr/capture/ts=10/c_hdims/resize/640x480# Capture frame at 10s then resize to 640x480
https://example.com/video.mp4/c_xcdr/capture/ts=10/c_hdims/resize/640x480<img> 태그의 src로 사용할 수 있으며, 이미지 서비스와 연계해 원하는 크기로 리사이즈도 가능합니다.
<img src="https://example.com/videos/product-tour.mp4/c_xcdr/capture/ts=3"
alt="영상 썸네일" loading="lazy">src of an <img> tag, and can also be resized via the Image service.
<img src="https://example.com/videos/product-tour.mp4/c_xcdr/capture/ts=3"
alt="Video thumbnail" loading="lazy">ts값이 비디오의 총 재생 시간을 초과한 경우- 지정한 시간 지점이 검은 화면 구간인 경우 (예: 인트로 페이드인)
analyze/src로 원본의 duration을 먼저 확인하고, 다른 시간 지점으로 조정해보세요.
- The
tsvalue exceeds the total duration of the video - The specified timestamp falls within a black-screen segment (e.g. intro fade-in)
analyze/src to check the source duration first, then adjust the timestamp.
HLS (HTTP Live Streaming)
출시 예정 기능
Planned Features
| 기능 | 설명 |
|---|---|
| MP4 → HLS 변환 | MP4 원본을 HLS 포맷(.m3u8 매니페스트 + .ts 세그먼트)으로 On-the-fly 변환 |
| ABR (Adaptive Bitrate) | 네트워크 속도에 따라 자동으로 화질을 조정하는 다중 해상도 스트림 생성 |
| 세그먼트 길이 조정 | 각 .ts 세그먼트의 길이를 초 단위로 지정 가능 |
| AES-128 암호화 | 콘텐츠 보호를 위한 세그먼트 단위 암호화 지원 예정 |
| Feature | Description |
|---|---|
| MP4 → HLS Conversion | On-the-fly conversion of MP4 source to HLS format (.m3u8 manifest + .ts segments) |
| ABR (Adaptive Bitrate) | Multi-resolution stream generation that automatically adjusts quality based on network speed |
| Segment Length Control | Specify the length of each .ts segment in seconds |
| AES-128 Encryption | Per-segment encryption for content protection (planned) |
HLS란 무엇인가요?
What is HLS?
HLS(HTTP Live Streaming)는 Apple이 개발한 비디오 스트리밍 프로토콜입니다. 비디오를 짧은 세그먼트(.ts 파일)로 분할하고, 매니페스트 파일(.m3u8)로 목록을 관리합니다. 네트워크 상태에 따라 화질을 자동으로 전환하는 ABR을 지원하여, 버퍼링 없이 안정적인 스트리밍을 제공합니다.
HLS (HTTP Live Streaming) is a video streaming protocol developed by Apple. It splits video into short segments (.ts files) managed by a manifest file (.m3u8). It supports ABR (Adaptive Bitrate) to automatically switch quality based on network conditions, providing stable streaming without buffering.
세그먼트 목록과 재생 순서를 담고 있는 텍스트 파일입니다. 플레이어는 이 파일을 먼저 요청해 전체 스트림 구조를 파악합니다.
A text file containing the segment list and playback order. The player requests this file first to understand the overall stream structure.
실제 비디오 데이터가 담긴 파일입니다. 보통 2~10초 단위로 분할되며, CDN에서 각 세그먼트를 독립적으로 캐싱합니다.
Files containing the actual video data. Typically split into 2–10 second chunks; each segment is cached independently on the CDN.
네트워크 속도가 느리면 낮은 화질로, 빠르면 높은 화질로 자동 전환합니다. 끊김 없는 시청 경험을 제공합니다.
Automatically switches to lower quality when network is slow and higher quality when fast. Provides a seamless viewing experience without buffering.
각 .ts 세그먼트를 암호화해 무단 다운로드·배포를 방지합니다. 키는 별도 키 서버를 통해 관리됩니다.
Encrypts each .ts segment to prevent unauthorized download and redistribution. Keys are managed through a separate key server.
워터마크
출시 예정 기능
Planned Features
| 기능 | 설명 |
|---|---|
| 이미지 워터마크 | 로고·이미지를 비디오 위에 오버레이. 위치·크기·투명도(Opacity) 조절 가능 |
| 텍스트 워터마크 | 사용자 ID, 저작권 문구 등 텍스트를 비디오 위에 삽입. 폰트·크기·색상 지정 가능 |
| 타임라인 구간 지정 | 전체 재생 구간이 아닌 특정 시간 구간에만 워터마크 적용 |
| 동적 텍스트 | 사용자 이메일·ID 등 동적 값을 워터마크로 삽입. 불법 유포 출처 추적에 활용 |
| Feature | Description |
|---|---|
| Image Watermark | Overlay logo or image on video. Position, size, and opacity can be adjusted. |
| Text Watermark | Insert text such as user ID or copyright notice on video. Font, size, and color can be specified. |
| Timeline Segment | Apply watermark only to a specific time segment, not the entire video. |
| Dynamic Text | Insert dynamic values such as user email or ID as a watermark. Useful for tracing the source of unauthorized distribution. |
분석 (Analyze)
analyze 명령어를 사용하면 비디오의 메타정보를 JSON 형태로 받아볼 수 있습니다. 간략 정보(src), 상세 정보(srcd), 원본과의 유사도 비교(ssim) 세 가지 명령어를 제공합니다.
The analyze command returns video metadata in JSON format. Three commands are available: brief info (src), detailed info (srcd), and similarity comparison with the source (ssim).
c_xcdr가 아닌 c_hdims 키워드로 호출합니다.예:
https://example.com/sample.mp4/c_hdims/analyze/srcc_hdims keyword, not c_xcdr.Example:
https://example.com/sample.mp4/c_hdims/analyze/src명령어 종류
Command Types
| 명령어 | 설명 |
|---|---|
analyze/src | 비디오 분석정보를 간략히 제공합니다. 포맷, 재생시간, 해상도, 코덱 등 핵심 정보를 확인할 때 사용합니다. |
analyze/srcd | 비디오 분석정보를 상세히 제공합니다. 모든 스트림(오디오·비디오)의 전체 메타데이터를 포함합니다. |
analyze/ssim | 원본과 변환된 비디오의 유사도(SSIM)를 비교합니다. 변환 품질 검증에 활용합니다. |
| Command | Description |
|---|---|
analyze/src | Returns video analysis in brief form. Use to check key information such as format, duration, resolution, and codec. |
analyze/srcd | Returns video analysis in detail. Includes full metadata for all streams (audio and video). |
analyze/ssim | Compares the similarity (SSIM) between the source and the converted video. Used for conversion quality verification. |
analyze/src — 간략 정보
analyze/src — Brief Info
{
"enable": true,
"url": "/video.mp4",
"result": {
"source": {
"size": 6238713,
"format": "mp4",
"duration": 15.062,
"video": {
"codec_name": "h264",
"width": 1920,
"height": 1080
},
"audio": {
"codec_name": "aac"
}
},
"elapsed": {
"init": 2,
"complete": 14
},
"function": {
"keyword": "xcdr"
}
}
}응답 필드 설명 (analyze/src)
Response Fields (analyze/src)
| 필드 | 타입 | 설명 |
|---|---|---|
enable | boolean | 트랜스코더 모듈에 적재·처리 가능하면 true, 불가하면 false |
url | 문자열 | 원본 URL |
result.source.size | 정수 (bytes) | 파일 용량 |
result.source.format | 문자열 | 컨테이너 포맷 (mp4, webm, flv, ts 등) |
result.source.duration | 숫자 (초) | 재생 시간. 소수점 3자리까지 표시 |
result.source.video.codec_name | 문자열 | 비디오 코덱. 비디오가 없으면 null |
result.source.video.width | 정수 (px) | 가로 해상도 |
result.source.video.height | 정수 (px) | 세로 해상도 |
result.source.audio.codec_name | 문자열 | 오디오 코덱. 오디오가 없으면 null |
result.elapsed.init | 정수 (ms) | 호출 시점 ~ 원본 초기화까지 경과 시간 |
result.elapsed.complete | 정수 (ms) | 호출 시점 ~ 완료까지 경과 시간 |
| Field | Type | Description |
|---|---|---|
enable | boolean | true if the transcoder module can load and process the file; false otherwise |
url | string | Source URL |
result.source.size | integer (bytes) | File size |
result.source.format | string | Container format (mp4, webm, flv, ts, etc.) |
result.source.duration | number (seconds) | Playback duration. Displayed to 3 decimal places. |
result.source.video.codec_name | string | Video codec. null if no video stream. |
result.source.video.width | integer (px) | Horizontal resolution |
result.source.video.height | integer (px) | Vertical resolution |
result.source.audio.codec_name | string | Audio codec. null if no audio stream. |
result.elapsed.init | integer (ms) | Elapsed time from call to source initialization |
result.elapsed.complete | integer (ms) | Elapsed time from call to completion |
analyze/srcd — 상세 정보
analyze/srcd — Detailed Info
srcd는 모든 스트림의 전체 메타데이터를 반환합니다. result.source.streams 배열에 오디오·비디오 각 스트림의 코덱, 비트레이트, 프레임 수, 색공간, 샘플링 정보 등 상세 데이터가 포함됩니다.
srcd returns full metadata for all streams. The result.source.streams array contains detailed data for each audio and video stream, including codec, bitrate, frame count, color space, and sampling information.
analyze/ssim — 유사도 비교
analyze/ssim — Similarity Comparison
{
"enable": true,
"url": "/example.mp4",
"result": {
"ssim": "0.971172",
"elapsed": {
"init": 5217,
"complete": 9559
}
}
}| 필드 | 타입 | 설명 |
|---|---|---|
enable | boolean | SSIM 비교가 정상 처리되면 true, 실패하면 false |
result.ssim | 숫자 (0~1) | 원본과 변환된 비디오의 유사도. 1이면 완전히 동일 |
| Field | Type | Description |
|---|---|---|
enable | boolean | true if SSIM comparison was processed successfully; false on failure |
result.ssim | number (0–1) | Similarity between source and converted video. 1 means identical. |
- 트림 구간 설정 전:
analyze/src로duration을 확인해 종료 시간이 범위를 벗어나지 않도록 - 캡쳐 시간 설정 전:
duration을 확인해ts값이 유효 범위 내에 있는지 확인 - 디버깅: 원본 파일의 코덱·해상도·포맷이 예상과 다를 때
- 변환 품질 검증: 트랜스코딩 후
analyze/ssim으로 원본 대비 화질 손실 수준 확인
- Before setting trim range: Check
durationwithanalyze/srcso the end time doesn't exceed the valid range - Before setting capture time: Verify that the
tsvalue falls within the valid range by checkingduration - Debugging: When the source file's codec, resolution, or format differs from what's expected
- Conversion quality verification: After transcoding, use
analyze/ssimto check quality loss relative to the source
설정
서비스 설정 → 미디어 설정 → 비디오 탭에서 On-the-fly 비디오 최적화를 관리합니다. 설정 변경은 이후 들어오는 새 요청부터 바로 적용됩니다. 이미 CDN에 캐싱된 비디오는 퍼지를 실행하기 전까지 기존 방식대로 제공됩니다.
On-the-fly video optimization is managed under Service Settings → Media Settings → Video. Changes take effect immediately for new incoming requests. Videos already cached on the CDN continue to be served as before until a purge is executed.
설정 항목
Settings
| 설정 | 기본값 | 하는 일 | 변경 시 주의사항 |
|---|---|---|---|
| 비디오 최적화 활성화 | OFF | MP4를 브라우저 지원 여부에 따라 WebM(VP9/AV1)으로 자동 변환. Safari 16.4+(macOS) 및 iOS 17+에는 WebM(VP9) 제공. 구형 Safari/iOS에는 MP4 그대로 제공 | 활성화 시 기존 캐시와 새 포맷이 혼재할 수 있습니다. 변경 후 캐시 퍼지를 권장합니다 |
| 서비스 키워드 | c_xcdr | URL 변환 명령어 앞에 오는 고정 키워드 | 변경이 불가합니다. 절대 수정하지 마세요 |
| Setting | Default | What it does | Caution when changing |
|---|---|---|---|
| Enable Video Optimization | OFF | Auto-converts MP4 to WebM (VP9/AV1) based on browser support. Serves WebM (VP9) to Safari 16.4+(macOS) and iOS 17+; serves MP4 to legacy Safari/iOS. | Enabling may result in a mix of old cached and new format responses. A cache purge is recommended after changing. |
| Service Keyword | c_xcdr | Fixed keyword that precedes URL transform commands | Cannot be changed. Never modify. |
c_xcdr를 변경하는 순간, CDN에 저장된 모든 변환 비디오의 캐시 URL이 한꺼번에 무효화됩니다. 이로 인해 원본 서버로 요청이 폭증하고, 서비스 응답 속도가 급격히 저하될 수 있습니다. 키워드 변경이 꼭 필요하다면 반드시 기술지원팀에 먼저 문의하세요.c_xcdr immediately invalidates all cached video URLs stored on the CDN. This can cause a sudden surge of requests to the origin server and a sharp drop in service response speed. If a change is absolutely necessary, contact the support team first.최적화를 켜기 전 vs 켠 후 비교
Optimization OFF vs ON Comparison
- 원본 MP4를 그대로 전달합니다
- 트랜스코딩이 필요하면
/c_xcdr/preset/_720p등을 직접 URL에 추가해야 합니다 - 모든 브라우저에 동일한 포맷이 제공됩니다
- Delivers the original MP4 as-is
- If transcoding is needed, you must manually append
/c_xcdr/preset/_720petc. to the URL - The same format is served to all browsers
- Chrome·Firefox·Edge·Safari 16.4+(macOS)·iOS 17+에는 WebM(VP9), 구형 Safari/iOS에는 MP4를 자동 제공합니다
- 기존 URL을 그대로 사용해도 됩니다 (코드 변경 불필요)
- 포맷별로 독립 캐싱되어 각 브라우저에 최적 포맷이 제공됩니다
- Automatically serves WebM (VP9) to Chrome, Firefox, Edge, Safari 16.4+(macOS), iOS 17+; MP4 to legacy Safari/iOS
- Existing URLs can be used as-is (no code changes needed)
- Each format is cached independently, so the optimal format is served to each browser
Best Practice
M2Live Cloud 비디오 서비스를 처음 도입하거나 더 효율적으로 사용하고 싶다면 아래 가이드를 참고하세요. 원본 관리부터 HTML 삽입 방법, 캐시 전략까지 실무에서 바로 활용할 수 있는 내용을 담았습니다.
If you're adopting M2Live Cloud Video service for the first time or looking to use it more efficiently, refer to the guide below. It covers everything from source management to HTML embedding and cache strategies — all ready for immediate use in production.
원본·포맷 관리 전략
Source & Format Management Strategy
- 비디오 최적화 설정을 ON으로 활성화하세요. URL을 바꾸지 않아도 브라우저에 맞는 포맷이 자동으로 적용됩니다.
- 원본은 항상 고품질 MP4(H.264)로 보관하세요. On-the-fly 변환이 원본에서 최상의 결과를 만들어냅니다.
- 새 비디오를 업로드한 뒤
analyze/src로 메타정보를 먼저 확인하세요. 재생 시간, 코덱, 해상도를 파악하면 트림·캡쳐 파라미터 설정이 쉬워집니다. - 트랜스코딩 후 품질이 걱정된다면
analyze/ssim으로 원본 대비 유사도를 검증하세요. - 비디오 탐색(seek) 기능이 필요한 서비스라면 CDN 설정의 If-Range 헤더 처리를 활성화하세요.
- Enable video optimization (ON). The optimal format will be applied automatically without changing URLs.
- Always store sources as high-quality MP4 (H.264). On-the-fly conversion produces the best results from the original.
- After uploading a new video, check metadata with
analyze/srcfirst. Knowing the duration, codec, and resolution makes trim/capture parameter setup easier. - If you're concerned about quality after transcoding, verify similarity against the source with
analyze/ssim. - If your service requires video seeking, enable If-Range header handling in CDN settings.
- 원본을 직접 WebM으로 변환해서 업로드하지 마세요. 재변환 시 화질 손실이 누적됩니다.
- 3분 이상의 영상에 트랜스코딩을 무작정 적용하지 마세요. 기술지원팀에 먼저 문의하세요.
- URL에 타임스탬프나 무작위 파라미터를 추가하지 마세요. 캐시 히트율이 급감합니다.
- 트림 종료 시간을 원본 재생 시간보다 크게 설정하지 마세요.
analyze/src로 먼저 확인하세요.
- Don't convert the source to WebM before uploading. Re-conversion causes cumulative quality loss.
- Don't blindly apply transcoding to videos longer than 3 minutes. Contact the support team first.
- Don't add timestamps or random parameters to URLs. Cache hit rate will drop sharply.
- Don't set a trim end time beyond the source duration. Check with
analyze/srcfirst.
상황별 권장 URL 패턴
Recommended URL Patterns by Use Case
| 상황 | 권장 URL 패턴 | 이유 |
|---|---|---|
| 일반 비디오 — 최적화만 원할 때 | 비디오 최적화 설정 ON + 기존 URL 그대로 | 코드 변경 없이 자동 최적화가 적용됩니다 |
| 1080p로 트랜스코딩 | /videos/video.mp4/c_xcdr/preset/_1080p | 고품질 고정 해상도가 필요할 때 |
| 모바일용 저용량 버전 | /videos/video.mp4/c_xcdr/preset/_480p | 480p + 1,200 kbps 프리셋. 모바일 데이터 절감 |
| 썸네일 이미지 생성 | /videos/video.mp4/c_xcdr/capture/ts=3 | 3초 지점 프레임을 WebP로 추출. CDN에 캐싱됩니다 |
| 미리보기 숏클립 제공 | /videos/video.mp4/c_xcdr/trim/-00:30 | 처음 30초만 추출. 페이지 로드 속도 개선에 효과적입니다 |
| 파일 업데이트 후 즉시 반영 | URL에 버전 파라미터 추가 video.mp4?v=2 | CDN 퍼지 없이 새 버전을 즉시 제공할 수 있습니다 |
| Use Case | Recommended URL Pattern | Reason |
|---|---|---|
| Standard video — optimization only | Enable video optimization + keep existing URL | Auto optimization is applied without any code changes |
| Transcode to 1080p | /videos/video.mp4/c_xcdr/preset/_1080p | Use when a fixed high-quality resolution is required |
| Low-bandwidth mobile version | /videos/video.mp4/c_xcdr/preset/_480p | 480p + 1,200 kbps preset. Reduces mobile data usage. |
| Thumbnail image generation | /videos/video.mp4/c_xcdr/capture/ts=3 | Extracts frame at 3s as WebP. Cached on CDN. |
| Preview short clip | /videos/video.mp4/c_xcdr/trim/-00:30 | Extracts first 30 seconds. Effective for improving page load speed. |
| Immediate update after file change | Add version parameter to URL: video.mp4?v=2 | Serves new version immediately without CDN purge. |
HTML에 비디오 삽입하기
Embedding Video in HTML
비디오 최적화 설정이 켜져 있다면 기존 <video> 태그를 그대로 사용해도 브라우저에 맞는 포맷이 자동으로 제공됩니다. Safari 16.4+(macOS) 및 iOS 17+에도 VP9/WebM이 자동으로 전달되며, 구형 환경에는 MP4가 폴백됩니다.
If video optimization is enabled, the existing <video> tag can be used as-is and the optimal format will be served automatically. VP9/WebM is delivered automatically to Safari 16.4+(macOS) and iOS 17+; MP4 is provided as a fallback for legacy environments.
<!-- 비디오 최적화 ON 상태라면 이것만으로 충분합니다.
Chrome/Firefox/Edge/Safari 16.4+/iOS 17+ → WebM(VP9)
구형 Safari / iOS 16↓ → MP4 자동 폴백 -->
<video
src="https://cdn.myservice.com/videos/intro.mp4"
controls
preload="metadata"
width="1280" height="720">
</video><!-- If video optimization is ON, this is all you need.
Chrome/Firefox/Edge/Safari 16.4+/iOS 17+ → WebM(VP9)
Legacy Safari / iOS 16↓ → MP4 auto-fallback -->
<video
src="https://cdn.myservice.com/videos/intro.mp4"
controls
preload="metadata"
width="1280" height="720">
</video><!-- WebM 우선, MP4 폴백 (구형 Safari / iOS 16↓ 포함 전 브라우저 지원) -->
<video controls preload="metadata" width="1280" height="720">
<!-- Chrome / Firefox / Edge / Safari 16.4+ / iOS 17+: WebM(VP9) 우선 제공 -->
<source
src="https://cdn.myservice.com/videos/intro.mp4/c_xcdr/preset/_1080p"
type="video/mp4">
<!-- 구형 Safari(16.3↓) / iOS 16↓: 원본 MP4(H.264) 폴백 -->
<source
src="https://cdn.myservice.com/videos/intro.mp4"
type="video/mp4">
<p>이 브라우저는 HTML5 비디오를 지원하지 않습니다.</p>
</video><!-- WebM preferred, MP4 fallback (supports all browsers including legacy Safari / iOS 16↓) -->
<video controls preload="metadata" width="1280" height="720">
<!-- Chrome / Firefox / Edge / Safari 16.4+ / iOS 17+: WebM(VP9) served preferentially -->
<source
src="https://cdn.myservice.com/videos/intro.mp4/c_xcdr/preset/_1080p"
type="video/mp4">
<!-- Legacy Safari(16.3↓) / iOS 16↓: original MP4(H.264) fallback -->
<source
src="https://cdn.myservice.com/videos/intro.mp4"
type="video/mp4">
<p>Your browser does not support HTML5 video.</p>
</video>설정 경로: CDN 설정 → 콘텐츠 처리 → If-Range 헤더 처리 (활성화 권장)
Setting path: CDN Settings → Content Processing → If-Range Header Handling (enable recommended)
트러블슈팅
비디오 관련 문제가 생겼을 때 아래 체크리스트를 순서대로 확인해보세요. 직접 해결이 어렵다면 m2.cs@winesoft.co.kr로 문의해 주세요.
If you encounter a video-related issue, work through the checklist below in order. If you're unable to resolve it yourself, contact us at m2.cs@winesoft.co.kr.
증상별 원인과 해결 방법
Symptoms, Causes, and Solutions
| 이런 문제가 있다면 | 원인 | 해결 방법 |
|---|---|---|
| 비디오가 아예 재생되지 않음 | URL 경로 오류, 원본 서버 장애, c_xcdr 오타, 코덱 미지원 | URL 진단에서 응답 코드 확인. c_xcdr 철자 확인. analyze/src로 코덱 확인 |
| Safari(macOS 16.3↓)에서 재생이 안 됨 | 구형 Safari는 WebM 미지원 | 자동 최적화 설정을 사용하면 구형 Safari에 MP4가 자동 제공됩니다. |
| iOS 16 이하에서 재생이 안 됨 | iOS 16 이하 Safari는 WebM 미지원 | 자동 최적화 설정 사용 시 iOS 16 이하에 MP4가 자동 제공됩니다. iOS 17+에서는 VP9/WebM이 정상 재생됩니다. |
| 트랜스코딩이 완료되지 않음 | 영상 길이가 3분을 초과하는 경우 | 현재 실시간 트랜스코딩은 숏폼·리뷰 용도로 한정됩니다. 3분 이상 영상은 기술지원팀에 문의하세요. |
| 비디오 탐색(seek)이 매우 느림 | CDN의 Range Request 처리가 비활성화되어 있음 | CDN 설정 → 콘텐츠 처리 → If-Range 헤더 처리를 활성화하세요. |
| 트림 구간이 맞지 않음 | 시간 형식 오류 또는 종료 시간이 재생 시간 초과 | analyze/src로 duration을 먼저 확인하고 파라미터를 다시 설정하세요. |
| 캡쳐 이미지가 검게 나옴 | ts 값이 재생 시간을 초과하거나 인트로·아웃트로 검은 화면 구간 | analyze/src로 duration 확인 후 ts 값을 조정하세요. |
| 캐시 히트율이 낮음 | URL 파라미터가 무작위로 붙거나 TTL이 너무 짧음 | URL 파라미터를 표준화하고, CDN TTL 설정을 점검하세요. |
| 변환 후 오디오가 없음 | 원본 오디오 코덱이 출력 포맷과 호환되지 않음 | analyze/src로 audio.codec_name을 확인하세요. 기술지원팀에 문의를 권장합니다. |
| 502 / 504 오류 발생 | 원본 서버 응답이 너무 느리거나 타임아웃 발생 | 원본 서버 상태를 확인하고, Origin Pull 응답 시간을 점검하세요. |
| Symptom | Cause | Solution |
|---|---|---|
| Video does not play at all | URL path error, origin server failure, c_xcdr typo, unsupported codec | Check response code in URL diagnostics. Verify c_xcdr spelling. Check codec with analyze/src. |
| Playback fails on Safari (macOS 16.3↓) | Legacy Safari does not support WebM | Using auto optimization will automatically serve MP4 to legacy Safari. |
| Playback fails on iOS 16 or earlier | Safari on iOS 16 and earlier does not support WebM | With auto optimization enabled, MP4 is served automatically to iOS 16 and earlier. VP9/WebM plays correctly on iOS 17+. |
| Transcoding does not complete | Video duration exceeds 3 minutes | Real-time transcoding is currently limited to short-form/review use cases. Contact the support team for videos longer than 3 minutes. |
| Video seeking is very slow | CDN Range Request handling is disabled | Go to CDN Settings → Content Processing → Enable If-Range header handling. |
| Trim segment is incorrect | Time format error or end time exceeds duration | Check duration with analyze/src first, then reconfigure parameters. |
| Captured image is black | ts exceeds duration or timestamp falls in a black-screen segment | Check duration with analyze/src, then adjust the ts value. |
| Cache hit rate is low | Random parameters appended to URLs or TTL too short | Standardize URL parameters and review CDN TTL settings. |
| No audio after conversion | Source audio codec is incompatible with the output format | Check audio.codec_name with analyze/src. Contacting the support team is recommended. |
| 502 / 504 error occurs | Origin server response is too slow or timed out | Check origin server status and review Origin Pull response time. |
문제를 빠르게 찾는 5단계 체크리스트
5-Step Checklist for Quick Diagnosis
/videos/video.mp4/c_hdims/analyze/src로 원본의 재생 시간·코덱·해상도를 확인합니다. 트림·캡쳐 파라미터 설정 전 반드시 확인하세요./videos/video.mp4/c_hdims/analyze/src to verify the source's duration, codec, and resolution. Always do this before setting trim/capture parameters.# 응답 헤더 전체 확인 (Content-Type, Cache-Control, X-Cache 등)
curl -I "https://example.com/videos/intro.mp4/c_xcdr/preset/_720p"
# 비디오 메타정보 JSON으로 확인 (재생시간, 코덱, 해상도 등)
curl "https://example.com/videos/intro.mp4/c_hdims/analyze/src"
# 상세 메타정보 확인 (모든 스트림 정보 포함)
curl "https://example.com/videos/intro.mp4/c_hdims/analyze/srcd"
# Range Request 지원 여부 확인
curl -H "Range: bytes=0-1023" -I "https://example.com/videos/intro.mp4"# Check all response headers (Content-Type, Cache-Control, X-Cache, etc.)
curl -I "https://example.com/videos/intro.mp4/c_xcdr/preset/_720p"
# Check video metadata as JSON (duration, codec, resolution, etc.)
curl "https://example.com/videos/intro.mp4/c_hdims/analyze/src"
# Check detailed metadata (includes all stream info)
curl "https://example.com/videos/intro.mp4/c_hdims/analyze/srcd"
# Check Range Request support
curl -H "Range: bytes=0-1023" -I "https://example.com/videos/intro.mp4"- 문제가 발생하는 전체 비디오 URL
analyze/src결과 JSON (재생시간, 코덱, 해상도)- 문제가 발생하는 브라우저·OS 환경 (Safari 버전, iOS 버전 포함)
- 최근에 변경한 설정 내역 (미디어 설정, 퍼지 실행 여부 등)
- The full video URL where the issue occurs
analyze/srcresult JSON (duration, codec, resolution)- Browser and OS environment where the issue occurs (including Safari version, iOS version)
- Recent setting changes (media settings, purge execution, etc.)