腾讯云视频文件上传云存储时自动将mp4格式转码成m3u8

针对问题:

弱网环境下或手机网络播放mp4格式视频卡顿。

**存储环境:**腾讯云对象存储。

处理流程:

1:登录腾讯云控制台,进入对象存储服务,找到对应的存储桶,点击进入。

在任务与工作流选项卡中找到工作流管理,点击进入,创建工作流。

填写工作流名称,选择默认音视频文件,点击配置工作流中 输入后面的蓝色加号创建转码任务。

根据实际业务需要选择要不要进行回调配置。

如果不需要判断任务是否执行成功,直接选择不需要回调保存即可。

如果需要判断任务是否执行成功,选择自定义回调配置,并配置回调url地址,url地址根据自己服务器路由进行配置。

任务完成回调:文件上传之后立即转码。

工作流完成回调:整个工作流处理完回调。

点击测试,可在存储桶内选择视频文件进行mp4->m3u8转换测试。

点击左侧的任务管理,可以看格式转换执行的结果,也可以查看任务详情和预览m3u8格式的播放。

如果配置了回调地址,也可以查看回调日志有没有产生。

测试成功之后,可以将工作流打开,这样存储桶有视频文件存入时,工作流就会实时把存入的视频文件进行转码了。

2:回调参考代码:

php 复制代码
$request = file_get_contents("php://input");
file_put_contents(CMF_ROOT.'data/log/videobacklog/callback_'.date('Y-m-d').'.txt',date('Y-m-d H:i:s').'  request:'.$request."\r\n",FILE_APPEND);
if($request){
			$res_arr = json_decode($request,true);

			if(isset($res_arr['JobsDetail'][0])){

				$obj = $res_arr['JobsDetail'][0];


				if($obj['Code'] == 'Success'){
					$file_name = $obj['Operation']['MediaResult']['OutputFile']['ObjectName'][0];

					$file_arr = explode(".", $file_name);

					$old_file_name = $file_arr[0].'.mp4';

					$map=[];
					$map[]=['href','like','%'.$old_file_name.'%'];

					$result = Db::name("user_video")->where($map)->update(['is_transcode'=>1]);

					file_put_contents(CMF_ROOT.'data/log/videobacklog/callback_'.date('Y-m-d').'.txt',date('Y-m-d H:i:s').'  数据库处理结果:result:'.$result."\r\n",FILE_APPEND);
				}
			}
		}
相关推荐
^Rocky8 小时前
uniapp 对接腾讯云IM群公告功能
uni-app·腾讯云
CRMEB定制开发8 小时前
CRMEB 中 PHP 快递查询扩展实现:涵盖一号通、阿里云、腾讯云
阿里云·php·腾讯云·商城系统·商城源码
waving-black11 小时前
利用frp和腾讯云服务器将内网暴露至外网(内网穿透)
linux·服务器·腾讯云·frp·内网穿透
CRMEB定制开发1 天前
CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云
阿里云·php·腾讯云·微信商城·php商城源码
^Rocky1 天前
uniapp 集成腾讯云 IM 富媒体消息(地理位置/文件)
uni-app·腾讯云·媒体
Clownseven1 天前
“轻量应用服务器” vs. “云服务器CVM”:小白入门腾讯云,哪款“云机”更适合你?(场景、配置、价格对比解析)
运维·服务器·腾讯云
思绪漂移1 天前
云原生玩法三问:构建自定义开发环境
云原生·腾讯云
agenIT2 天前
腾讯云 Python3.12.8 通过yum安装 并设置为默认版本
云计算·腾讯云
FBI HackerHarry浩2 天前
云计算 Linux Rocky day05【rpm、yum、history、date、du、zip、ln】
linux·运维·云计算·腾讯云
^Rocky8 天前
uniapp 实现腾讯云 IM 消息已读回执
uni-app·云计算·腾讯云