java 分布式 转码_分布式转码集群思路
现在的转码程序是在通过增加WINFORM程序提高转码能力,存在下面两个问题:
(1)FFMPEG转码非常费CPU,单个转码任务就会占用90%,一台主机上部署多个转码程序意义不大。
(2)现在的扩展,是按最小单元为一个视频的方式进行扩展,比如一个视频是1个小时的,最低转码时间是半个小时,不会因为增加转码机而提速。
思路:
采用一个主控机+N个转码机的方式,主控机负责接收任务并将MP4分割,分发给各个转码机,在所有转码机完成转码后,负责将最终的视频进行合并成H264的MP4,同时切片为m3u8格式。真正实现将文件分割进行提速,这样,半小时的转码任务,按5台机器同时工作计算,6分钟左右即可完成,而且随着转码机的数量投入而变短,可以最大限度的利用硬件设备提高转码速度。
一、分割视频:
MP4Box -split-size 50000 test.mp4 #50MB一个文件
MP4Box -split 50 test.mp4 #50秒一个文件
二、分布式调度
不依赖于任务现成的框架,采用REDIS分队列的思路。
(1)比如有5个处理机,就在主控程序上直接划分开5个REDIS队列,分别是dulie_1---->dulie5
(2)然后按均匀的方式将分隔开的小MP4文件任务平均分布到各个队列中。并将此任务的分发情况记录到SET中,最终如果SET的结果回写数量与最初发出去的数量一致,标识为完成。
(3)各转码机通过程序获取到任务后,开始进行转码。完成后回写REDIS键值表示此任务完成。
(4)主控机每1秒轮询SET将完成好转码工作进行视频合并,并切片为M3U8。
三、合并视频
mp4box -cat test1.mp4 -cat test2.mp4 -new test.mp4
命令行参考:
https://mkvtoolnix.download/doc/mkvmerge.html
参考资料:
https://blog.csdn.net/qq_44884706/article/details/89227746
https://blog.csdn.net/zileqide/article/details/89648433
https://blog.csdn.net/imdyf/article/details/80621009
java 分布式 转码_分布式转码集群思路相关推荐
- java 分布式缓存 开源_分布式缓存开源框架Flasher介绍-Go语言中文社区
写在前面 今天给大家推荐款国内某一线电商平台Redis分布式缓存框架. 推荐理由: 日均访问量100亿.QPS:157W.包含57项业务. 也是工作3-5年以上的程序员必看的源码资料,千万别错过. F ...
- Java异构数据翻译器_分布式异构数据,distributed heterogeneous data,音标,读音,翻译,英文例句,英语词典...
补充资料:分布式异构型计算机系统 分布式异构型计算机系统 distributed heterogeneous computer system fenbushi yigOUxing iisuQnji X ...
- java consul服务发现_分布式项目(七)consul 服务注册与发现
说到分布式自然就离不开分布式和微服务的话题,简单聊一下. 微服务是一种软件架构方式,或者说一个一种结构设计风格,它并不是标准,它的逻辑是把一个整体服务按业务拆分成不同独立的服务,降低服务强依赖,消服务 ...
- python 分布式 调度 管理_分布式云调度处理系统
分布式云调度处理系统. 项目参考xxl-job进行若干改动. 项目基于quartz并进行若干扩展而成,适用于公司内部做定时调度处理,方便,快捷,简单. 支持bean, groovy, shell, p ...
- 源码_网站源码_游戏源码_源码下载-开源之家
开源之家 - 建站6年,站内有海量网站源码(asp源码,php源码,.net源码),游戏源码(VC++源码,C#源码,C++源码),商业源码,网站模板,微信源码,区块链源码,网游源码提供给大家下载. ...
- 谷粒商城项目篇1_分布式基础篇_分布式基础概念、环境搭建、创建项目
写在前面 为丰富项目经验,特此学习B站开源视频<全网最强电商教程<谷粒商城>对标阿里P6/P7,40-60万年薪>希望通过此学习能巩固所学,将技术栈串接起来. 此项目三个阶段 ...
- python分布式任务调度开源_分布式工作流任务调度系统Easy Scheduler正式开源
分布式工作流任务调度系统Easy Scheduler正式开源 背景 在多位技术小伙伴的努力下,经过近2年的研发迭代.内部业务剥离及重构,也经历一批种子用户试用一段时间后,EasyScheduler终于 ...
- 【Redis】Redis安装、应用场景、数据类型、配置文件(很全)、发布订阅、事务、分布式锁、持久化、主从复制、集群等
文章目录 Redis笔记 Redis 介绍 应用场景 相关技术 安装 Redis 操作及数据类型 Redis 键操作(Key) Redis 字符串(String) Redis 列表(List) Red ...
- 如何访问集群中指定的服务器,【Nacos源码之配置管理 六】集群模式下服务器之间是如何互相感知的...
前言 我们用Nacos当配置中心的时候,上一篇文章中 [Nacos源码之配置管理 五]为什么把配置文件Dump到磁盘中 知道了,所有的配置文件都会Dump到服务器的本地磁盘中, 那么集群模式下: 服务 ...
最新文章
- 计算机公开课课前互动小游戏,公开课前课堂小游戏
- ThinkPHP 框架培训资料
- 三路合并 —— Git 学习笔记 17
- 中南大学在线考试答案计算机基础,中南大学《计算机基础》在线考试题库(267题)(有答案).doc...
- Linux 部分常用命令
- 洛谷 - P1361 - 小M的作物 - 最小割 - 最大权闭合子图
- xampp for mac mysql_xampp for mac下载-Xampp Mac版下载 V7.3.2-PC6苹果网
- 孜然网址导航系统源码v1.0
- Log4net 配置实例
- H3C 100F防火墙限速
- for input string:是什么原因出现的_「汽车空调异味」周期性出现:原因是什么呢?...
- 51nod1160 压缩算法的矩阵——一道有趣的题
- 金格iweboffice2003,ie文档编写时无法自动提示安装问题解决
- 项目管理十大知识领域和五大过程
- 不需要数据库的php迷你博客程序,GitHub - Smilefish0/miniblog: 一个不需要数据库、轻量级、微型、开源的博客程序!...
- 面试时不能讲的跳槽理由有哪些
- 选择阿里云服务器的理由
- MFC自制小游戏——躲避球(每日进度)
- 【mcuclub】模数转换ADC0832
- Python通过word模板生成新的word文件