HTTP
HTTP 视频流测试:传输、容器、编码和 CORS
解释 HTTP 只是传输层,网页播放还要看容器、编码、MIME type、CORS 和 Range 支持。
网页能否直连
辅助
链路位置
网页基础传输
浏览器结论
浏览器支持,但不等于可播放
一句话结论
HTTP/HTTPS 只是传输方式,不等于视频格式。开发时要先判断 HTTP 地址里面装的到底是 m3u8、MP4、FLV、TS、fMP4,还是一个普通接口返回。
它在视频链路里的位置
HTTP 位于网络传输层,负责把文件、切片或流数据送到浏览器。能不能播取决于内容格式和响应头。
同样是 https:// 地址,可能是 HLS playlist,也可能是 MP4 文件或 FLV 直播流。
在浏览器项目里怎么用
前端要先根据扩展名、Content-Type 和少量探测结果分类,再选择 video、hls.js、mpegts.js 或诊断模式。
HTTPS 页面加载 http:// 视频或 ws:// 流时,浏览器可能因为 mixed content 直接拦截。
服务端需要做什么
服务端要正确设置 Content-Type、CORS、Range、缓存和鉴权。MP4 点播尤其需要 Range,HLS 则 playlist 和 segment 都要能跨域访问。
常见开发场景
- 公网视频文件、HLS 切片、直播 FLV、API 返回播放地址。
排查顺序
- 先看 Network:状态码、重定向、Content-Type、CORS、Range、是否被 mixed content 拦截。
- 再看播放器错误:是否格式识别错、编码不支持、鉴权过期。
推荐转换路径
- 点播文件优先 MP4/WebM;直播兼容分发优先 HLS;低延迟预览可评估 WebRTC 或 FLV。
最小可用实现
- 前端:输入 URL 后先分类,再按分类加载播放器。
- 后端:保证媒体响应头正确,私有地址不要只依赖前端绕过跨域。
开发者判断标准
HTTP 不能只按名字判断是否可播,要看它在链路中承担的是源站输入、网页播放输出、低延迟会话,还是网络辅助能力。当前浏览器结论:浏览器支持,但不等于可播放。落地前需要确认真实源站、是否需要服务端转换、CORS/HTTPS 策略、编码支持和延迟目标。