Shaka Packager是用于DASH和HLS打包和加密的工具和媒体打包SDK。 支持Widevine、DRM系统 和 本地加密等。
github地址:https://github.com/google/shaka-packager
1.环境
演示的操作系统:Ubuntu 16.04(图形界面版)
2.获取工具
由于是简单演示,所以我们先下载 releases 版的,点击进入。
可以看到,目前最新版本是 2.4.2,我们找到 Linux 平台的工具,点击下载。把它放到一个文件夹中,以便以之后使用。
3.准备视频文件
一般为了适应网络的传输情况,会把片源转化为不同分辨率的视频文件。这里我们使用FFmpeg去做。随便找一个mp4视频文件,执行以下命令,分别生成360p、480p、720p和1080p的分辨率视频。(视频文件下面有链接)
360p
ffmpeg -i src.mp4 -c:a copy \
-vf "scale=-2:360" \
-c:v libx264 -profile:v baseline -level:v 3.0 \
-x264-params scenecut=0:open_gop=0:min-keyint=72:keyint=72 \
-minrate 600k -maxrate 600k -bufsize 600k -b:v 600k \
-y h264_baseline_360p_600.mp4
480p
ffmpeg -i src.mp4 -c:a copy \
-vf "scale=-2:480" \
-c:v libx264 -profile:v main -level:v 3.1 \
-x264-params scenecut=0:open_gop=0:min-keyint=72:keyint=72 \
-minrate 1000k -maxrate 1000k -bufsize 1000k -b:v 1000k \
-y h264_main_480p_1000.mp4
720p