浏览器地址栏输入服务器端视频的url即可播放。刚开始觉得还有点神奇,追踪network请求,发现视频还没下载完就可以播放,还可以拖动进度条到指定时间。分析了一下网络请求和视频格式,得出些许领悟。

1.服务器端支持文件的分块传输。即浏览器请求指定位置的数据,这个位置指的是文件内容的位置,不是视频帧在文件中的位置。服务器不用管几分几秒的视频帧在文件的哪个地方。

2.浏览器端读取视频文件的头部的部分数据,分析视频信息,读取不同时间的视频帧对应在文件位置,mp4中格式的Time To Sample Box(stts)

3.默认从头开始播放,如果存在stts,也可以拖动进度条播放,

4.浏览器播放完一段视频后,或者播放过程中,下载紧接着当前时间的后的数据。

判断服务器是否支持分块传输

curl -i --range 0-10 http://www.sample.com/commonweb/a.txt
HTTP/1.1 206 Partial Content
Server: nginx/1.12.2
Date: Wed, 15 May 2019 11:59:41 GMT
Content-Type: text/plain
Content-Length: 11
Last-Modified: Wed, 15 May 2019 11:49:34 GMT
Connection: keep-alive
ETag: "5cdbfcce-25"
Content-Range: bytes 0-10/37abcdefghijk

如果服务器返回11个字节的内容,即支持分块传输,前提是url对应的文件存在,并且内容大于10个字节

也可以用其他方式发起网络请求,http status一般是200、204、206

如上使用postman模拟分块请求文件,文件里面有37个字符,只获取10个,注意使用get请求,post请求可能返回405,not allow

mp4视频格式研究

https://www.cnblogs.com/ranson7zop/p/7889272.html

分块传输,加上视频时间轴的支持,只要能解析视频帧即可播放视频,

关于浏览器播放视频的些许理解相关推荐

  1. Win10 Microsoft Edge浏览器播放视频出现绿屏情况解决之一

    好记性不如烂笔头之Win10 Microsoft Edge浏览器播放视频出现绿屏 下载了最新的Microsoft Edge浏览器(https://www.microsoft.com/zh-cn/edg ...

  2. 360浏览器播放视频出错崩溃该怎么处理

    我们经常会直接在浏览器网页中打开视频网页进行观看视频,非常方便.但是最近有用户跟小编反应说自己每次打开360浏览器播放视频就出错发生浏览器崩溃的现象.这该怎么办?下面小编就来给大家分析分析. 一.修复 ...

  3. edge播放视频HTML5黑屏,Win10 edge浏览器播放视频黑屏解决方法

    Edge看不了视频怎么办呢? 出现这样的问题是由于Edge浏览器中需要点击允许才能看视频,但如果不弹出提示窗口我们就无法正常观看视频,所以当我们遇到这样的情况可以按下面方法进行操作! Edge看不了视 ...

  4. python 模拟浏览器播放视频_selenium+Python(处理html5的视频播放)

    Webdriver支持在指定的浏览器测试HTML5,另外可以用JavaScript来测试这些功能,这样就可以在任何浏览器上测试HTML5 多数浏览器使用控件来播放视频,但是不同浏览器需要使用不同的插件 ...

  5. 一些浏览器播放视频的时候进度条有动,画面是空白的

    搜狗高速浏览器---不支持的写法: <video id="video" class="video" width="860" heigh ...

  6. python 模拟浏览器播放视频_使用python模拟浏览器实现登陆

    前言你有没有想过,当我们在某个网站上登陆时,网站是如何通过验证的,我们都提交给了网站哪些信息,浏览器都发起了哪些请求? 下图是某个网站的登陆界面,接下来就让我们通过命令行模拟浏览器实现登陆操作,看看一 ...

  7. 浏览器播放视频倍速方法

    1.右击播放页面 2.选择检查 4.选择console,如图: 5.在下面输入 :videojs.getPlayers("video-player").html5player.te ...

  8. 优酷客户端或者网页浏览器 播放视频花屏的解决方法

    网上说 取消硬件加速功能.其实不好使. 本次症状:网页播放不花屏,优酷客户端花屏. 解决办法:360电脑专家,搜索关键词 花屏,即可解决. 原理,不明. 转载于:https://www.cnblogs ...

  9. 浏览器播放视频没声音

    解决方法: killall pulseaudio rm -r ~/.config/pulse/* rm -r ~/.pulse* 然后重启系统 http://askubuntu.com/questio ...

  10. edge播放视频HTML5黑屏,win10专业版系统edge浏览器看视频出现黑屏怎么办?

    在windows10专业版系统中使用edge浏览器播放视频的时候,出现无法播放视频,只能看到黑屏的情况,出现这种问题怎么办呢?下面就和小编一起来看解决方法吧! 1.按下win+R 组合键打开运行,在运 ...

最新文章

  1. 官方 React 快速上手脚手架 create-react-app
  2. (笔记)Linux Root下的.gvfs出现异常解决办法
  3. 一场可能改变未来的青年科学家聚会
  4. java web modules_使用Java web工程建立Maven Web Module工程
  5. 将5350 i2c clk设置为gpio 中断模式的方法
  6. 安卓阵营最强Soc!骁龙898即将亮相:小米12系列本月底前后首发
  7. 离线安装mysql5.6及依赖_Linux离线安装mysql 5.6详细步骤
  8. 网络-HTTP-Cookie
  9. 1438.最小公倍数
  10. wav转mp3格式转换器哪个好
  11. Android_ 弹出菜单创建
  12. 计算机硬盘最小容量是多少,通常计算机的存储容量是多少?
  13. cad断点快捷键_CAD中打断于点的快捷键
  14. 惠普战66键盘win10亮度调节快捷键失灵的解决办法
  15. 计算机无法加载加密文件,win10电脑加密,win10加密文件无法解密
  16. java c语言与人工智能_C语言与LISP语言的区别
  17. Unicode、UTF-8、UTF-16之间的区别
  18. Paypal学习 2 -- IPN (Instant Payment Notification)
  19. 精通Node.js: 你应该阅读的书籍
  20. win10默认浏览器里多余了一个无效选项

热门文章

  1. 零信任是一次绝地反击
  2. matlab堆积式玫瑰图,用SAS实现堆积式南丁格尔玫瑰图Nightingale Rose Diagram (上)...
  3. [单位] 常用单位换算表大全
  4. Sass 入门(基础知识点汇总)
  5. apng2gif各种问题的解决
  6. 盲人怎么用计算机打字,盲人打字键盘指法练习技巧和方法
  7. l298n电机哪一端为正_L298N电机驱动模块的使用方法(干货)
  8. 共探数字化安全新未来,CSA SDP2.0标准发布暨零信任技术研讨会召开
  9. TSP旅行商时间复杂度与空间复杂度
  10. 嵌入式系统原理及应用(复习总结)