阿里Oss多媒體轉碼
阿新 • • 發佈:2018-12-15
阿里Oss多媒體檔案轉碼儲存
在自媒體頁面中有很多音訊或視訊的播放,本地播放一般為mp3 mp4 等等,如果直 接在頁面中巢狀原格式檔案,檔案會比較大,造成使用者消耗的流量和伺服器的流量浪費, 而且這對伺服器稀有的寬頻資源而言也是很多壓力, 所以我們們可以將檔案採用切片 壓縮的方式上傳到伺服器,然後嵌入到頁面中,下面的程式碼採用的是阿里雲 OSS儲存, 將mp3檔案轉為m3u8的方式. 阿里Oss 多媒體sdk 地址: https://help.aliyun.com/document_detail/67662.html?spm=a2c4g.11186623.6.739.6cf21490lcbejW
public class Mp3ToM3u8 { private static String mpsRegionId = "cn-hangzhou"; /** * 管道 */ private static String pipelineId = "892efc9292574ecd8c118cb28138b65b"; /** * 轉碼模版 m3u8 標清模版id */ private static String templateId = "S00000001-100020"; private static String ossLocation = "oss-cn-hangzhou"; /** * 原始檔bucket */ private static String ossInBucket = "ywwl-mp3"; /** * 原始檔bucket */ private static String ossOutBucket = "ywwl-m3u8"; /** * 原始檔 */ private static String ossInputObject = "mp3/滄海一聲笑.mp3"; /** * 轉碼後的檔案 不需要字尾名 */ private static String ossOutputObject = "home/canghaiyishengxiao/canghaiyishengxiao"; static DefaultProfile profile = DefaultProfile.getProfile(mpsRegionId, OssUpload.accessKeyId, OssUpload.secretAccessKey); public static void main(String[] args) throws Exception { // 建立API請求並設定引數 IAcsClient client = new DefaultAcsClient(profile); SubmitJobsRequest request = new SubmitJobsRequest(); // Input JSONObject input = new JSONObject(); input.put("Location", ossLocation); input.put("Bucket", ossInBucket); input.put("Object", URLEncoder.encode(ossInputObject, "utf-8")); request.setInput(input.toJSONString()); // Output String outputOSSObject = URLEncoder.encode(ossOutputObject, "utf-8"); JSONObject output = new JSONObject(); output.put("OutputObject", outputOSSObject); output.put("TemplateId", templateId); JSONArray outputs = new JSONArray(); outputs.add(output); request.setOutputs(outputs.toJSONString()); request.setOutputBucket(ossOutBucket); request.setOutputLocation(ossLocation); request.setPipelineId(pipelineId); // 發起請求並處理應答或異常 System.out.println("response: " + JSONObject.toJSONString(client.getAcsResponse(request))); } }