全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网
视频点播

Java上传SDK

更新时间:2017-11-22 21:49:16

  • 环境要求

    Java 6+

  • 安装

    以 1.1.0 版本为例,步骤如下:

    1.下载Java示例代码VODUploadDemo-java-1.1.0.zip开发包(包含示例代码和所需jar包), 见 视频上传SDK下载

    2.将解压后lib目录下的所有jar文件拷贝至您的项目中;

    3.使用IDE开发时引用jar包的方法,以Eclipse和IntelliJ IDEA为例说明如下:

    3.1 在Eclipse中选择您的工程,右击 -> Properties -> Java Build Path -> Add JARs;

    3.2 在IntelliJ IDEA中打开您的工程,File -> Project Structure -> Modules -> 右侧Dependencies -> + -> JARs or directories

    4.选中您在第一步拷贝的所有jar文件;

    经过以上几步,您就可以在Eclipse或IntelliJ IDEA项目中使用VODUpload Java SDK。

  • 示例程序

    以下Java示例代码演示了如何在服务端上传文件至视频点播。目前支持两种方式上传:

    1.上传本地文件,使用分片上传,并支持断点续传,最大支持48.8TB的单个文件。参见testUploadVideo函数。

    2.上传网络流,可指定文件URL进行上传,不支持断点续传,最大支持5GB的单个文件。参见testUploadURLStream函数。

注:请替换示例中的必选参数,示例中的可选参数如果您不需要设置,请将其删除,以免设置无效参数值与您的预期不符。

将VODUploadDemo-java-1.1.0.zip开发包解压后, 在sample目录下的UploadVideoDemo.java为示例程序, 如下:

  1. import com.aliyun.vod.upload.impl.UploadVideoImpl;
  2. import com.aliyun.vod.upload.req.UploadURLStreamRequest;
  3. import com.aliyun.vod.upload.req.UploadVideoRequest;
  4. import com.aliyun.vod.upload.resp.UploadURLStreamResponse;
  5. import com.aliyun.vod.upload.resp.UploadVideoResponse;
  6. public class UploadVideoDemo {
  7. //账号AK信息请填写(必选)
  8. private static final String accessKeyId = "";
  9. //账号AK信息请填写(必选)
  10. private static final String accessKeySecret = "";
  11. public static void main(String[] args) {
  12. //视频标题(必选)
  13. String title = "测试标题";
  14. //1.本地文件上传时,文件名称为上传文件绝对路径,如:/User/sample/文件名称.mp4 (必选) 2.网络流上传时,文件名称为源文件名,如文件名称.mp4(必选)。任何上传方式文件名必须包含扩展名
  15. String fileName = "文件名称.mp4";
  16. //本地文件方式上传
  17. testUploadVideo(accessKeyId, accessKeySecret, title, fileName);
  18. //待上传视频的网络流地址
  19. String url = "http://video.sample.com/sample.mp4";
  20. //网络流方式上传
  21. testUploadURLStream(accessKeyId, accessKeySecret, title, fileName, url);
  22. }
  23. private static void testUploadVideo(String accessKeyId, String accessKeySecret, String title, String fileName) {
  24. UploadVideoRequest request = new UploadVideoRequest(accessKeyId, accessKeySecret, title, fileName);
  25. request.setPartSize(10 * 1024 * 1024L); //可指定分片上传时每个分片的大小,默认为10M字节
  26. request.setTaskNum(1); //可指定分片上传时的并发线程数,默认为1,(注:该配置会占用服务器CPU资源,需根据服务器情况指定)
  27. request.setIsShowWaterMark(true); //是否使用默认水印
  28. request.setCallback("http://callback.sample.com"); //设置上传完成后的回调URL(可选)
  29. request.setCateId(0); //视频分类ID(可选)
  30. request.setTags("标签1,标签2"); //视频标签,多个用逗号分隔(可选)
  31. request.setDescription("视频描述"); //视频描述(可选)
  32. request.setCoverURL("http://cover.sample.com/sample.jpg"); //封面图片(可选)
  33. UploadVideoImpl uploader = new UploadVideoImpl();
  34. UploadVideoResponse response = uploader.uploadVideo(request);
  35. System.out.print("RequestId=" + response.getRequestId() + "\n"); //请求视频点播服务的请求ID
  36. if (response.isSuccess()) {
  37. System.out.print("VideoId=" + response.getVideoId() + "\n");
  38. } else {
  39. //如果设置回调URL无效,不影响视频上传,返回VideoId同时会返回错误码。其他情况上传失败时,VideoId为空,此时需要根据返回错误码分析具体错误原因
  40. System.out.print("VideoId=" + response.getVideoId() + "\n");
  41. System.out.print("ErrorCode=" + response.getCode() + "\n");
  42. System.out.print("ErrorMessage=" + response.getMessage() + "\n");
  43. }
  44. }
  45. private static void testUploadURLStream(String accessKeyId, String accessKeySecret, String title, String fileName, String url) {
  46. UploadURLStreamRequest request = new UploadURLStreamRequest(accessKeyId, accessKeySecret, title, fileName, url);
  47. request.setShowWaterMark(true); //是否使用默认水印
  48. request.setCallback("http://callback.sample.com");//设置上传完成后的回调URL(可选)
  49. request.setCateId(0); //视频分类ID(可选)
  50. request.setTags("标签1,标签2"); //视频标签,多个用逗号分隔(可选)
  51. request.setDescription("视频描述"); //视频描述(可选)
  52. request.setCoverURL("http://cover.sample.com/sample.jpg"); //封面图片(可选)
  53. UploadVideoImpl uploader = new UploadVideoImpl();
  54. UploadURLStreamResponse response = uploader.uploadURLStream(request);
  55. System.out.print("RequestId=" + response.getRequestId() + "\n"); //请求视频点播服务的请求ID
  56. if (response.isSuccess()) {
  57. System.out.print("VideoId=" + response.getVideoId() + "\n");
  58. } else {
  59. //如果设置回调URL无效,不影响视频上传,可返回VideoId同时返回错误码。其他情况上传失败时,VideoId为空,此时需要根据返回错误码分析具体错误原因
  60. System.out.print("VideoId=" + response.getVideoId() + "\n");
  61. System.out.print("ErrorCode=" + response.getCode() + "\n");
  62. System.out.print("ErrorMessage=" + response.getMessage() + "\n");
  63. }
  64. }
  65. }
本文导读目录