现在的转码程序是在通过增加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 分布式 转码_分布式转码集群思路相关推荐

  1. java 分布式缓存 开源_分布式缓存开源框架Flasher介绍-Go语言中文社区

    写在前面 今天给大家推荐款国内某一线电商平台Redis分布式缓存框架. 推荐理由: 日均访问量100亿.QPS:157W.包含57项业务. 也是工作3-5年以上的程序员必看的源码资料,千万别错过. F ...

  2. Java异构数据翻译器_分布式异构数据,distributed heterogeneous data,音标,读音,翻译,英文例句,英语词典...

    补充资料:分布式异构型计算机系统 分布式异构型计算机系统 distributed heterogeneous computer system fenbushi yigOUxing iisuQnji X ...

  3. java consul服务发现_分布式项目(七)consul 服务注册与发现

    说到分布式自然就离不开分布式和微服务的话题,简单聊一下. 微服务是一种软件架构方式,或者说一个一种结构设计风格,它并不是标准,它的逻辑是把一个整体服务按业务拆分成不同独立的服务,降低服务强依赖,消服务 ...

  4. python 分布式 调度 管理_分布式云调度处理系统

    分布式云调度处理系统. 项目参考xxl-job进行若干改动. 项目基于quartz并进行若干扩展而成,适用于公司内部做定时调度处理,方便,快捷,简单. 支持bean, groovy, shell, p ...

  5. 源码_网站源码_游戏源码_源码下载-开源之家

    开源之家 - 建站6年,站内有海量网站源码(asp源码,php源码,.net源码),游戏源码(VC++源码,C#源码,C++源码),商业源码,网站模板,微信源码,区块链源码,网游源码提供给大家下载. ...

  6. 谷粒商城项目篇1_分布式基础篇_分布式基础概念、环境搭建、创建项目

    写在前面 为丰富项目经验,特此学习B站开源视频<全网最强电商教程<谷粒商城>对标阿里P6/P7,40-60万年薪>希望通过此学习能巩固所学,将技术栈串接起来. 此项目三个阶段 ...

  7. python分布式任务调度开源_分布式工作流任务调度系统Easy Scheduler正式开源

    分布式工作流任务调度系统Easy Scheduler正式开源 背景 在多位技术小伙伴的努力下,经过近2年的研发迭代.内部业务剥离及重构,也经历一批种子用户试用一段时间后,EasyScheduler终于 ...

  8. 【Redis】Redis安装、应用场景、数据类型、配置文件(很全)、发布订阅、事务、分布式锁、持久化、主从复制、集群等

    文章目录 Redis笔记 Redis 介绍 应用场景 相关技术 安装 Redis 操作及数据类型 Redis 键操作(Key) Redis 字符串(String) Redis 列表(List) Red ...

  9. 如何访问集群中指定的服务器,【Nacos源码之配置管理 六】集群模式下服务器之间是如何互相感知的...

    前言 我们用Nacos当配置中心的时候,上一篇文章中 [Nacos源码之配置管理 五]为什么把配置文件Dump到磁盘中 知道了,所有的配置文件都会Dump到服务器的本地磁盘中, 那么集群模式下: 服务 ...

最新文章

  1. 计算机公开课课前互动小游戏,公开课前课堂小游戏
  2. ThinkPHP 框架培训资料
  3. 三路合并 —— Git 学习笔记 17
  4. 中南大学在线考试答案计算机基础,中南大学《计算机基础》在线考试题库(267题)(有答案).doc...
  5. Linux 部分常用命令
  6. 洛谷 - P1361 - 小M的作物 - 最小割 - 最大权闭合子图
  7. xampp for mac mysql_xampp for mac下载-Xampp Mac版下载 V7.3.2-PC6苹果网
  8. 孜然网址导航系统源码v1.0
  9. Log4net 配置实例
  10. H3C 100F防火墙限速
  11. for input string:是什么原因出现的_「汽车空调异味」周期性出现:原因是什么呢?...
  12. 51nod1160 压缩算法的矩阵——一道有趣的题
  13. 金格iweboffice2003,ie文档编写时无法自动提示安装问题解决
  14. 项目管理十大知识领域和五大过程
  15. 不需要数据库的php迷你博客程序,GitHub - Smilefish0/miniblog: 一个不需要数据库、轻量级、微型、开源的博客程序!...
  16. 面试时不能讲的跳槽理由有哪些
  17. 选择阿里云服务器的理由
  18. MFC自制小游戏——躲避球(每日进度)
  19. 【mcuclub】模数转换ADC0832
  20. Python通过word模板生成新的word文件

热门文章

  1. 2、掌握PS文件以及存储
  2. 今天给大家分享使用Scratch绘制一个圣诞树!
  3. JavaScript数组去重方法整理
  4. AI生成--原型与原型链
  5. hawk物联网组态工具_物联网的典型应用领域有哪些?工业、建筑、智慧农业!...
  6. OpenRisc-14-or1200第一个裸机程序
  7. coc部落冲突天墉城全功能辅助开源
  8. 盖茨正式退休 携3500亿人民币身家转投慈善事业.
  9. 并查集经典应用之染色模型
  10. 彩虹商城最新6.6免授权版全网首发