封装

更新时间:2025-05-29 11:18:03

媒体封装功能允许您在保持音视频文件内容质量不变的前提下转换影片文件格式。该流程可确保您的媒体文件在适应不同分发需求的同时保持内容完整性。

支持的格式

CDNetworks 支持多种媒体格式:

视频格式:

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

音频格式:

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

存储优化

对于视频格式(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)

示例

示例1:FLV转MP4

该示例将 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"

示例2:MP4转HLS

该示例将名为 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"

示例3:MP4转DASH

该示例将名为 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"
本篇文档内容对您是否有帮助?
有帮助
我要反馈
提交成功!非常感谢您的反馈,我们会继续努力做到更好!