如何从高清MP4视频创建.mpd格式的MPEG DASH清单文件
从高清MP4生成MPEG DASH .mpd清单实操指南
我们一般用开源跨平台的FFmpeg工具完成这个操作,不需要依赖付费商业软件,新手门槛很低。
前置准备
先安装对应你操作系统版本的FFmpeg,安装完成后可以在终端输入ffmpeg -version验证是否安装成功,正常会返回FFmpeg的版本信息。
基础生成命令(单步生成多分辨率分片+mpd清单)
假设你的源高清MP4文件名为input.mp4,需要生成480p、720p、1080p三个分辨率档位的DASH资源,直接执行以下终端命令即可:
ffmpeg -i input.mp4 \ -map 0 -map 0 -map 0 \ -vf "scale=w=854:h=480" -b:v:0 1000k \ -vf "scale=w=1280:h=720" -b:v:1 2500k \ -vf "scale=w=1920:h=1080" -b:v:2 5000k \ -c:a aac -b:a 128k \ -use_template 1 -use_timeline 1 \ -seg_duration 10 \ -adaptation_sets "id=0,streams=v id=1,streams=a" \ -f dash output.mpd
参数说明
-map 0 -map 0 -map 0:对应你要生成的3个视频分辨率档位,要加多少个档位就写多少个-map 0-vf scale=xxx -b:v:X xxxk:对应每个档位的分辨率和视频码率,序号从0开始依次对应前面的map顺序,你可以根据自己的业务需求调整分辨率和码率数值-c:a aac -b:a 128k:统一音频编码为AAC,码率128kbps,也可以根据需求调整音频码率-seg_duration 10:每个视频分片的时长为10秒,常用取值范围是2~15秒,分片越小切码率的灵敏度越高,但文件数量也会越多- 最终生成的文件包含
output.mpd清单文件,以及各个分辨率的分片视频、音频文件,部署时需要将所有生成的文件放在同一目录下,播放器直接加载output.mpd即可实现自适应码率播放
注意事项
- 如果你的源视频本身分辨率低于1080p,不要强行拉伸生成更高分辨率的档位,反而会降低播放画质
- 测试阶段可以把
seg_duration调小到2秒,方便快速验证多码率切换的效果
内容的提问来源于stack exchange,提问作者DevMobApp
相关产品推荐
相关产品推荐

