--- title: "VOD streaming" slug: "vodstation-vodstationstream" tags: ["VOD Station", "cdn+", "CDN"] updated: 2026-10-08T06:47:54Z published: 2026-10-08T06:47:54Z canonical: "guide.ncloud-docs.com/vodstation-vodstationstream" --- > ## Documentation Index > Fetch the complete documentation index at: https://guide.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # VOD streaming Available in Classic and VPC If you have created a channel for VOD streaming and completed integration settings to integrate with the CDN platform, you can play content using the playback path URL to verify the status of your streaming service implementation. You can set the playback start and end positions to trim the file or apply subtitles. Caution - Do not use the same file name when replacing a source media file currently in service. If you must use the same file name, perform a CDN purge at least 10 minutes after replacing the file to remove the existing cached content. - If the original filename contains the `#`, `$` and `;` characters, playback via the protocol URL is not supported. Make sure the original filename does not contain these special characters. - VOD Station supports audio streaming. Use an `m4a` file encoded by VOD Station or an `m4a` file that satisfies the VOD Station channel input specifications. - For the VOD Station channel input specifications, see [user guides](/docs/en/vodstation-vodstationprep). - `m4a` recording files created by Live Station are segment files and cannot be played as VOD streams. ## Check playback path URL The playback URL consists of the following components. | Component | Example | Description | | --- | --- | --- | | Scheme | `https://` | URL Scheme | | CDN domain | `example.edge.naverncp.com` | Playback CDN domain | | Streaming protocol | `/hls`, `/dash` | Streaming protocol of the created channel | | File name | `/example/example.mp4` | The name of the playback media file, including the Object Storage bucket and folder path | | Manifest | `/index.m3u8`, `/manifest.mpd` | The manifest file used for streaming playback | ### CDN playback path URL If you created a CDN when creating the channel, you can play content by referring to the CDN playback path URL in the channel information. Select the channel to play in the channel list, click **[Channel information]**, and check the URL in the **CDN playback path** component of the information popup. - URL template: `https://example.edge.naverncp.com/[protocol]/[encryptedBucketName]/[path]/[video filename]/[manifest]` ### CDN Playback path URL separately created If you did not create a CDN together with the channel but created one separately, the CDN playback path URL is not displayed in the channel information. Check the service domain of the created CDN in the CDN list, and then replace the [cdnDomain] placeholder in the URL template to play the content. - URL template: `https://[cdnDomain]/[protocol]/[encryptedBucketName]/[path]/[video filename]/[manifest]` ### Create playback path URL If you created a Global Edge together with the channel, you can automatically generate a CDN playback URL for each piece of content. To generate the playback path URL: 1. In the NAVER Cloud Platform console, navigate to **Menu** > **All Services** > **Media** > **VOD Station**. 2. Click the **Channel** menu, and select a channel from the channel list. 3. In the channel's content list, click **[Create HLS URL]** or **[Create DASH URL]** for the content for which you want to generate an automatic URL. - You are directed to the created URL, and the content plays immediately. ## Content playback You can verify the deployment status of the implementation of VOD streaming service by playing content from the channel. Play content referring to the following example: ### Single bitrate playback The following is an example of a playback URL for single-bitrate content. | Type | Playback target | `[path]` Settings | | --- | --- | --- | | Bucket root file | `vod-5100k.mp4` directly under the `guide` bucket | Omitted | | 1-depth folder file | `vod-5100k.mp4` under a `1-depth` folder in the `guide` bucket | `1-depth` | The URL template is as follows: ``` https://[cdnDomain]/[protocol]/[encryptedBucketName]/[path]/[video filename]/[manifest] ``` If the `[path]` is not present, enter `[video filename]` immediately after `[encryptedBucketName]` in the URL. The playback path URL example for a file at the bucket root is as follows: ``` HLS: https://example.edge.naverncp.com/hls/guide/vod-5100k.mp4/index.m3u8 DASH: https://example.edge.naverncp.com/dash/guide/vod-5100k.mp4/manifest.mpd ``` The example playback URL for a file in a 1-depth folder is as follows: ``` HLS: https://example.edge.naverncp.com/hls/guide/1-depth/vod-5100k.mp4/index.m3u8 DASH: https://example.edge.naverncp.com/dash/guide/1-depth/vod-5100k.mp4/manifest.mpd ``` ### Adaptive bitrate playback All media files for adaptive bitrate playback must reside within the same folder. The playback path URL example for adaptive bitrate playback is as follows: | Type | Playback target | prefix | suffix | | --- | --- | --- | --- | | Same filename pattern | `vod-5400k.mp4`, `vod-2400k.mp4`, `vod-1200k.mp4`, `vod-0900k.mp4`, `vod-0600k.mp4`, `vod-0300k.mp4` under the `guide` bucket's `abr` folder | `vod-` | `k.mp4` | | Different filename pattern | `vod-0600k.mp4`, `vod-0300k.mp4`, `svod-360p.mp4` under the `guide` bucket's `abr` folder | None | None | The URL template is as follows: ``` https://[cdnDomain]/[protocol]/[encryptedBucketName]/[path]/[prefix],[video filenames],[suffix].smil/[manifest] ``` If the files use the same filename pattern, separate the `prefix`, the filename identifier for the file to be played, and the `suffix` with commas (,). Append `.smil` after `suffix` to indicate an adaptive bitrate request. ``` HLS: https://example.edge.naverncp.com/hls/guide/abr/vod-,5400,2400,1200,0900,0600,0300,k.mp4.smil/master.m3u8 DASH: https://example.edge.naverncp.com/dash/guide/abr/vod-,5400,2400,1200,0900,0600,0300,k.mp4.smil/manifest.mpd ``` Note For HLS requests, use `master.m3u8` instead of `index.m3u8` as the manifest file. If the filenames follow different patterns, separate the playback filenames with commas (,) without `prefix` or `suffix`. ``` HLS: https://example.edge.naverncp.com/hls/guide/abr/,vod-0600k.mp4,vod-0300k.mp4,svod-360p.mp4,.smil/master.m3u8 DASH: https://example.edge.naverncp.com/dash/guide/abr/,vod-0600k.mp4,vod-0300k.mp4,svod-360p.mp4,.smil/manifest.mpd ``` ## Crop media file You can specify playback points in a media file and use the cropping feature. ### Specify playback start point The following example demonstrates how to play a VOD by setting the playback start point (`vodStart`) to 10 seconds: The time unit is in milliseconds, where 1 second equals 1,000 milliseconds. Place the file trimming option after `[protocol]/[encryptedBucketName]`. | Type | URL template | | --- | --- | | Single bitrate playback | `https://[cdnDomain]/[protocol]/[encryptedBucketName]/vodStart/[time]/[path]/[video filename]/[manifest]` | | Adaptive bitrate playback | `https://[cdnDomain]/[protocol]/[encryptedBucketName]/vodStart/[time]/[path]/[prefix],[video filenames],[suffix].smil/[manifest]` | The playback path URL example for a single bitrate is as follows: ``` HLS: https://example.edge.naverncp.com/hls/Bxpv-g0eEp-Gu4pCSAHOPQ__/vodStart/10000/guide/1-depth/vod-5100k.mp4/index.m3u8 DASH: https://example.edge.naverncp.com/dash/Bxpv-g0eEp-Gu4pCSAHOPQ__/vodStart/10000/guide/1-depth/vod-5100k.mp4/manifest.mpd ``` The playback path URL example for adaptive bitrate playback is as follows: ``` HLS: https://example.edge.naverncp.com/hls/Bxpv-g0eEp-Gu4pCSAHOPQ__/vodStart/10000/guide/abr/vod-,5400,2400,k.mp4.smil/master.m3u8 DASH: https://example.edge.naverncp.com/dash/Bxpv-g0eEp-Gu4pCSAHOPQ__/vodStart/10000/guide/abr/vod-,5400,2400,k.mp4.smil/manifest.mpd ``` ### Specify playback end point The following example demonstrates how to play a VOD by setting the playback end point (`vodEnd`) to 10 seconds: The time unit is in milliseconds, where 1 second equals 1,000 milliseconds. Place the file trimming option after `[protocol]/[encryptedBucketName]`. | Type | URL template | | --- | --- | | Single bitrate playback | `https://[cdnDomain]/[protocol]/[encryptedBucketName]/vodEnd/[time]/[path]/[video filename]/[manifest]` | | Adaptive bitrate playback | `https://[cdnDomain]/[protocol]/[encryptedBucketName]/vodEnd/[time]/[path]/[prefix],[video filenames],[suffix].smil/[manifest]` | The playback path URL example for a single bitrate is as follows: ``` HLS: https://example.edge.naverncp.com/hls/Bxpv-g0eEp-Gu4pCSAHOPQ__/vodEnd/10000/guide/1-depth/vod-5100k.mp4/index.m3u8 DASH: https://example.edge.naverncp.com/dash/Bxpv-g0eEp-Gu4pCSAHOPQ__/vodEnd/10000/guide/1-depth/vod-5100k.mp4/manifest.mpd ``` The playback path URL example for adaptive bitrate playback is as follows: ``` HLS: https://example.edge.naverncp.com/hls/Bxpv-g0eEp-Gu4pCSAHOPQ__/vodEnd/10000/guide/abr/vod-,5400,2400,k.mp4.smil/master.m3u8 DASH: https://example.edge.naverncp.com/dash/Bxpv-g0eEp-Gu4pCSAHOPQ__/vodEnd/10000/guide/abr/vod-,5400,2400,k.mp4.smil/manifest.mpd ``` ### Specify playback start and end points The following example shows how to play VOD from the 1-minute mark to the 2-minute mark (`vodStart`, `vodEnd`). The time unit is in milliseconds, where 1 second equals 1,000 milliseconds. Place the file trimming option after `[protocol]/[encryptedBucketName]`. | Type | URL template | | --- | --- | | Single bitrate playback | `https://[cdnDomain]/[protocol]/[encryptedBucketName]/vodStart/[startTime]/vodEnd/[endTime]/[path]/[video filename]/[manifest]` | | Adaptive bitrate playback | `https://[cdnDomain]/[protocol]/[encryptedBucketName]/vodStart/[startTime]/vodEnd/[endTime]/[path]/[prefix],[video filenames],[suffix].smil/[manifest]` | The playback path URL example for a single bitrate is as follows: ``` HLS: https://example.edge.naverncp.com/hls/Bxpv-g0eEp-Gu4pCSAHOPQ__/vodStart/60000/vodEnd/120000/guide/1-depth/vod-5100k.mp4/index.m3u8 DASH: https://example.edge.naverncp.com/dash/Bxpv-g0eEp-Gu4pCSAHOPQ__/vodStart/60000/vodEnd/120000/guide/1-depth/vod-5100k.mp4/manifest.mpd ``` The playback path URL example for adaptive bitrate playback is as follows: ``` HLS: https://example.edge.naverncp.com/hls/Bxpv-g0eEp-Gu4pCSAHOPQ__/vodStart/60000/vodEnd/120000/guide/abr/vod-,5400,2400,k.mp4.smil/master.m3u8 DASH: https://example.edge.naverncp.com/dash/Bxpv-g0eEp-Gu4pCSAHOPQ__/vodStart/60000/vodEnd/120000/guide/abr/vod-,5400,2400,k.mp4.smil/manifest.mpd ``` ## Audio settings You can apply multilingual audio to the video content you deploy in any Language. The supported audio formats are as follows: | Input codec | | --- | | AAC, MP3, AC-3, E-AC-3 | ### Specify location of video and audio files You must determine the location of video and audio files based on the `[path]` preceding the comma (,) where the ABR URL begins. Both the video and audio files must reside beneath the `[path]`. `https://example.edge.naverncp.com/[protocol]/[encryptedBucketName]/[path]/,[video files],lang/[lang code]/[audio filename],.smil/master.m3u8` ### Audio language settings Languages are identified by [lang code] within the URL. `https://example.edge.naverncp.com/[protocol]/[encryptedBucketName]/[path]/,[video files],lang/[lang code]/[audio filename],.smil/master.m3u8` Note You must use 3-letter language codes based on the ISO 639-3 standard. See [ISO639-3 code list](https://iso639-3.sil.org/code_tables/639/data). ## Subtitle settings You can apply subtitles to video content to be released. The following subtitle formats are supported. | Input | Output | | --- | --- | | VTT, SRT, DFXP, TTML, CAP | VTT | ### Specify location of video and subtitle files You must determine the location of video and subtitle files based on the `[path]` preceding the comma (,) where the ABR URL begins. Both video and subtitle files must reside beneath the `[path]`. `https://example.edge.naverncp.com/[protocol]/[encryptedBucketName]/[path]/,[video files],lang/[lang code]/[subtitle filename],.smil/master.m3u8` ### Subtitle language settings Language variants are distinguished by the `[lang code]` segment in the URL. `https://example.edge.naverncp.com/[protocol]/[encryptedBucketName]/[path]/,[video files],lang/[lang code]/[subtitle filename],.smil/master.m3u8` Note You must use 3-letter language codes based on the ISO 639-3 standard. See [ISO639-3 code list](https://iso639-3.sil.org/code_tables/639/data). ## Use multilingual subtitles and audio An example of the playback path URL for multi-language subtitles and audio is shown below: ### Single bitrate, single subtitle URL template: `https://[cdnDomain]/[protocol]/[encryptedBucketName]/[path]/,[video file],lang/[lang code]/[subtitle filename],.smil/[manifest]` - HLS: `https://example.edge.naverncp.com/hls/guide/,vod-5100k.mp4,lang/kor/sample.vtt,.smil/master.m3u8` - DASH: `https://example.edge.naverncp.com/dash/guide/,vod-5100k.mp4,lang/kor/sample.vtt,.smil/manifest.mpd` ### Single bitrate, single subtitle, multi-language audio URL template: `https://[cdnDomain]/[protocol]/[encryptedBucketName]/[path]/,[video file],lang/[lang code]/[audio filename],...lang/[lang code]/[audio filename],lang/[lang code]/[subtitle filename],.smil/[manifest]` - HLS: `https://example.edge.naverncp.com/hls/guide/,vod-5100k.mp4,lang/kor/sample-kor.m4a,lang/eng/sample-eng.m4a,lang/kor/sample.vtt,.smil/master.m3u8` - DASH: `https://example.edge.naverncp.com/dash/guide/,vod-5100k.mp4,lang/kor/sample-kor.m4a,lang/eng/sample-eng.m4a,lang/kor/sample.vtt,.smil/manifest.mpd` ### Single-bitrate, multi-language audio, multi-language subtitle URL template: `https://[cdnDomain]/[protocol]/[encryptedBucketName]/[path]/,[video file],lang/[lang code]/[audio filename],...lang/[lang code]/[audio filename],lang/[lang code]/[subtitle filename],...lang/[lang code]/[subtitle filename],.smil/[manifest]` - HLS: `https://example.edge.naverncp.com/hls/guide/,vod-5100k.mp4,lang/kor/sample-kor.m4a,lang/eng/sample-eng.m4a,lang/kor/sample-k.vtt,lang/eng/sample-en.vtt,.smil/master.m3u8` - DASH: `https://example.edge.naverncp.com/dash/guide/,vod-5100k.mp4,lang/kor/sample-kor.m4a,lang/eng/sample-eng.m4a,lang/kor/sample-k.vtt,lang/eng/sample-en.vtt,.smil/manifest.mpd` ### Multi-bitrate, multi-language subtitles, multi-language audio URL template: `https://[cdnDomain]/[protocol]/[encryptedBucketName]/[path]/,[video files],lang/[lang code]/[audio filename],...lang/[lang code]/[audio filename],lang/[lang code]/[subtitle filename],lang/[lang code]/[subtitle filename],...lang/[lang code]/[subtitle filename],.smil/[manifest]` - HLS: `https://example.edge.naverncp.com/hls/guide/,vod-5100k.mp4,vod-2400k.mp4,lang/kor/sample-kor.m4a,lang/eng/sample-eng.m4a,lang/kor/sample-k.vtt,lang/eng/sample-en.vtt,.smil/master.m3u8` - DASH: `https://example.edge.naverncp.com/dash/guide/,vod-5100k.mp4,vod-2400k.mp4,lang/kor/sample-kor.m4a,lang/eng/sample-eng.m4a,lang/kor/sample-k.vtt,lang/eng/sample-en.vtt,.smil/manifest.mpd` ## Security settings To enhance the security of your media files, use the signed URL feature in Global Edge. For instructions on configuring Signed URLs, see [Global Edge Signed URL user guide](/docs/en/globaledge-signedurl).