当前位置: 首页 > news >正文

怀化组织部网站百度推广中心

怀化组织部网站,百度推广中心,做商城网站的公司,网站 chat now怎么做问题: 前端demo使用一个video标签包含一个非静态资源的mp4文件。在chrome浏览器下可以正常展示,但是safari却不可以。 原因: 1. mp4文件必须用ffmpeg合成的,其他压缩的mp4文件是不可能展示的。请确定mp4文件并用正常的ffmpeg进…

问题:

前端demo使用一个video标签包含一个非静态资源的mp4文件。在chrome浏览器下可以正常展示,但是safari却不可以。

原因:

1. mp4文件必须用ffmpeg合成的,其他压缩的mp4文件是不可能展示的。请确定mp4文件并用正常的ffmpeg进行合成

2. safari浏览器会抛出一个请求头Range: bytes=0-1  而 chrome 浏览器是 Range: bytes=0-

这意味着safari浏览器是要通过服务器先响应1字节内容,然后才能持续访问。chrome浏览器兼容性比较好(在window环境下)可以直接将所有视频流全部获取。

这就导致了统一的接口直接将mp4文件流读给浏览器在safari浏览器使用时候会有问题。呈现的现象是:

        无控件,无视频 or 有控件,无视频。 总之就是无法播放。

解决方案:

前端:demo    (src如果是静态地址模式则保证MP4格式压缩是通过正常方式压缩的即可)

<video controls="controls" height="500" width="500"><source src="videoPlay",  type="video/mp4">
</video>
<a href="videoDownLoad">下载视频</a>

src = '是接口'

href = "是下载的接口"

后端:demo

1. 首先要根据Range请求头获取Range的内容 

        如tornado框架下通过    self.request.headers['Range']  可以拿到内容

        safari第一次请求时,这里的内容为:Range: bytes=0-1

        也就是要先请求一个字节的内容。

2. 我们需要将mp4文件的字节读取完毕后先添加响应头并设置响应状态

        'Content - Type'  :  'video/mp4'  (必须是safari支持的类型,具体支持什么可以百度)

        'Content - Range' : 'bytes Range中请求头中请求的最小值 - Range请求头中请求的最大值 / 文件总字节数'

        状态 为 206

self.set_header('Content-Type', 'video/mp4')
self.set_header('Content-Range', 'bytes 0-{}/{}'.format(byte_request_max, lenth))
self.set_status(206)

3. 响应内容必须和请求头中 Range 请求的字节一致: 如  Range: bytes=0-1 那么响应内容也要是字节的 0-1内容

          tornado中代码如下,其他语言参考一下

self.write(content[byte_request_min:byte_request_max + 1:])

下载 : demo

由于是通过a标签进行下载,那么接口只需要添加两个响应头即可

注意:第二个是设置下载文件的名称的

self.set_header('Content-Type', 'application/octet-stream')
self.set_header('Content-Disposition', ('attachment; filename=%s' % 'tt.mp4').encode('utf-8'))

Content-Disposition是MIME协议的扩展,用于指示MIME用户代理如何显示附加的文件。当特定的HTTP客户端,如Internet Explorer,接收到包含Content-Disposition头的响应时,它通常会激活一个文件下载对话框,并且文件名框会自动填充头中指定的文件名。

这个头信息主要是用于告诉浏览器应该如何处理响应中的内容,特别是当内容类型为application/octet-stream时。在这种情况下,使用Content-Disposition头的目的是弹出一个“文件下载”对话框,让用户决定是“打开”还是“保存”所请求的内容。注意,这是设计导致的;

http://www.yidumall.com/news/96205.html

相关文章:

  • wordpress 采集 摘要网络公司seo推广
  • wap网页开发google seo 优化
  • dz论坛网站建设seo服务工程
  • 专门做素菜的网站店铺如何运营和推广
  • 网站做优化的好处合肥网站快速优化排名
  • 怎么判断网站优化过度百度排名推广
  • 西安建设网站seo报价单
  • 做网站需要编程基础成都百度搜索排名优化
  • 简单做网站的价格网络广告策划案
  • 饰品做商城网站模式名词解释搜索引擎优化
  • 全网营销外包全网天下seo公司厦门
  • 新网站怎么做才能可以在百度上搜索到昆明seo外包
  • 网站建设出题长沙网站制作公司哪家好
  • 大朗做网站的线上推广的好处
  • 传统企业网站建设有没有专门帮人推广的公司
  • 建个网站要花多少钱seo优化是什么
  • 移动微网站开发百度关键词挖掘工具
  • 免费空间访客100个网站网站很卡如何优化
  • 仿公众号网站seo关键词排名优化怎样收费
  • wordpress增加复制按钮seo 知乎
  • 1个ip可以做几个网站自助建站seo
  • 济南优化网站广告推广免费
  • 四方区企业型网站建设常州seo博客
  • 电子商务网站开发的形式有关键词优化公司哪家强
  • 建设网站怎么做网级移动营销app下载
  • wordpress 代理seo日常工作都做什么的
  • 做简单手机网站多少钱呀营销策划经典案例
  • 精品网站开发公司类似58的推广平台有哪些平台
  • 全球贸易平台湖南seo推广服务
  • 柳城企业网站制作哪家好seo分析网站