1.视频生产
1)视频的上传和存储
2)视频转码
3)内容的审核监控

2.视频消费
1)播放器和弹幕
2)CDN和带宽
3)防盗链

术语
解码(Decoding) 点播、回放(Playback) 源⽂件 -> Decoding -> 播放
编码(Encoding) 直播(Streaming) -> 录像(Video) 直播流 -> Encoding -> 视频录像
转码(Transcoding) 特效加⼯处理
文件格式转换
源文件 -> Decoding -> 加工 ->
Encoding -> 目标文件

前提:网络基建带宽充

#做一个视频网站需要什么样配置的服务器?
问题描述:我准备建一个视频网站,假设每天在线人数100左右,同时在10人左右,平均每人最少观看10分钟,而视频清晰度480P徘徊。要满足以上需求的话,我需要一台什么配置的服务器,预算是多少?
做一个视频网站需要什么样配置的服务器?

答:流媒体服务器(视频服务器)的特点是长时间高并发,因此cpu至少至强六核E5-2420、内存8G以上。操作系统可以选择winodws也可以选Linux,个人推荐centos5.6+nginx。你可以采用http+flv的播放方案,当然你想支持手机端,建议采用http live streaming或者http+mp4。

1.480P的视频视频码率可以采用4.5Mbps;
2.每天在线100人,同时在线10人左右;要想保持看视频不卡,视频的比特率至少300Kbps,十人同时在线播放的话,0.3*10=3Mbps的带宽可以达到完全流畅播放。当然如果你的服务用户是在国内,无法精确到单独省、市,建议选择BGP多线机房。
3.网站的图片、视频加防盗链功能。否则扩容至10M带宽也不够用。
4.硬盘大小,因为视频网站,数据最好放在自己硬盘,且视频比较大建议采用1T。如果考虑数据的安全可以采用raid1。

推荐视频网站配置
CPU:至强六核E5-2420
内存:8G  DDR3  ECC
主板:ASUS  Z9NA  D6
带宽:3M
价格:11999元/年  点击右侧QQ有专家为您搭配更适合您的服务器

APP后端处理视频的方案

后台常见的视频处理有以下几种:
视频的截图,很多视频列表上显示的一张图片,这张图片就是通过截取视频的某一帧(通常是第一帧)得到的。
视频加水印,出于版权保护的目的,需要添加水印。
视频转码,允许用户上传手机上的视频,并转换为app后端支持的格式。

视频的处理对于大多数程序员来说是个很陌生的领域, 这里介绍一个视频处理最常用的工具:ffmpeg。

Ffmpeg的官网(http://ffmpeg.org/)是这样介绍的:Acomplete, cross-platform solution to record, convert and stream audio and video。一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。
Ffmpeg是个跨平台的软件,可以在linux下使用,也可以在window,mac下使用。

著名的播放器KMPlayer, 暴风影音,qq影音,都曾经使用过ffmpeg的代码。国内的七牛云存储,音视频处理的核心模块也是ffmpeg。

Ffmpeg可以实现的功能有:
 
*视频采集
*音视频格式转换
*视频抓图
*给视频加水印

FFmpeg主要由一下几个部分组成:
libavcodec:包含了所有FFmpeg音视频编解码器的库。 为了保证最优性能和高可复用性,大多数编解码器从头开发的。
libavformat:包含了所有的普通音视格式的解析器和 产生器的库。

三个实例程序:
ffmpeg:命令行的视频格式转换程序(一般就直接调用这个文件)
ffplay:视频播放程序。(需要SDL支持)
ffserver:多媒体服务器

程序调用ffmpeg的功能
使用ffmpeg的进行视频转换很简单,例如,把avi转换为MP4,使用命令行:
ffmpeg -i source.avi -f psp -r 29.97-b 768k -ar 24000 -ab
64k -s 320×240 destination.mp4

一个常见的思路,就用通过构造命令行的方式,把上面命令行构造出来,然后在后台语言中调用ffmpeg执行文件。

有个java调用ffmpeg开源项目 jave (主页:http://www.sauronsoftware.it/projects/jave/)就是这样实现的。

通过类AudioAttributes和VideoAttributes设置了相关的参数,在类Encoder中把这些参数构造成命令行执行FFmpeg相关的命令。
File source = newFile("source.avi");
File target = newFile("target.flv");
AudioAttributes audio = newAudioAttributes();
audio.setCodec("libmp3lame");
audio.setBitRate(newInteger(64000));
audio.setChannels(new Integer(1));
audio.setSamplingRate(newInteger(22050));
VideoAttributes video = newVideoAttributes();
video.setCodec("flv");
video.setBitRate(newInteger(160000));
video.setFrameRate(new Integer(15));
video.setSize(new VideoSize(400,300));
EncodingAttributes attrs = newEncodingAttributes();
attrs.setFormat("flv");
attrs.setAudioAttributes(audio);
attrs.setVideoAttributes(video);
Encoder encoder = new Encoder();
encoder.encode(source,target, attrs);

注意了,视频音频相关的操作一般都是非常耗费CPU资源,例如上面的例子,在avi转换成flv的过程中,系统的相关资源状况如下:

在压缩视频时,ffmpeg就占用了CPU差不多90%的资源。

端要快速地处理视频,需要高性能的服务器集群,但是,对于创业型公司来说,这点支出是非常不合算的。因此,可充分运用云服务,例如,七牛提供的服务就包含音视频格式的转换,调用非常方便。

超越之视频技术的核心要点总结相关推荐

  1. React+Redux技术栈核心要点解析(中篇)

    感谢作者郭永峰的授权发布. 作者:郭永峰,前端架构师,现用友网络 FED团队负责人,目前主要负责企业级应用前端技术平台建设工作,在前端工程化实现.Node 应用开发.React技术.移动开发等方向有丰 ...

  2. React+Redux技术栈核心要点解析(上篇)

    感谢作者郭永峰的授权发布. 作者:郭永峰,前端架构师,现用友网络 FED团队负责人,目前主要负责企业级应用前端技术平台建设工作,在前端工程化实现.Node 应用开发.React技术.移动开发等方向有丰 ...

  3. React+Redux技术栈核心要点解析(下篇)

    感谢作者郭永峰的授权发布. 作者:郭永峰,前端架构师,现用友网络 FED团队负责人,目前主要负责企业级应用前端技术平台建设工作,在前端工程化实现.Node 应用开发.React技术.移动开发等方向有丰 ...

  4. “小程序+直播”怎样搅动音视频技术生态?

    ​ 责编 / 王宇豪 策划 / LiveVideoStack 12月26日晚间,微信小程序开放了直播能力,并首先向社交.教育.医疗.政务民生.金融等五大应用场景开放.与原生App应用和基于浏览器的H5 ...

  5. 【免费活动】解析腾讯云音视频通信三大核心网络技术实战与创新

    随着互联网的发展越来越成熟,移动终端成为我们人手必备的生活用品,云计算的普及与高速发展,4G.5G网络的瓜熟蒂落,我们真正的进入了全真互联网时代.2020年,一场突如其来的疫情,很多传统行业不得不将线 ...

  6. 解析腾讯云音视频通信三大核心网络技术实战与创新

    随着互联网的发展越来越成熟,移动终端成为我们人手必备的生活用品,云计算的普及与高速发展,4G.5G网络的瓜熟蒂落,我们真正的进入了全真互联网时代.2020年,一场突如其来的疫情,很多传统行业不得不将线 ...

  7. 浅谈AI视频技术超分辨率

    泛娱乐应用成为主流,社交与互动性强是共性,而具备这些特性的产品往往都集中在直播.短视频.图片分享社区等社交化娱乐产品,而在这些产品背后的黑科技持续成为关注重点,网易云信在网易MCtalk 泛娱乐创新峰 ...

  8. 音视频技术开发周刊 | 239

    每周一期,纵览音视频技术领域的干货. 新闻投稿:contribute@livevideostack.com. 什么是体积视频? 本文介绍了体积视频(Volumetric Video)的解释,创建体积视 ...

  9. 音视频技术开发周刊:FFmpeg内置的一个无中生有的音视频输入数据 | 214

    每周一期,纵览音视频技术领域的干货. 新闻投稿:contribute@livevideostack.com 火山引擎视频云:坚持基础技术创新,打造极致用户体验 从toC到toB,作为抖音背后的视频技术 ...

最新文章

  1. 吴恩达老师,被曝靠「教书」实现首个IPO上市,估值50亿美元
  2. 获取AD里面指定OU或Container里面的计算机以及Lastlogon时间格式转换
  3. 技术久了,偶尔放松下吧,看看这些小样,很美好!
  4. 2012计算机科学排名,2012年美国大学计算机科学专业研究生排名
  5. 转:GridView 模板列中的数据绑定
  6. 雨林木风win11 64位安全旗舰版镜像V2021.09
  7. ContOS网络连接及简单的ssh Xshell连接!
  8. 目前阶段的任务及计划
  9. Java 8新特性探究(五)重复注解(repeating annotations)
  10. 四种方法实现两个等大数组之间内容交换
  11. python 穷举法 算24点(史上最简短代码)
  12. 背景建模算法比较与ViBe算法论文解读与python代码
  13. 如何使用阿里云打造离线下载服务器?
  14. python8皇后不攻击问题_Python 解决八皇后问题
  15. 同步,异步,直流电机原理
  16. Android 画闹钟
  17. 青岛小学 初中有计算机编程比赛,青岛市电脑制作活动 程序设计竞赛 一等奖...
  18. 解决OpenCV捕捉USB摄像头时抓帧失败的问题
  19. 算法题 子数组之和为零
  20. ubuntu 编译安装opencv官网教程

热门文章

  1. Win11或win10开机自启文件夹(备用)
  2. 微信浏览器h5分享卡片模式
  3. 微信小程序实现websocket聊天室
  4. python海龟画图(11)微软LOGO
  5. 进程管理中,挂起的具体含义
  6. 2020年百子菁英计划青少年数学爱好者沙龙——S6
  7. 什么是GNSS模块,有哪些特点
  8. ps入门第1天_认识PS基础文件设置_打印分辨率300像素_ps颜色模式
  9. 程序员担心的中年危机,35岁之后怎么办?
  10. 学习笔记 | 如何将 MathType 6.0 插入 Microsoft office 2016