全自动化“视频网站”视频制作与发布的分布式系统介绍 - 支持 Bitrate Switching(类似Smooth Streaming)...

news/2024/5/20 5:11:21/文章来源:https://blog.csdn.net/weixin_33834075/article/details/85449614

一、前言

        从事视频后台开发工作已近三年,在掌握了必需的业务知识以及技术后,我思考着做出点成果,用来作为自己再就业时的简历或者前三个学年的主要成绩。本文我将就三大部分简单介绍这套系统的优势、特点,定能抛砖引玉;后续如果有心力,将具体介绍产品设计以及系统构架,以期与大家分享项目心得。

二、视频播放体系

        播放体系,主要创新如下:

        1、使用开源的 JW FLV Player,采用 Bitrate Switching 技术,使得播放器能够自适应带宽,自动选择合适的码流率进行下载。这是未来网络视频的方向,当前项目由于视频自动化制作的支持,已经成功应用该动态码流率技术。

        2、实现了“动态电视墙”功能,完全支持视频立体式播放。即,多个视频同时播放,用户自由切换主次播放窗口,而不会浪费带宽(缘于 Bitrate Switching 技术支持)。

        3、对不同场景的播放后台进行了统一。即,无论是PC,还是手机或者机顶盒(电视盒),其播放参数可完全一样,由播放器依据具体的屏幕大小、带宽限制等选择适当码流率进行下载播放。

         这是我当前做的播放演示页面,注意播放器左上角动态码流率的提示(采用了 IIS 作为视频文件服务器,视频格式 .flv):

image_thumb72 

三、自动化视频制作体系

        视频制作无非“下载”、“转码”、“备份(上传到流媒体服务器)”三大步骤。请看分布式系统设计示意草图:

image

        该系统主要特点如下:

        1、提供流程控制工具包(.net 版服务端/客户端工具,以及 java 版客户端工具),抽象并封装流程控制操作,以及提供其他常用管理工具,极大降低具体业务开发难度。

        2、支持各个分布式节点的多目录管理(包括流媒体服务器)。这对提高文件检索性能极其重要。

        3、支持多高宽、多码流率、固定分段时间的复合转码模式,为 Bitrate Switching 以及视频CDN技术提供片源上的保证。

        4、因具有跨平台能力(java 版客户端工具包),支持与各种类型的流媒体服务器配合,适用场景广。

        5、基于接口进行设计开发,插件化管理各工具组件,模块间松耦合,极易维护、扩展。

        6、使用 ORM 、反射等技术,配置灵活,部署简单可复制。

《转码客户端》使用网络上提供的 ffmpeg 进行转码

image

《转码服务端》

image

        7、基于可配置的流程控制中心管理,流程节点间相互独立、无耦合,便于业务更新、扩展。

image_thumb63

        8、基于抽象了的任务调度模型,任何视频的当前任务状态以及历史日志翔实,便于纠错、查询。且只需一个查询入口。

image_thumb64

        9、内置的超时、重试机制,可配置各流程节点超时时间以及重试次数上限,最大限制的降低制作失败率。

        10、提供网络视频列表监视功能,支持无人参与的全自动化视频运营管理。

        11、支持第三方视频无缝接入。

        12、支持制作人员手工制作的各类视频无缝插入流程,且可以插入到任意流程节点(步骤)。视频制作任务创建过程简单,既可通过Web后台创建,也可以通过本地“流程节点客户端”进行文件夹监视自动上报。

《通过web后台创建任务》

image

《本地文件夹监视系统部署包》

image

四、组合模型的视频CDN体系

        在视频制作过程中,视频已经被切割成固定时间长度的分段小视频文件,这是 CDN 调度的前提。通过 CDN 服务器分层管理,客户端播放器在请求视频或节目列表时,首先请求 CDN 服务器列表,由当前被请求的服务器(可能是源服务器,也可能是某级 CDN 服务器)以及客户端自己决定选定某 CDN 服务器进行服务请求。CDN 服务器在服务的同时,统计各类请求数据,然后根据这些数据,定时的更新播放列表或下载小视频文件,以期命中用户的下次请求。同时,定时获取源站的最新片源数据等,也是很好的缓存策略。

        因为是小视频文件(包括节目列表等文本数据),所以传统的 http 下载模式足够稳定,无需任何其他接口的开发。又因为是简单的缓存源站(或上级 CDN 站点)的数据请求,各个 CDN 服务器区域自治,相对独立,开发执行性强,同时系统轻便、容易复制部署,对于无论多大的数据请求量,都能采用“分而治之”的策略进行应对。这样也为无止境的用户体验满意度提供了强有力的、可量化、平滑的保证。

五、后语

        正如前言,该系统将是个名片,如果有公司感兴趣,只需提供 windows 2003/xp(IIS/Sql Server 2005) 机器一台或多台,笔者可通过远程连接的方式进行部署,以让人有直观感受。过些时日,我或许该制作一段视频,演示一下操作方式以及自动化流程,大概远比这文字来得生动有用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_774364.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

5分钟搞定!java免费源码网站

一、前言 最近刚读完一本书:《Netty、Zookeeper、Redis 并发实战》,个人觉得 Netty 部分是写得很不错的,读完之后又对 Netty 进行了一波很好的复习(之前用 spring boot netty zookeeper 模仿 dubbo 做 rpc 框架,那时…

零基础个人网站搭建教程(一个完全的新人如何搭建自己的个人网站)

花了一整天时间写的。混迹网络多年,现在又是it圈的一员,大大小小的网站也都做过。所以今天我想详细的给大家来一篇:零基础个人网站搭建教程,动手能力强的同学应该看完就会了。 WordPress: WordPress是使用PHP语言开发的…

零基础,最完整的建站教程

授人以鱼不如授人以渔“,这篇文章演示一下如何使用网络上开源免费网站程序搭建网站,最后会完成一个WordPress博客网站的搭建,但是方法是通用的,你可以把WordPress换成其他的程序,比如社区论坛,电商网站等都…

在IIS中使用SSL配置HTTPS网站(转)

由于Windows系统的普及,很多中小企业在自己的网站和内部办公管理系统都是用默认的IIS来做WEB服务器使用。默认情况下我们所使用的HTTP协议是没有任何加密措施的,所有的消息全部都是以明文形式在网络上传送的,恶意的攻击者可以通过安装监听程序…

如何快速搭建个人网站

今日科技快讯针对近日坊间流传的“我们天天在看你的微信”一说,微信团队今天发表声明重申三条用户隐私原则:1、微信不留存任何用户的聊天记录,聊天内容只存储在用户的手机、电脑等终端设备上;2、微信不会将用户的任何聊天内容用于…

搭建个人网站教程:阿里云+WordPress

以下教程简单易懂,不需要复杂的环境配置即可完成个人网站的搭建。 Step1:购买阿里云的服务器 这里我选择了“轻量应用服务器”(如果是搭建个人网站,容量小一点就行,不需要太大),镜像选择&…

超详细搭建个人网站教程,附带各种常见报错解决方案。

文章目录前言解惑环节准备工作环境配置一、安装二、环境配置1.cnpm安装2.Hexo安装可能报错和问题:博客初始化1、博客搭建可能报错和问题:2、博客测试可能报错和问题主题更换可能报错和问题:部署到云端1、创建库2.配置本地3.安装插件4.部署云端…

超详细的网站搭建教程使用阿里云RDS和ECS搭建个人博客网站

今天讲一讲如何利用云数据库、云服务器、word press搭建博客网站 1、注册阿里云账号 2、购买云数据库RDS(MySQL) 3、购买云服务器ECS 4、配置数据库 5、配置服务器 6、部署LAMP环境【Apache、MySQL、PHP、wordpress】 1、注册阿里云账号 浏览器搜索阿…

分布式解决方案-解决网站跨域请求

1.什么是网站跨域 跨域原因产生:在当前域名请求网站中,默认不允许通过ajax请求发送其他域名。 两个项目之间使用ajax(前端类似后端的httpclient)实现通讯,如果浏览器访问的域名和端口与ajax请求访问的地址不一样的情况下,…

互联网公司都在用什么语言写网站后端?

2019独角兽企业重金招聘Python工程师标准>>> 豆瓣 python 淘宝 php 百度 php python 优酷 java php 谷歌 python youtube python facebook php wikipedia php twitter ruby 看来php和python平分秋色&…

开发高性能网站的web性能测试工具

开发高性能网站的web性能测试工具文章分类:Web前端 WEB性能测试工具主要分为三种,一种是测试页面资源加载速度的,一种是测试页面加载完毕后页面呈现、JS操作速度的,还有一种是总体上对页面进行评价分析,下面分别对这些工具进行介绍…

网站访问流程

(点击查看大图)网站的架构如上图所示,下面将分析从用户在浏览器输入访问一个域名,例如www.yy.com,到页面全部展示出来经过的所有流程。(1)用户在浏览器地址栏输入www.yy.com或者yy.com(2)此时系统将检查缓存(这里的缓存包括浏览器缓存、操作系…

60款高质量的网站模板免费下载(上篇)

您可能还喜欢 分享45款高质量的免费(X)HTML/CSS模板最新30佳精美 PSD 网站模板免费下载寻找网页设计灵感的27个最佳网站推荐60佳灵感来自大自然的网页设计作品欣赏分享100佳精美的作品集网站设计案例当你想快速制作出一个网站的时候,网站模板就非常有用了。学习网页…

50款高质量的网站PSD模板免费下载(第一季)

今天开始推出系列文章向大家分享50款高质量的网站PSD模板,您可以免费下载使用。这些现成的PSD模板可以让您的工作得心应手,帮助您节省大量的时间和精力。感谢那些优秀的设计师分享他们的劳动成果,让更多的人可以使用他们的创意设计&#xff0…

java电脑过滤网站_Java过滤器Filter讲解(Java基础)

你好我是辰兮,很高兴你能来阅读,本篇文章小结了Java过滤器的知识点,献给初学者,分享获取新知,希望我们一起进步。文章目录一、什么是过滤器二、如何编写过滤器三、 过滤器的配置四、Filter的生命周期五、多个Filter的执…

iis 一个域名 带斜杠的配置_零基础建站如何配置PHP运行环境 几种服务器环境配置的选择和方法...

上次给大家分享了小白建站如何选择虚拟空间及服务器,及购买域名的基础知识,这些是硬性要求,你的网站要想运行起来,硬件只是基础,真正的技术是软件,关于PHP软件开发技术,后面我们会慢慢的分享给大…

3月第二周域名主机网站排名 万网第一西部数码第二

据国际统计机构Alexa公布的最新数据显示,3月第二周(3月5日-3月11日),中国万网网站用户覆盖数达1860,以绝对优势高居榜首。 西部数码次之,达710。易名中国排名第三,为600。下面,IDC评…

研究了100个自学网站,我总结出了这份Java学习资料!

这份Java资源中包括: Java、面向对象、多态、接口、IDEA、异常、集合框架、IO流、多线程、企业级框架、HTML、数据库、Java web、项目实战、GitHub、Spring、多线程、JVM、集合、多线程、MyBatis、MySQL、Git、IDEA、Redis、算法、简历模板、高频面试题、技术书籍、…

作为程序员,我都逛了哪些技术网站?(收藏篇)

目录 一、在线教程 二、视频教程 1、图灵社区 四、官网 五、国内博客社区 七、小微型博客 八、开源社区 九、面试刷题 一、在线教程 首先列出一些在线教程网站,这些在线教程网站通常都比较适合入门,可以作为开发学习路上的第一个阶梯,…

Android如何使用WebView访问https的网站

2019独角兽企业重金招聘Python工程师标准>>> Android中可以用WebView来访问http和https的网站,但是默认访问https网站时,假如证书不被Android承认,会出现空白页面,且不会有任何提示信息,这时我们必须加多一…