腾讯云视频文件上传云存储时自动将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);
				}
			}
		}
相关推荐
清静诗意17 小时前
使用 Certbot 在腾讯云生成 Let’s Encrypt 通配符证书完整教程
腾讯云·ssl证书
Front_Yue17 小时前
Spring Boot 实战:腾讯云 COS 高级特性——断点续传与进度监控
spring boot·腾讯云·腾讯云cos
2401_865854882 天前
腾讯云新出的Clawdbot怎么样
云计算·腾讯云
G31135422732 天前
IM即时通讯实现原理
腾讯云
咕噜企业分发小米4 天前
腾讯云IM如何与第三方实时音频服务集成?
云计算·音视频·腾讯云
咕噜企业分发小米5 天前
腾讯云IM与TRTC集成时,如何优化用户体验?
云计算·腾讯云
咕噜企业分发小米5 天前
腾讯云IM的优点
云计算·腾讯云
咕噜企业分发小米5 天前
腾讯云im实时音频
云计算·音视频·腾讯云
马猴烧酒.6 天前
JAVA后端对象存储( 图片分享平台)详解
java·开发语言·spring·腾讯云
咕噜企业分发小米7 天前
腾讯云在多云管理工具上如何实现合规性要求?
java·云计算·腾讯云