游客ir3c6ki5py4iq_个人页

游客ir3c6ki5py4iq
0
1
0

个人介绍

暂无个人介绍

擅长的技术

获得更多能力
通用技术能力:

暂时未有相关通用技术能力~

云产品技术能力:

暂时未有相关云产品技术能力~

阿里云技能认证

详细说明
暂无更多信息
正在加载, 请稍后...
暂无更多信息
  • 提交了问题 2018-07-20

    网站页面排版错乱

  • 回答了问题 2018-07-10

    怎么取消个人认证

    详细解答可以参考官方帮助文档阿里云实名认证分为个人实名认证和企业实名认证。实名认证成功后,如有必要,您也可以解除实名认证后,再变更实名认证。请根据您的实际情况,参见以下文档: 个人实名认证和企业实名认证的区别 如何进行个人实名认证? 如何进行企业实名认证? 如何变更实名认证信息? 事业单位、学校、机关、政府、社会团体如何完成实名认证? 个人实名认证如何升级为企业实名认证?
    踩1 评论0
  • 提交了问题 2018-06-15

    filezilla连接不上,无法上传网站

  • 回答了问题 2018-05-27

    CDN上怎么设置http头

    详细解答可以参考官方帮助文档 网站使用CDN加速后,如果某个CDN节点下先发生了非跨域的访问,CDN会缓存一个没有CORS头部的文件内容,在过期之前发生的跨域访问,会因为没有CORS头部信息而导致访问报错。这种情况可以利用CDN的自定义Header的方式设置CORS的头部信息的方式来避免。1、登录CDN控制台--打开“设置HTTP头”2、根据需要设置“Access-Control-Allow-Origin”、“Access-Control-Allow-Methods”和“Access-Control-Max-Age”的头部信息。3、这时访问就可以看到设置的CORS头部信息注意:CDN控制台上设置的CORS等头部信息对整个加速域名生效,会覆盖掉源站设置的头部信息。如果问题还未能解决,请联系售后技术支持
    踩1 评论0
  • 提交了问题 2018-05-23

    域名301重定向怎么做

  • 回答了问题 2018-05-08

    开启range,需要源站有额外的配置么

    详细解答可以参考官方帮助文档 功能介绍 Range回源是指客户端通知源站服务器只返回部分内容,以及部分内容的范围。这对于较大文件的分发加速有很大帮助。开启Range回源功能,可以减少回源流量消耗,并且提升资源响应时间。 需要源站支持range请求,即对于http请求头中包含 Range 字段,源站能够响应正确的206文件分片。 Range回源 具体描述 示例 开启 该参数可以请求回源站。此时源站需要依据 Range 的参数,响应文件的字节范围。同时CDN节点也会向客户端响应相应字节范围的内容。 客户端向CDN请求中含有range:0-100,则源站端收到的请求中也会含有range:0-100这个参数。并且源站响应给CDN节点,然后CDN节点响应给客户端的就是范围是0-100的一共101个字节内容。 关闭 CDN上层节点会向源站请求全部的文件,并且由于客户端会在收到Range定义的字节后自动断开http链接,请求的文件没有缓存到CDN节点上。最终导致缓存的命中率较低,并且回源流量较大。 客户端向CDN请求中含有range:0-100,则server端收到的请求中没有range这个参数。源站响应给CDN节点完整文件,但是CDN节点响应给客户端的就是101个字节,但是由于连接断开了,会导致该文件没有缓存到CDN节点上。 说明 需要源站支持range请求,即对于http请求头中包含 Range 字段,源站能够响应正确的206文件分片。 操作步骤 Range回源是可选配置项,默认不开启。您可以变更配置,开启Range回源。 进入CDN域名管理页面,选择域名,单击管理。 在视频相关 > Range回源,选择修改配置。 选择 开启、关闭或强制Range回源功能。 说明 您指定range回源为强制后,任何分片请求都会强制分片回源。 您还可以参考Range回源的API文档,使用该功能。
    踩1 评论0
  • 回答了问题 2018-04-03

    OSS MEDIA C SDK oss_media_hls_open

    详细解答可以参考官方帮助文档OSS MEDIA C SDK 客户端部分支持将接收到的H.264、AAC格式封装为TS、M3U8格式,然后写到OSS上,用户通过对应的m3u8地址就可以欣赏视频音频了。 接口 HLS相关基础接口都位于oss_media_hls.h中,目前提供的接口有: oss_media_hls_open oss_media_hls_write_frame oss_media_hls_begin_m3u8 oss_media_hls_write_m3u8 oss_media_hls_end_m3u8 oss_media_hls_flush oss_media_hls_close 下面详细介绍各个接口的功能和注意事项 基础结构体介绍 /** * OSS MEDIA HLS FRAME的元数据 */ typedef struct oss_media_hls_frame_s { stream_type_t stream_type; frame_type_t frame_type; uint64_t pts; uint64_t dts; uint32_t continuity_counter; uint8_t key:1; uint8_t *pos; uint8_t *end; } oss_media_hls_frame_t; /** * OSS MEDIA HLS的描述信息 */ typedef struct oss_media_hls_options_s { uint16_t video_pid; uint16_t audio_pid; uint32_t hls_delay_ms; uint8_t encrypt:1; char key[OSS_MEDIA_HLS_ENCRYPT_KEY_SIZE]; file_handler_fn_t handler_func; uint16_t pat_interval_frame_count; } oss_media_hls_options_t; /** * OSS MEDIA HLS FILE的描述信息 */ typedef struct oss_media_hls_file_s { oss_media_file_t *file; oss_media_hls_buf_t *buffer; oss_media_hls_options_t options; int64_t frame_count; } oss_media_hls_file_t; 注: stream_type,流类型, 目前支持st_h264和st_aac两种 frame_type,帧类型,目前支持ft_non_idr,ft_idr,ft_sei,ft_sps,ft_pps,ft_aud等 pts,显示时间戳 dts,解码时间戳 continuity_counter,递增计数器,从0-15,起始值不一定取0,但必须是连续的 key,是否是关键帧 pos,当前帧数据的起始位置(含) end,当前帧数据的结束位置(不含) video_pid,视频的pid audio_pid,音频的pid hls_delay_ms,显示延迟毫秒数 encrypt,是否使用AES-128加密,目前暂不支持 key,使用加密时的秘钥,目前暂不支持 handler_func,文件操作回调函数 pat_interval_frame_count,隔多少帧插入一个pat,mpt表 打开HLS文件 /** * @brief 打开一个OSS HLS文件 * @param[in] bucket_name oss上存储文件的存储空间名称 * @param[in] object_key oss上的文件名称 * @param[in] auth_func 授权函数,设置access_key_id/access_key_secret等 * @return: * 返回非NULL时成功,否则失败 */ oss_media_hls_file_t* oss_media_hls_open(char *bucket_name, char *object_key, auth_fn_t auth_func); 注: 示例代码参考:GitHub 关闭HLS文件 /** * @brief 关闭OSS HLS文件 */ int oss_media_hls_close(oss_media_hls_file_t *file); 注: 示例代码参考:GitHub 写HLS文件 /** * @brief 写H.264或者AAC的一帧数据到oss上 * @param[in] frame h.264或者aac格式的一帧数据 * @param[out] file hls file * @return: * 返回0时表示成功 * 否则, 表示出现了错误 */ int oss_media_hls_write_frame(oss_media_hls_frame_t *frame, oss_media_hls_file_t *file); 示例程序: static void write_frame(oss_media_hls_file_t *file) { oss_media_hls_frame_t frame; FILE *file_h264; uint8_t *buf_h264; int len_h264, i; int cur_pos = -1; int last_pos = -1; int video_frame_rate = 30; int max_size = 10 * 1024 * 1024; char *h264_file_name = '/path/to/example.h264'; /* 读取H.264文件 */ buf_h264 = calloc(max_size, 1); file_h264 = fopen(h264_file_name, 'r'); len_h264 = fread(buf_h264, 1, max_size, file_h264); /* 初始化frame结构体 */ frame.stream_type = st_h264; frame.pts = 0; frame.continuity_counter = 1; frame.key = 1; /* 遍历H.264的数据,抽取出每帧数据,然后写入oss */ for (i = 0; i last_pos) { frame.pts += 90000 / video_frame_rate; frame.dts = frame.pts; frame.pos = buf_h264 + last_pos; frame.end = buf_h264 + cur_pos; oss_media_hls_write_frame(&frame, file); } last_pos = cur_pos; } /* 关闭文件,释放资源 */ fclose(file_h264); free(buf_h264); } 注: 示例代码参考:GitHub 如果H.264的数据中缺少Access Unit Delimiter NALs(00 00 00 01 09 xx),需要添加这个NAL,否则无法在ipad,iphone,safari上播放 H.264的帧是通过0xX0,0x00,0x00,0x01分隔的;AAC的帧是通过0xFF,0x0X分隔的; 当前帧为关键帧时,frame.key需要设置为1 写M3U8文件 /** * @brief 写M3U8文件的头部数据 * @param[in] max_duration TS文件最长持续时间 * @param[in] sequence TS文件起始编号 * @param[out] file m3u8 file * @return: * 返回0时表示成功 * 否则, 返回-1时表示出现了错误 */ void oss_media_hls_begin_m3u8(int32_t max_duration, int32_t sequence, oss_media_hls_file_t *file); /** * @brief 写M3U8文件数据 * @param[in] size m3u8 item个数 * @param[in] m3u8 m3u8 item的详细数据 * @param[out] file m3u8 file * @return: * 返回0时表示成功 * 否则, 返回-1时表示出现了错误 */ int oss_media_hls_write_m3u8(int size, oss_media_hls_m3u8_info_t m3u8[], oss_media_hls_file_t *file); /** * @brief 写M3U8文件的结束符等数据 * @param[out] file m3u8 file */ void oss_media_hls_end_m3u8(oss_media_hls_file_t *file); 示例程序: static void write_m3u8() { char *bucket_name; char *key; oss_media_hls_file_t *file; bucket_name = ''; key = ''; /* 打开一个HLS文件用来写M3U8格式的数据,文件名必须以.m3u8结尾 */ file = oss_media_hls_open(bucket_name, key, auth_func); if (file == NULL) { printf('open m3u8 file[%s] failed.', key); return; } /* 构造3个ts格式文件的信息 */ oss_media_hls_m3u8_info_t m3u8[3]; m3u8[0].duration = 9; memcpy(m3u8[0].url, 'video-0.ts', strlen('video-0.ts')); m3u8[1].duration = 10; memcpy(m3u8[1].url, 'video-1.ts', strlen('video-1.ts')); /* 写入M3U8文件 oss_media_hls_begin_m3u8(10, 0, file); oss_media_hls_write_m3u8(2, m3u8, file); oss_media_hls_end_m3u8(file); /* 关闭HLS文件 */ oss_media_hls_close(file); printf('write m3u8 to oss file succeeded\n'); } 注: 目前使用的M3U8版本是3 如果是录播,需要在结束的时候调用oss_media_hls_end_m3u8(file)接口写入结束符,否则可能无法播放;如果是直播,则不能调用此接口 示例代码参考:GitHub 可以通过示例程序观看效果 Windows平台可以通过VLC播放器观看,iPhone,iPad,Mac等可以直接使用Safari观看。
    踩1 评论0
  • 回答了问题 2018-03-28

    手机端上传至OSS

    详细解答可以参考官方帮助文档 本示例讲解如何在客户端通过JavaScript代码完成签名,然后通过表单直传数据到OSS。 Demo PC浏览器测试样例 本示例采用Plupload 直接提交表单数据(即PostObject)到OSS,可以运行在PC浏览器、手机浏览器、微信等。您可以同时选择多个文件上传,并设置上传到指定目录和设置上传文件名字是随机文件名还是本地文件名。您还可以通过进度条查看上传进度。 说明 文件上传到一个测试的公共Bucket,会定时清理,所以不要传一些敏感及重要数据。 步骤 1:下载并安装Plugload Plupload是一款简单易用且功能强大的文件上传工具, 支持多种上传方式,包括html5、flash、silverlight,、html4。它会智能检测当前环境,选择最适合的上传方式,并且会优先采用Html5方式。请参见Plupload官网进行下载和安装。 步骤 2:下载应用服务器代码 下载地址 步骤 3:修改配置文件 将下载包解压后,修改upload.js文件: accessid= ''; accesskey= $id:您的AccessKeyId $key:您的AessKeySecret $host:格式为BucketName.Endpoint,例如post-test.oss-cn-hangzhou.aliyuncs.com 说明 关于Endpoint的介绍,请参见Endpoint(访问域名)。 步骤 4:设置CORS HTML表单直接上传到OSS会产生跨域请求。为了浏览安全,需要为Bucket设置跨域规则(CORS),支持Post方法。 具体操作步骤请参见设置跨域访问。设置如下图所示: 说明 在低版本IE浏览器,Plupload会以flash方式执行。您需要设置crossdomain.xml ,设置方法请参见OSS Web直传—使用Flash上传。 步骤 5:体验JavaScript客户端签名直传 将应用服务器代码zip包解压到Web根目录下。 在Web浏览器中输入/oss-h5-upload-js-direct/index.html,例如http://abc.com:8080/oss-h5-upload-js-direct/index.html。 选择一个或多个文件进行上传。 上传成功后,通过控制台查看上传结果。 核心代码解析 因为OSS支持POST协议,所以只要在Plupload发送POST请求时带上OSS签名即可。核心代码如下: var uploader = new plupload.Uploader({ runtimes : 'html5,flash,silverlight,html4', browse_button : 'selectfiles', //runtimes : 'flash', container: document.getElementById('container'), flash_swf_url : 'lib/plupload-2.1.2/js/Moxie.swf', silverlight_xap_url : 'lib/plupload-2.1.2/js/Moxie.xap', url : host, multipart_params: { 'Filename': '${filename}', 'key' : '${filename}', 'policy': policyBase64, 'OSSAccessKeyId': accessid, 'success_action_status' : '200', //让服务端返回200,不设置则默认返回204 'signature': signature, },  .... } 上述代码中,’Filename’: ‘${filename}’表示上传后保持原来的文件名。如果您想上传到特定目录如abc下,且文件名不变,请修改代码如下: multipart_params: { 'Filename': 'abc/' + '${filename}', 'key' : '${filename}', 'policy': policyBase64, 'OSSAccessKeyId': accessid, 'success_action_status' : '200', //让服务端返回200,不设置则默认返回204 'signature': signature, }, 设置成随机文件名 如果想在上传时固定设置成随机文件名,后缀保持跟客户端文件一致,可以将函数改为:function check_object_radio() { g_object_name_type = 'random_name'; } 设置成用户的文件名 如果想在上传时固定设置成用户的文件名,可以将函数改为:function check_object_radio() { g_object_name_type = 'local_name'; } 设置上传目录 您可以将文件上传到指定目录下。下面的代码是将上传目录改成abc/,注意目录必须以正斜线(/)结尾。function get_dirname() { g_dirname = 'abc/'; } 上传签名 上传签名主要是对policyText进行签名,最简单的例子如下:var policyText = { 'expiration': '2020-01-01T12:00:00.000Z', // 设置Policy的失效时间,如果超过失效时间,就无法通过此Policy上传文件 'conditions': [ ['content-length-range', 0, 1048576000] // 设置上传文件的大小限制,如果超过限制,文件上传到OSS会报错 ] } 总结 在客户端通过JavaScript代码完成签名,无需过多配置,即可实现直传,非常方便。但是客户端通过JavaScript把AccesssKeyID 和AccessKeySecret写在代码里面有泄露的风险,建议采用服务端签名后直传。
    踩1 评论0
  • 回答了问题 2018-03-02

    淘宝账号怎么登录阿里云

    详细解答可以参考官方帮助文档淘宝及 1688 用户可以使用会员名直接在阿里云登录。登录后,即可购买开通并使用阿里云业务。 注册阶段在注册时,如果提示 该邮箱已经绑定 1688 账号,请使用该账号直接登录,说明你已经用此邮箱在淘宝或 1688 上注册了一个账号。您可以使用淘宝或 1688 的会员账号来登录阿里云,无需再重新注册一个账号。 登录阶段使用淘宝及 1688 会员名登录时,可能出现的几种情况: 在登录时,提示与一个已有的阿里云账号冲突。 解决方案:建议您使用阿里云账号登录。如果忘记密码,可单击 忘记密码 找回密码。如果账号绑定的手机号已不再使用, 可通过人工申诉找回密码,填写基本信息,上传证件,提交申诉后,待工作人员人工审核。 登录账号问题 登录后,鼠标移动至右上角人像图标后,可以看到您的登录账号。显示的登录账号有几种情况: 登录账号显示为淘宝账号的邮箱或昵称。 登录账号显示为 tbh*@aliyun.com 形式的账号。出现这种形式的账号,说明您之前通过 Tmall 聚石塔电商云购买过云服务。在聚石塔购买云服务时,阿里云为您创建了一个账号,并将此账号绑定了您的淘宝账号。您用淘宝账号登录阿里云时,系统会自动进入此账号。 登录账号显示为 b2b*@aliyun.com 形式的账号。出现这种形式的账号,说明您之前通过 1688 购买过万网域名服务。购买域名服务时,阿里云为您创建了一个账号,并将此账号绑定了您的 1688 账号。 您使用 1688 账号登录阿里云时,系统会自动进入此账号。 修改账号信息为了维护您的账号安全,暂不支持在阿里云修改淘宝及 1688 账号的安全信息,如修改绑定手机号、邮箱、密码等。请到对应的注册源修改。账号信息修改完成后,会自动同步到阿里云。
    踩1 评论0
  • 提交了问题 2018-02-10

    碎片是如何产生的

  • 提交了问题 2018-01-20

    ApsaraDB for Redis 目前是否开放了作为只读节点的从节点(Slave)?

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息