Quick Start
Domain Management
Origin Settings
Media Processing
Before You Start
How to Use
Transcoding
Transmuxing
Packaging
Adaptive Bitrate Streaming
Video Encryption
Intelligent Transcoding
Editing
Appendix
Cache Settings
Cache Purge and Prefetch
HTTP/HTTPS Settings
Access Control
Advanced Settings
Logs and Reports
Tutorials
Content Protection

Packaging

Last update:2025-03-21 14:55:25

Media Packaging lets you transform the container format of your audio and video files without altering their content quality. This process ensures your media maintains its integrity while adapting to various delivery requirements.

Supported Formats

CDNetworks supports a wide range of media formats:

Video Formats:

  • MP4, FLV, HLS, DASH, TS, MKV, MOV
  • WMV, AVI, VP8, VP9, RealVideo, Windows Media Video

Audio Formats:

  • AAC, AC-3, MP1, MP2, MP3
  • PCM, RealAudio, Windows Media Audio (WMA), OGG

Storage Optimization

For streaming formats (HLS and DASH), CDNetworks offers segment sharing within manifests. This means your .mpd (DASH) and .m3u8 (HLS) files can share identical segments, significantly reducing storage requirements on your Object Storage.

How to Use

Structure your fops command as shown below:

<op>/<Format>
    /vn/<value>
    /an/<value>
    /segtime/<value>
    /fastStartSeg/<value>
    /dash_hls_playlist/<value>
    /segtype/<value>
|saveas/<Urlsafe_Base64_Encode(bucket:savedfilename)>

Parameters

Parameter Required Description
op Yes Operation type. Use avthumb for packaging.
format Yes Target format (mp4, flv, m3u8, mpd, etc.)
an No Audio track control:
0 (default) - Keep audio track
1 - Remove audio track
vn No Video content control:
0 (default) - Keep video content
1 - Remove video content
segtime No Duration of segments for HLS and DASH formats in seconds (1-120).

Default behavior:
• For non-m3u8/mpd inputs: 10-second segments
• For m3u8/mpd inputs without transcoding: Only manifest is produced
• For m3u8/mpd inputs with transcoding: System calculates duration dynamically
fastStartSeg No HLS only: Sets shorter initial segments for faster startup.
Format: MxNs where:
M = number of segments
N = duration in seconds

Example: 5x3s creates five 3-second segments at the beginning
segtype No DASH only: Defines the output format of DASH segments:
mp4 - MP4 segments
m4s (default) - M4S segments
dash_hls_playlist No Controls generation of HLS playlist from DASH content:
1 - Generate both MPD and M3U8 files for cross-platform compatibility
0 (default) - Generate only MPD file for DASH-focused delivery
saveas No Output location as URL-safe Base64-encoded string: Urlsafe_Base64_Encode(bucket:savedfilename)

Examples

Example 1: Converting FLV to MP4

This example packages a video named test.flv from the vod-wcs-test001 bucket into MP4 format:

Pseudocode:

curl -v -X POST 
–d "bucket=Urlsafe_Base64_Encode(vod-wcs-test001)&key=Urlsafe_Base64_Encode(test.flv)&fops=Urlsafe_Base64_Encode(avthumb/mp4|saveas/Urlsafe_Base64_Encode(vod-wcs-test001:test.mp4))&force=1&separate=1"
–H "Authorization:AccessKey:EncodeSign" 
--url "http://mgrDomain/fops"

Actual Request:

curl -v -X POST 
-d "bucket=dm9kLXdjcy10ZXN0MDAx&key=dGVzdC5mbHY=&fops=YXZ0aHVtYi9tcDR8c2F2ZWFzL2RtOWtMWGRqY3kxMFpYTjBNREF4T25SbGMzUXViWEEw&force=1&separate=1"
-H "Authorization:AccessKey:EncodeSign" 
--url "http://mgrDomain/fops"

Example 2: Converting MP4 to HLS

This example packages a video named test.mp4 into HLS format with 15-second segments:

Pseudocode:

curl -v -X POST 
–d "bucket=Urlsafe_Base64_Encode(vod-wcs-test001)&key=Urlsafe_Base64_Encode(test.mp4)&fops=Urlsafe_Base64_Encode(avthumb/m3u8/segtime/15|saveas/Urlsafe_Base64_Encode(vod-wcs-test001:test.m3u8))&force=1&separate=1" 
–H "Authorization:AccessKey:EncodeSign" 
--url "http://mgrDomain/fops"

Actual Request:

curl -v -X POST 
-d "bucket=dm9kLXdjcy10ZXN0MDAx&key=dGVzdC5tcDQ=&fops=YXZ0aHVtYi9tM3U4L3NlZ3RpbWUvMTV8c2F2ZWFzL2RtOWtMWGRqY3kxMFpYTjBNREF4T25SbGMzUXViVE4xT0E9PQ==&force=1&separate=1"
-H "Authorization:Authorization:AccessKey:EncodeSign" 
--url "http://mgrDomain/fops"

Example 3: Converting MP4 to DASH

This example packages a video named test.mp4 into DASH format:

Pseudocode:

curl -v -X POST 
–d "bucket=Urlsafe_Base64_Encode(vod-wcs-test001)&key=Urlsafe_Base64_Encode(test.mpd)&fops=Urlsafe_Base64_Encode(avthumb/mpd|saveas/Urlsafe_Base64_Encode(vod-wcs-test001:test.mpd))&force=1&separate=1"
–H "Authorization:AccessKey:EncodeSign" 
--url "http://mgrDomain/fops"

Actual Request:

curl -v -X POST 
-d "bucket=dm9kLXdjcy10ZXN0MDAx&key=dGVzdC5tcGQ=&fops=YXZ0aHVtYi9tcGR8c2F2ZWFzL2RtOWtMWGRqY3kxMFpYTjBNREF4T25SbGMzUXViWEJr&force=1&separate=1"
-H "Authorization:Authorization:AccessKey:EncodeSign" 
--url "http://mgrDomain/fops"
Is the content of this document helpful to you?
Yes
I have suggestion
Submitted successfully! Thank you very much for your feedback, we will continue to strive to do better!