播放器调试和实现流程问题

更新时间:
复制 MD 格式

播放器为免费产品,建议搭配视频点播、视频直播、媒体处理等产品使用,以便获得更优体验,比如清晰度切换、安全播放、加密下载等。

如何实现客户端上传并播放?

媒体上传流程解析,请参见媒体上传概述

实现流程:用户App获取上传凭证 -> 服务端下发上传凭证 -> 用户上传视频并获取vid -> 服务端获取播放凭证 -> 将播放凭证下发给客户端 -> 完成视频播放,具体见下图。点播凭证获取流程.png
说明 目前视频上传到视频点播平台,并且转码成功后才可进行播放。需要通过视频转码成功回调来知晓视频转码是否完成,请参见全部清晰度转码完成

iOS播放器无法在后台播放视频

iOS播放器SDK无法支持后台播放视频,即按home键以后还能播放,用Demo测试也无法播放。解决办法如下:

  1. 设置Background Modes,在xcode里开启后台采集数据功能。 在 Capabilities 标签页中勾选 Audio, AirPlay, and Picture in Picture 选项。
  2. vod目录下找到 AliyunPlayerVodPlayViewController.m文件。
    // Do any additional setup after loading the view.
    }
    - (void)becomeActive{
        self.isRunTime = YES;
    }
    - (void)resignActive{
            if ([self networkChangePop:YES]) {
                ;
                return;
            }
        if (self.mediaPlayer){
            [self.mediaPlayer pause];
            self.playButton.enabled = NO;
            self.stopButton.enabled = YES;
            self.pauseButton.enabled = NO;
            self.resumeButton.enabled = YES;
        //      self.replayButton.enabled = NO;
            self.isRunTime = NO;
        }
    }
  3. 在该文件的 becomeActive方法下面有个对应 resignActive方法。 resignActive方法里面带有 pause方法,将 pause方法注释掉,如以下代码所示。
    - (void)becomeActive{
        self.isRunTime = YES;
    }
    - (void)resignActive{
        if ([self networkChangePop:YES]) {
            ;
            return;
        }
        if (self.mediaPlayer){
            // [self.mediaPlayer pause];
            self.playButton.enabled = NO;
            self.stopButton.enabled = YES;
            self.pauseButton.enabled = NO;
            self.resumeButton.enabled = YES;
    //        self.replayButton.enabled = NO;
            self.isRunTime = NO;
        }
    }

各版本更新了哪些内容?

以播放器SDK为例,请参见播放器发布历史

客户端开发快速获取playAuth进行播放器调试?

客户端开发可以通过python脚本获取播放凭证进行调试,具体流程如下:

  1. 安装python2.7+pip环境(Mac环境下自带,Windows环境自行安装)。
  2. 使用终端安装SDK,运行以下命令:
    pip install aliyun-python-sdk-core
    pip install aliyun-python-sdk-vod
  3. 下载Python脚本,从阿里云控制台获取accessKeyIdaccessKeySecret并替换脚本里面的字段内容,从点播控制台获取已经上传视频的videoID并替换脚本里面的字段内容。
  4. python脚本所在目录下通过终端执行以下命令:
    python playAuth.py
  5. 在终端中查看获取的PlayAuthVideoId。
  6. 在播放器SDK中使用获取的PlayAuthVideoId进行播放。
说明 调用此方式时,需注意PlayAuth的时效问题。因为PlayAuth只有100s的时效。多数播放不了的问题是由此引起。