阿里云视频转码批量提交(mp4 to m3u8)

社会主义新天地 提交于 2020-02-26 01:10:37

oss中有几百个视频需要转m3u8,发现界面没有批量提交功能,就想把表单参数找出来,用js来提交。

以下内容只对2020-02-11左右的阿里云后台有效。

1、表单界面

2、提交参数 

3、参考代码

调用 sendData('目录/视频.mp4') 后

输出: ”目录/视频/视频.m3u8“

下面代码不能直接用,里面的参数:Bucket、OutputBucket、PipelineId、Location、OutputLocation、TemplateId、需要替换成自己的。

function sendData(str){
	
	var input_file_name = str.substr(str.lastIndexOf('/') + 1).replace('.mp4','');
	var input_file = str;
	var output_file = str.substr(0,str.lastIndexOf('/') + 1) + input_file_name + "/" + input_file_name;

    function encodeCHURI(p){
        // encodeURIComponent
        return encodeURI(encodeURI(p));
    }

    var pObj = {
        Input:{ Bucket:"hzwh-video",Object:encodeCHURI(input_file),Location:"oss-cn-hangzhou"}, PipelineId:"1329180cda9f4931a73b94653afecda4",
        OutputBucket:"hzwh-video",
        OutputLocation:"oss-cn-hangzhou",
        Outputs:[
            {OutputObject:encodeCHURI(output_file),TemplateId:"S00000001-100020",Container:{Format:"m3u8"}}]
        }

     params_str = JSON.stringify(pObj);

	let formData = new FormData();
    formData.append("action",'SubmitJobs');
    formData.append("params",params_str);
    formData.append("product",'mts');
    formData.append("region",'cn-hangzhou');
    formData.append("umid",window.RISK_INFO.UMID);
    formData.append("collina",RISK_INFO.GETUA());
    formData.append("sec_token",ALIYUN_CONSOLE_CONFIG.SEC_TOKEN);

    var str = '';
    formData.forEach(function(v,k){
        str += k + '=' + v ;
        str += '&';
    });

    console.log(str);

	fetch('https://mps.console.aliyun.com/data/api.json?action=SubmitJobs&t='+new Date().getTime(), {
	  method: 'POST',
	  // credentials: 'include',
      headers: {
        "Content-Type": "application/x-www-form-urlencoded"
      }, 
	  body: str
	}).then(function(response) {
	  console.log(response);
	});

}

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!