更新时间:2025-05-29 11:18:03
媒体封装功能允许您在保持音视频文件内容质量不变的前提下转换影片文件格式。该流程可确保您的媒体文件在适应不同分发需求的同时保持内容完整性。
CDNetworks 支持多种媒体格式:
视频格式:
音频格式:
对于视频格式(HLS和DASH),CDNetworks支持分片共源场景。这意味着您的 .mpd(DASH)和 .m3u8(HLS)文件可以共享完全相同的媒体分片,显著降低对象存储的存储成本。
在请求内容中,请按照以下格式设置 fops 参数:
<op>/<Format>
/vn/<value>
/an/<value>
/segtime/<value>
/fastStartSeg/<value>
/dash_hls_playlist/<value>
/segtype/<value>
|saveas/<Urlsafe_Base64_Encode(bucket:savedfilename)>
| 参数 | 必填 | 说明 |
|---|---|---|
op |
是 | 操作类型。媒体封装使用 avthumb |
format |
是 | 输出的目标格式(mp4, flv, m3u8, mpd 等) |
an |
否 | 音频流控制: • 0(默认)- 保留音频流• 1 - 移除音频流 |
vn |
否 | 视频流控制: • 0(默认)- 保留视频流• 1 - 移除视频流 |
segtime |
否 | HLS/DASH 分片时长,用于定义每一小段音/视频流的播放时长。(单位:秒,范围1-120) 默认取值场景: • 输入为非m3u8/mpd格式:10秒分片 • 输入为m3u8/mpd格式,未设置转码参数:仅对索引文件进行文本处理 • 输入为m3u8/mpd格式,设置了转码参数:自动计算切片时长 |
fastStartSeg |
否 | 仅限HLS:设置更短的初始分片以加速启动。 格式: MxNs 其中:• M = 分片数量• N = 分片时长(秒)示例: 5x3s 创建5个3秒的初始分片 |
segtype |
否 | 仅限DASH:定义DASH分片输出格式: • mp4 - MP4分片• m4s(默认) - M4S分片 |
dash_hls_playlist |
否 | 控制基于DASH内容生成HLS播放列表的行为: • 1 - 同时生成MPD和M3U8文件以实现跨平台兼容• 0(默认) - 仅生成MPD文件用于DASH专用分发 |
saveas |
否 | 输出位置(URL安全Base64编码):Urlsafe_Base64_Encode(bucket:savedfilename) |
该示例将 vod-wcs-test001 存储空间下名为 test.flv 的视频文件封装为 MP4 格式:
伪代码:
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"
实际请求:
curl -v -X POST
-d "bucket=dm9kLXdjcy10ZXN0MDAx&key=dGVzdC5mbHY=&fops=YXZ0aHVtYi9tcDR8c2F2ZWFzL2RtOWtMWGRqY3kxMFpYTjBNREF4T25SbGMzUXViWEEw&force=1&separate=1"
-H "Authorization:AccessKey:EncodeSign"
--url "http://mgrDomain/fops"
该示例将名为 test.mp4 的视频封装为15秒分片的HLS格式:
伪代码:
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"
实际请求:
curl -v -X POST
-d "bucket=dm9kLXdjcy10ZXN0MDAx&key=dGVzdC5tcDQ=&fops=YXZ0aHVtYi9tM3U4L3NlZ3RpbWUvMTV8c2F2ZWFzL2RtOWtMWGRqY3kxMFpYTjBNREF4T25SbGMzUXViVE4xT0E9PQ==&force=1&separate=1"
-H "Authorization:Authorization:AccessKey:EncodeSign"
--url "http://mgrDomain/fops"
该示例将名为 test.mp4 的视频封装为DASH格式:
伪代码:
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"
实际请求:
curl -v -X POST
-d "bucket=dm9kLXdjcy10ZXN0MDAx&key=dGVzdC5tcGQ=&fops=YXZ0aHVtYi9tcGR8c2F2ZWFzL2RtOWtMWGRqY3kxMFpYTjBNREF4T25SbGMzUXViWEJr&force=1&separate=1"
-H "Authorization:Authorization:AccessKey:EncodeSign"
--url "http://mgrDomain/fops"