---
title: 制作视频流云手机镜像
description: "获取视频流客户端tar包组件、视频流服务端tar包组件和视频流引擎二进制软件包进行视频流云手机镜像的制作。若使用Containerd容器运行时启动视频流云手机时，则需要使用Docker工具导出符合OCI格式的镜像，并通过nerdctl工具导入以供Containerd使用。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/240RC2/armnative/kunpengcpsvideo_20_0024.html
sourcePath: /source/zh/kunpengboostkithistory/240RC2/armnative/kunpengcpsvideo_20_0024.html
indexId: 6d0eaddb0da9097c6d0c3a0f47f06b6827e4643ca5e06589a346ed064eb5f0c679
---
# 制作视频流云手机镜像

获取视频流客户端tar包组件、视频流服务端tar包组件和视频流引擎二进制软件包进行视频流云手机镜像的制作。若使用Containerd容器运行时启动视频流云手机时，则需要使用Docker工具导出符合OCI格式的镜像，并通过nerdctl工具导入以供Containerd使用。

#### 校验软件包完整性

1. 请参见视频流引擎获取CloudPhoneApk.tar.gz、DemoVideoEngine.tar.gz和BoostKit-videoengine_*.zip软件包，获取后将软件包上传至服务器的“/home/kbox_video”目录。
2. 通过以下命令获取如下组件的sha256校验码。
  1 2 sha256sum DemoVideoEngine.tar.gz sha256sum CloudPhoneApk.tar.gz

3. 将校验码分别与DemoVideoEngine_sha256.txt和CloudPhoneApk_sha256.txt进行对比。
  如果一致，说明获取的软件包完整，可以继续下一步操作，否则应该暂停部署，重新获取完整的软件包。


#### 制作镜像

1. 解压DemoVideoEngine.tar.gz软件包获取制作镜像的脚本，并赋予可执行权限。
  1 2 tar -xvf DemoVideoEngine.tar.gz Dockerfile_NoVPU make_image.sh chmod +x Dockerfile_NoVPU make_image.sh

2. 制作视频流云手机镜像。镜像名称可以使用默认镜像名也可以自己指定。

  - 使用默认镜像名称，执行命令如下。Kbox基础云手机和视频流云手机默认镜像名称分别为kbox:latest和video:latest。
    1 ./make_image.sh

  - 如果镜像名称需要自定义，执行命令如下例所示。通过参数指定Kbox基础云手机和视频流云手机镜像名称，格式均为“{镜像名}:{tag}”，如下例所示kbox、video为镜像名，origin、latest为tag。
    1 ./make_image.sh kbox:origin video:latest

    镜像名只可包含数字与小写字母，首字符应为小写字母，tag名只可包含数字与字母。若自定义修改了视频流云手机的镜像名称，请参见制作基础数据卷章节中将cfct_config配置文件中的视频流云手机镜像名更新为自定义的镜像名称。

3. 查看视频流云手机镜像（video:latest）是否制作成功。
  1 docker images

  回显如下，表示镜像制作成功。

  1 2 REPOSITORY TAG IMAGE ID CREATED SIZE video latest 40e5f42c17d9 6 seconds ago 2.11GB


若使用Containerd容器运行时启动视频流云手机时，需要通过以下步骤使用Docker工具导出符合OCI格式的镜像，并通过nerdctl工具导入以供Containerd使用。

1. 导出做好的视频流云手机镜像，以镜像名为video:latest的镜像为例（导出的容器tar包命名可自定义）。

```
docker save video:latest > videolatest_oci.tar
```


2. 通过nerdctl导入符合OCI格式的视频流云手机镜像。

```
nerdctl load -i videolatest_oci.tar
```


3. 确认镜像已成功导入。

```
nerdctl images
```


4. 创建“containerd_config”配置文件使脚本可识别启动运行时为Containerd。

```
cd /home/kbox_video
touch containerd_config
```


  若要切换Docker作为视频流云手机的默认容器运行时，请将“containerd_config”文件删除。

5. 允许网络包转发策略。

```
iptables -P FORWARD ACCEPT
```
