媒体处理 MTS-截图问题

简介: 案例:传入的截图时间无效,无论传多少值,都只截取视频的第一帧 分析: 如果选则是关键帧截图,需要看好关键帧的间隔设置,。可以参考下官网的 java 代码,测试是过是可以生成多张的。 package com.

案例:

传入的截图时间无效,无论传多少值,都只截取视频的第一帧

排查:

如果选则是关键帧截图,需要看好关键帧的间隔设置,。可以参考下官网的 java 代码,测试是过是可以生成多张的。

package com.aliyun.mts;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.mts.model.v20140618.*;
public class Snapshot {
    private static String accessKeyId = "xxx";
    private static String accessKeySecret = "xxx";
    private static String mpsRegionId = "cn-hangzhou";
    private static String pipelineId = "xxx";
    private static String ossLocation = "oss-cn-hangzhou";
    private static String ossBucket = "xxx";
    private static String ossInputObject = "input.mp4";
    private static String ossOutputObject = "output_{Count}.jpg";
    public static void main(String[] args) {
        // DefaultAcsClient
        DefaultProfile profile = DefaultProfile.getProfile(
                mpsRegionId,      // Region ID
                accessKeyId,      // AccessKey ID
                accessKeySecret); // Access Key Secret
        IAcsClient client = new DefaultAcsClient(profile);
        // request
        SubmitSnapshotJobRequest request = new SubmitSnapshotJobRequest();
        // Input
        JSONObject input = new JSONObject();
        input.put("Location", ossLocation);
        input.put("Bucket", ossBucket);
        try {
            input.put("Object", URLEncoder.encode(ossInputObject, "utf-8"));
        } catch (UnsupportedEncodingException e) {
            throw new RuntimeException("input URL encode failed");
        }
        request.setInput(input.toJSONString());
        // SnapshotConfig
        JSONObject snapshotConfig = new JSONObject();
        // SnapshotConfig->OutputFile
        JSONObject output = new JSONObject();
        output.put("Location", ossLocation);
        output.put("Bucket", ossBucket);
        try {
            output.put("Object", URLEncoder.encode(ossOutputObject, "utf-8"));
        } catch (UnsupportedEncodingException e) {
            throw new RuntimeException("output URL encode failed");
        }
        snapshotConfig.put("OutputFile", output.toJSONString());
        // SnapshotConfig->Time
        snapshotConfig.put("Time", "2");
        // SnapshotConfig->Interval/Num
        snapshotConfig.put("Interval", "2");
        snapshotConfig.put("Num", "3");
        // SnapshotConfig->Width/Height
        snapshotConfig.put("Height", "360");
        // SnapshotConfig
        request.setSnapshotConfig(snapshotConfig.toJSONString());
        // PipelineId
        request.setPipelineId(pipelineId);
        // call api
        SubmitSnapshotJobResponse response;
        try {
            response = client.getAcsResponse(request);
            System.out.println("RequestId is:"+response.getRequestId());
            System.out.println("JobId is:" + response.getSnapshotJob().getId());
            System.out.println(String.format(
                                        "http://%s.%s.aliyuncs.com/output_00001.jpg",
                                        ossBucket,
                                        ossLocation));
            System.out.println(String.format(
                                        "http://%s.%s.aliyuncs.com/output_00002.jpg",
                                        ossBucket,
                                        ossLocation));
            System.out.println(String.format(
                                        "http://%s.%s.aliyuncs.com/output_00003.jpg",
                                        ossBucket,
                                        ossLocation));
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            e.printStackTrace();
        }
    }
}

案例:

媒体处理设置 CBR 转码后均失败

排查:

媒体处理提供了转码转码模式的转码

  • CBR 模式下,如果设置了固定码率需要结合 maxrate minrate vbv 三个参数才能用,CBR 要求保持的码率是恒定的,不能有波动,比如运动比较大的画面。
  • ONEPASS 模式下,用户可以设置客户端设置的固定码率,允许码率有波动。
  • TWO PASS 模式下,在第一次其实是检测收集运动啊亮度等相关数据,这样在第二次编码的时候就会针对不同的场景来进行动态的压缩编码。二次编码比一次编码质量要好一些的。但是编码时间也会增加不少。使用二次编码可以把变化不大的画面转换时码率低一些(如静态画面),而变化大的码率高一些(如打斗动作部分),这样码率是变化的,可以使整部影片的清晰度比较均匀,只有在转换高清影片时二次编码才能发挥最大做用。

结论:

更改 ONEPASS 模式后问题解决。

案例:

MTS 转码首帧总是黑屏

排查:

1

当提交的截图是。"frameType":"intra" 时,并且视频的黑色元素占比较高时截图出来的可能会是黑屏,可以通过如下参数组合尝试重新截图。

time=0 num=1. blacklevel=90。

案例:

客户端请求 MTS 提交转码任务并设置截图,并按照 1s 的 interval 截图,视频很长但是只截取到几张图。

排查:

遇到问题可以按照以下思路排查:

  • 优先看下客户端提交的截图参数 format_type 截图类型,是 intrl 关键帧截图还是 normal 普通截图。如果是 intrl 截图设置了 interval 也是没用的。
  • 如果是关键帧截图,看下视频的关键帧有多少,和截图的数量是不是一致的,如果一致就对了。
  • 如果是普通截图的话就会按照 interval 的间隔来截图。
目录
相关文章
|
编解码 Java API
媒体处理 MTS-截图问题
案例:传入的截图时间无效,无论传多少值,都只截取视频的第一帧 分析: 如果选则是关键帧截图,需要看好关键帧的间隔设置,。可以参考下官网的 java 代码,测试是过是可以生成多张的。 package com.
媒体处理 MTS-截图问题
|
编解码
媒体处理 MTS-基础问题
案例:出现更换 MTS key 后转码失败 KEY 有两种类型,一个是 BASE64 另外一个是 KMS,如果选择 KMS 需要购买 KMS 的管理服务。如果是 BASE64 的方式自己设定一个 128bit 的 KEY 然后 BASE64 传给 server 端即可。
1315 0
|
4月前
|
人工智能 自然语言处理
业界首家!阿里云智能媒体服务,卓越级通过中国信通院大模型媒体处理评估
阿里云智能媒体服务作为业界首家获得中国信通院“卓越级”通过。
业界首家!阿里云智能媒体服务,卓越级通过中国信通院大模型媒体处理评估
|
编解码
突破媒体转码效率壁垒 阿里云首推倍速转码
阿里云倍速转码技术依托于强大的云计算基础能力,大幅度提升转码速度,非常适用于音视频网站、新闻资讯、热门影视剧首发等多种场景。
4089 0
|
存储 编解码 对象存储
【转码系列之二】如何快速使用阿里云媒体转码服务和媒体库?
今天来给大家介绍一下如何快速使用阿里云媒体转码服务和媒体库。
7476 0
|
编解码
【转码系列之一】利用阿里云进行媒体转码,你得先知道这些
阿里云媒体转码(Media Transcoding) 是为多媒体数据提供的转码计算服务。它以经济、易用、弹性和高可扩展的音视频转换方法,帮助您将存储于OSS的音视频转码成适合在PC、TV以及移动终端上播放的格式。
6436 0
|
编解码 数据安全/隐私保护
阿里云媒体转码技术
媒体转码承载着终端客户视频观看体验的极致追求,媒体转码技术的增强势必会成为载体。
3405 0
解决直播间源码音视频不同步问题的有效方式
我们就实现了直播间源码技术智能音视频同步功能,智能音视频同步功能有利于提高直播间源码平台直播质量、直播互动、用户体验与传递信息等作用,是不可或缺的重要功能之一。
解决直播间源码音视频不同步问题的有效方式
|
CDN
点播试看功能最佳实践
## 简介 试看指用户在观看视频或者音频等内容时,只能观看指定时间(如前五分钟)的内容,通常用于会员等付费业务场景。 阿里云视频点播服务提供了试看的完整解决方案,您可自由设置试看时长(或观看完整视频),播放服务会根据设置提供含有试看限制的特定的播放地址,可借此来实现完整的试看功能。 ## 使用前提 试看的基本原理是,播放的CDN加速地址带有试看的指定时长信息,云端会对该信息进行鉴权,鉴
3251 0
|
8月前
|
存储 编解码 语音技术
使用智能媒体生产ICE剪辑OSS视频文件
本篇介绍智能媒体生产ICE一些常见场景,如裁剪、拼接、字幕、ASR等,通过一些时间线示例,介绍如何快速剪辑OSS上的视频文件。
375 0
使用智能媒体生产ICE剪辑OSS视频文件

热门文章

最新文章