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

视频文件切片

1.为什么网络点播系统使用m3u8更有优势?为何点播要用M3U8来搞?存成一个文件不更好吗?

        一个MP4文件可能几百M或几个G,如果读取整个MP4文件的信息并且需要下载一段内容,首次打开播放超慢(加载时间长)。如果把MP4文件切片播放,每个分片100多KB,播放会更快。

2.M3U8+MPEGTS分片播放的优势?

  • 播放速度块:MP4文件播放在开始加载的时,会读取很大的文件信息,可能会导致卡顿很长时间才能播放。而m3u8分片,则会瞬间读取整个视频文件信息,马上开始加载第一片ts视频文件播放,不管是开始播放还是拖拽播放的加载速度都比MP4快N倍。
  • 缓解磁盘IO:高清视频文件一般都是G级别的,对于大文件下载来说,单盘的IO压力较大。如果能在磁盘上将大文件打散分片存储,需要播放的部分才下载,不需要播放的部分则不下载,这样硬盘IO将会大大缓解。
  • 容错简单:下载或存储过程中,1G的文件中任一字节出错将可能会导致整个视频失效,而被切成小碎片后,容错将变得相对简单,只需补全出错的切片即可。
  • 分发简单:大文件分发起来相对小文件比较困难,下载耗时长,特别是在服务初期,源服务器需要承受极高的磁盘IO请求。基本上很少看到超大文件做cdn分发的,而ts分片文件做cdn缓存就很容易了,文件小缓存速度快,基本上没有缓存失败的可能。
  • 缓存下载优秀:MP4在HTTP状态下会一直下载文件,不管用户是否需要播放后面的内容都会一直下载直到完全下载完成。而分片文件则不存在这个问题,通过播放器或服务器端的控制,只下载需要播放的部分内容,不播放则不下载。

3.CDN对m3u8点播需要做哪些支持?

        受限于播放器与源站之间的交互行为的不确定性,给M3U8做缓存和加速服务时,最好先抓包分析下播放器与源站直接交互时的请求与响应头,这样会加速解决在经过CDN时遇到的故障。

4.需要注意

  • 源站明确告诉播放器哪些内容不能缓存,明确cache-control:no-cache的,尽量不要与源站配置一致,如可能影响到播放器的xml控制文件及M3U8文件(分析其内容是否会变化)
  • 长连接:源站与播放器直接的交互是开启长连接,Connection:keep-alive,如果是长连接的话,在拿wireshark 打开包时,点击follow stream时,将可以看到一个stream流中有多次GET请求及响应。一般的播放及拖拽卡顿,很有可能是长连接没有打开,注意开启CDN设备到播放器,及CDN到源站的长连接。这样可以将miss时对用户的体验降到最低。 

5.M3U8支持中遇到的一些问题,及优化措施

  • 提前预加载,获取所有m3u8列表,跑个脚本,先全部预加载到CDN设备上。比较土,但不影响后续观看体验。
  • 实时预加载,在CDN设备上首次获取M3U8文件时,在CDN端对M3U8进行解析,自行在CDN内部完成对视频文件的预热。相对更理想,但在CDN端做解析,会让M3U8从源站到客户端加大延迟。相对1来说稍复杂点。

6.切片测试指令

ffmpeg -i HD1080P_FinalOutput.mp4 -hls_time 5 -hls_list_size 0 -c copy -f hls  HD1080P_FinalOutput.m3u8

相关文章:

视频文件切片

1.为什么网络点播系统使用m3u8更有优势?为何点播要用M3U8来搞?存成一个文件不更好吗? 一个MP4文件可能几百M或几个G,如果读取整个MP4文件的信息并且需要下载一段内容,首次打开播放超慢(加载时间长)。如果把…...

维生素的缺乏与生理功能,是否需要补充维生素【持续学习】

health & nutrition 学习自河南大学丁勇老师:https://space.bilibili.com/510028707 去医院查体内维生素缺啥:营养科或内科开单子 直接门诊查个维生素就可以。9项不到600块 正常吃饭,保湿和防晒 伤口愈合慢——蛋白质,vc 干燥…...

CUDA下载,以及下载GPU版本的pytorch

一、下载anaconda 因为这步我之前就下好了,主要参考这个链接:史上最全最详细的Anaconda安装教程 二、下载CUDA 1.首先观察自己需要什么版本的CUDA,以及是否安装过CUDA 先cmd,输入命令 nvidia-smi结果如下,所以我们…...

学习笔记:c存储类

✨博文作者:烟雨孤舟 💖 喜欢的可以 点赞 收藏 关注哦~~ ✍️ 作者简介: 一个热爱大数据的学习者 文章目录 目录 文章目录 简介 auto 存储类 register 存储类 static 存储类 extern 存储类 总结 简介 存储类定义 C 程序中变量/函数的的存储位置…...

236. 二叉树的最近公共祖先【190】

难度等级:中等 上一篇算法: 103. 二叉树的锯齿形层序遍历【191】 力扣此题地址: 236. 二叉树的最近公共祖先 - 力扣(Leetcode) 1.题目:236. 二叉树的最近公共祖先 给定一个二叉树, 找到该树中两个指定节点…...

即时配送,即时很重要!商家能不能盈利,“快”是源头

“家里水果没有了,选几样叫个跑腿送来吧。” “现在得囤点布洛芬了,我从网上下单。” “同城配送真是太及时、太方便了。” 最近一段时间,如果要问有什么产业突然兴起的话,即时零售无疑是市场最受欢迎的产业。甚至有种说法&…...

ChatGPT原理剖析

文章目录 ChatGPT常见误解1. 罐头回应2. 网络搜寻重组 ChatGPT真正做的事——文字接龙ChatGPT背后的关键技术——预训练(Pre-train)一般机器是怎样学习的? ChatGPT带来的研究问题1. 如何精准提出需求2. 如何更改错误3. 侦测AI生成的物件4. 不…...

「C/C++」C/C++软件跨平台思维

博客主页:何曾参静谧的博客 文章专栏:「C/C」C/C学习 目录 相关术语一、编写可移植的代码:二、使用跨平台的C库和框架:三、进行兼容性测试:四、用户界面设计: 相关术语 跨平台思维:是指在软件开…...

c# 通过界面上填写的信息输出到对应的word中,并另存为一个新的文件

c# 通过界面上填写的信息输出到对应的word中,并另存为一个新的文件 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tas…...

HTML+CSS+JS 学习笔记(四)———jQuery

🌱博客主页:大寄一场. 🌱系列专栏:前端 🌱往期回顾: 😘博客制作不易欢迎各位👍点赞⭐收藏➕关注​​ 目录 jQuery 基础 jQuery 概述 下载与配置jQuery 2. 配置jQuery jQuery 选…...

TryHackMe-Mnemonic(boot2root)

Mnemonic I hope you have fun. 端口扫描 循例nmap FTP枚举 尝试anonymous Web枚举 进80 gobuster扫 对着webmasters再扫一下 对着backups继续扫 下载zip文件,发现有密码 zip2john john直接爆 查看note.txt, 给出了ftpuser hydra直接爆ftp 进到ftp 用wget下载所…...

Nacos注册中心的使用

文章目录 Nacos注册中心1. 服务注册到nacos1)引入依赖2)配置nacos地址3)重启 2.服务分级存储模型2.1.给user-service配置集群2.2.同集群优先的负载均衡 3.权重配置 Nacos注册中心 国内公司一般都推崇阿里巴巴的技术,比如注册中心…...

项目中别用 “! = null“ 做判空了

问题 为了避免空指针调用,我们经常会看到这样的语句: if (someobject ! null) {someobject.doCalc();}最终,项目中会存在大量判空代码,丑陋繁杂。。。如何避免这种情况?是否滥用了判空? 最终,项目中会存在…...

MySQL数据库——MySQL子查询

子查询是 MySQL 中比较常用的查询方法,通过子查询可以实现多表查询。子查询指将一个查询语句嵌套在另一个查询语句中。子查询可以在 SELECT、UPDATE 和 DELETE 语句中使用,而且可以进行多层嵌套。在实际开发时,子查询经常出现在 WHERE 子句中…...

工具链和其他-超级好用的web调试工具whistle

目录 whistle介绍 整体结构 能力 规则 6个使用场景示例 1.修改Host 2.代理 3.替换文件(线上报错时) 4.替换UA 5.远程调试 6.JS注入 互动 whistle介绍 整体结构 安装: npm install whistle -g cli:whistle help 启动…...

ROS第四十三节——定位

https://download.csdn.net/download/qq_45685327/87725276 1.新建launch文件 关于launch文件的实现,在amcl功能包下的example目录已经给出了示例,可以作为参考,具体实现: roscd amcl ls examples gedit amcl_diff.launch 该目录下会列出两…...

2023年第二十届五一数学建模竞赛题目 C题详细思路

详细思路以及发布视频版,大家可以去观看,这里是对应的文字版,内容相差不多。 C题:“双碳”目标下低碳建筑研究 C题的问题设置其实是本次比赛最简单的一道,就是简单的综合评价预测模型。真正提升C题难度的其实是C题的…...

模块化编程原理示意图--CommonJS 模块编程--ES6 模块编程思路分析/图解--三种导出形式--全部代码示例

目录 模块化编程 基本介绍 模块化编程原理示意图 模块化编程分类 CommonJS 模块编程 介绍 应用实例 1. 需求说明 2. 思路分析/图解 3. 代码实现 function.js use.html use.js ES6 模块编程 介绍 需求说明 思路分析/图解 代码实现 common.js use_common.js …...

Ansys Zemax | 如何模拟双折射偏振器件

这篇文章介绍了什么是双折射现象、如何在OpticStudio中模拟双折射 (birefringence)、如何模拟双晶体的双折射偏振器以及如何计算偏振器的消光比。(联系我们获取文章附件) 什么是双折射现象 一般的光学材料都是均匀的各向同性的,也就是说无论光…...

Java关键字之:this

一、this关键字的使用 1、this可以用来修饰、调用:属性、方法、构造器 2、this修饰属性和方法 this理解为:当前对象 或 当前正在创建的对象 在类的方法中。我们可以使用“this.属性"或”this.方法“的方式。调用当前对象属性或者方法。但是&#…...

springboot-vue基于web的智慧游乐场游乐园门票售票系统网站的设计与实现

目录技术选型核心功能模块数据库设计安全与性能部署方案测试计划项目里程碑文档规范项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作技术选型 后端框架:Spring Boot 2.7.x(集成Spring Security、JWT、My…...

BMI160六轴IMU嵌入式驱动开发与FIFO中断实践

1. BMI160惯性测量单元技术深度解析与嵌入式驱动开发实践BMI160是由博世传感器技术公司(Bosch Sensortec)推出的超低功耗、高精度六轴惯性测量单元(IMU),集成三轴加速度计与三轴陀螺仪于单一封装内。该器件专为可穿戴设…...

OpenClaw私有化部署指南:Qwen3-VL:30B+飞书智能助手

OpenClaw私有化部署指南:Qwen3-VL:30B飞书智能助手 1. 为什么选择本地化部署? 去年我接手了一个需要处理大量敏感数据的项目,团队最初尝试使用公有云API,但很快遇到了数据合规问题。这促使我开始研究本地化AI解决方案&#xff0…...

如何快速实现Figma中文界面:设计师必备的免费本地化插件

如何快速实现Figma中文界面:设计师必备的免费本地化插件 【免费下载链接】figmaCN 中文 Figma 插件,设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN 你是否曾因Figma的英文界面而感到困扰?想要专注于设计创…...

告别繁琐安装:用快马平台在线IDE实现零配置编程初体验

最近在尝试学习编程时,发现很多新手都会卡在开发环境配置这一步。传统的IDE安装过程不仅耗时,还可能遇到各种环境变量配置问题。作为一个过来人,我想分享一个更简单的解决方案——直接在浏览器里就能完成编程初体验。 为什么需要在线IDE 刚开…...

如何高效构建抖音直播实时数据采集系统:完整技术解析与实战指南

如何高效构建抖音直播实时数据采集系统:完整技术解析与实战指南 【免费下载链接】DouyinLiveWebFetcher 抖音直播间网页版的弹幕数据抓取(2024最新版本) 项目地址: https://gitcode.com/gh_mirrors/do/DouyinLiveWebFetcher 抖音直播实…...

手把手教你用Ollama玩转translategemma-27b-it:图文翻译全攻略

手把手教你用Ollama玩转translategemma-27b-it:图文翻译全攻略 1. 认识translategemma-27b-it:你的专业翻译助手 1.1 什么是translategemma-27b-it translategemma-27b-it是Google基于Gemma 3架构开发的开源翻译模型,专为多语言图文翻译任…...

给嵌入式新手的ST7789驱动避坑指南:从SPI模式到RGB565显示的完整配置流程

给嵌入式新手的ST7789驱动避坑指南:从SPI模式到RGB565显示的完整配置流程 第一次接触ST7789液晶驱动芯片时,面对厚厚的数据手册和复杂的时序图,很多嵌入式新手都会感到无从下手。本文将带你一步步拆解ST7789的驱动过程,从SPI模式配…...

3分钟掌握视频转PPT终极技巧:快速提取幻灯片内容

3分钟掌握视频转PPT终极技巧:快速提取幻灯片内容 【免费下载链接】extract-video-ppt extract the ppt in the video 项目地址: https://gitcode.com/gh_mirrors/ex/extract-video-ppt 还在为会议录屏中的PPT幻灯片提取而烦恼吗?extract-video-pp…...

Pitest:Java代码质量保障的突变测试解决方案

Pitest:Java代码质量保障的突变测试解决方案 【免费下载链接】pitest State of the art mutation testing system for the JVM 项目地址: https://gitcode.com/gh_mirrors/pi/pitest 一、概念解析:突变测试的技术本质与工作原理 1.1 从传统测试到…...