目前网络直播已经火了多年,本人也曾是游戏直播的忠实粉,一直非常看好这个行业。之前所在的公司部门也是做视频直播点播业务的,只可惜没摸到太多的门路,因为底层封装的核心技术我们是看不到的,仅仅在前端技术上算是入了门。最近不仅是从自己的兴趣上还是从公司的业务出发,都需要对视频知识有一个较为清楚的认识。

视频基础知识点

定义

视频其实就是连续的图像组成,当连续的图像变化每秒超过24帧(frame)画面以上时,由于视觉残留原理,看上去是平滑连续的视觉效果,这样连续的画面叫做视频。

属性

画面更新率

画面更新率也叫帧率,简单说就是一秒钟包含的图像数量,帧率越高,看起来画面就越连贯,最早期时只有每秒6~8张,到如今已经有100以上的量级。

扫描方式

(1)逐行扫描:指显示屏显示图像进行扫描时,从屏幕左上角的第一行开始逐行进行,整个图像扫描一次完成。

(2)隔行扫描:每一帧被分割为两场,通常是先扫描奇数行得到第一场,然后扫描偶数行得到第二场。两者互补成完整的画面。

区别:隔行扫描适用于早期带宽不足的情况,但是由于分两次扫描的,会出现闪烁的情况;而逐行扫描的画质会更优秀,画面会更平滑。

模拟信号与数字信号

这里还要提一下模拟信号与数字信号

(1)模拟信号是连续变化的物理量,如温度,湿度,电压等,形式上通常表现为正余弦曲线,甚至是其他无规律的曲线,但是其变化是连续的。

(2)而数字信号是离散的,不连续的信号。在计算机中,用0,1这种二进制数表示。要对模拟信号进行计算处理的话,必须进行二进制转换,这个时候就需要将模拟信号转换成数字信号(AD转换),这也就是采样的过程。模拟信号采样的频率越高(即时间间隔越短),则得到的数字信号越贴近模拟信号,还原度就更好。

(3)转换过程说明:一般模拟信号会有一个峰值(MAX),而AD转换器是有精度的,比如它是8位的,那它的分辨率就是MAX/2^8。AD转换时,将取样点的值除以分辨率的结果则是数字信号的值。而进行DA转换时,则把每一个数字信号值乘以分辨率得到模拟信号值,所有DA转换后的模拟信号点连接起来便形成了转换后的模拟信号曲线。

视频压缩

要知道,一段视频的某一帧与它的后一帧是很连贯的,那么必然存在重复的信息,因此利用这些重复的信息,我们可以节约很多存储空间。接着,我们可以从时间和空间两个角度分析。

(1)从时间上来看,可以通过记录两帧不同画面间的差异性来实现。这也称为帧间压缩,一般是无损压缩。相关的技术还有运动补偿。

(2)从空间上来看,只记录单帧画面的一部分与另一部分的差异性。这成为帧内压缩,一般采用有损压缩算法,达不到很高的压缩比。

视频封装格式

视频封装格式也叫视频容器,在我们普通人的眼里就是所谓的后缀名,常见的视频格式有MPEG/MPG/DAT,AVI,RA/RM/RAM,MOV,ASF,n AVI(就是New AVI),DivX,RMVB,FLV(Flash Video,文件极小、加载速度极快,采用H.263),F4V(支持H.264的流媒体格式),MP4,3GP,AMV等。

视频编码

常见的视频编码有MicrosoftH.261/H.263/H.264/H.265,MPEG,RealVideo,WMV,QuickTime等。所谓视频编码,说到底是不同的厂商推出的一套标准,通过特定的压缩技术,将某个视频格式的文件转换成另一种视频格式文件的方式。

视频格式和视频编码的区别

看到这里,我也晕了,这两个东西到底在说什么?可以这样理解,视频格式是一个容器,用来把编码器生成的多媒体内容(视频,音频,字幕,章节信息等)混合封装在一起。而视频编码是一种标准,通过符合这种标准的压缩技术,将视频内容压缩成特定的格式。格式是编码的载体。

常用的开发库

ffmpeg

Nodejs fluent-ffmpeg

更好的推荐

雷神的视频入门博客

视频业务基础知识入门相关推荐

  1. 000视频基础知识入门--科普向

    本文所有知识资源均来自网络,如有侵权,联系可注明来源或删除本文章.本文为音视频基本知识入门,偏向科普性质. 视频基础知识入门-成像到显示 1 成像 1.1 三原色 1.1.1 加色法 1.1.2减色法 ...

  2. 网络安全基础知识入门!网络安全学习教程

    当我们学习网络安全的时候,需要对它的基础知识做一个简单的了解,这样对以后的学习和工作都会有很大的帮助.本篇文章为大家总结了网络安全基础知识入门的内容,快跟着小编来学习吧. 计算机网络 计算机网络是利用 ...

  3. 学习笔记:Java 并发编程①_基础知识入门

    若文章内容或图片失效,请留言反馈. 部分素材来自网络,若不小心影响到您的利益,请联系博主删除. 视频链接:https://www.bilibili.com/video/av81461839 视频下载: ...

  4. 计算机网络建设中涉及到哪些硬件,网络基础知识入门

    网络基础知识入门 导语:随着计算机的广泛应用和网络的流行,我们应该要知道一些网络基础知识,下面是小编收集整理的网络基础入门知识,欢迎参考! 计算机网络是什么 这是首先必须解决的一个问题,绝对是核心概念 ...

  5. 【正点原子STM32连载】第五章 STM32基础知识入门 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1

    1)实验平台:正点原子MiniPro H750开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=677017430560 3)全套实验源码+手册+视频 ...

  6. Android基础知识~入门进阶,一步步走到高手

    Android基础知识~入门进阶,一步步走到高手 2011年09月01日 [b]希望新入手ANDROID设备的朋友认真阅读本帖,一些简单的问题就可以自己解决了!!! 一:基础知识[/b] [b]1.什 ...

  7. 2022最新知识,一步一步学习C语言基础知识入门(图例解析)

    一.C语言基础知识入门 C语言一经出现就以其功能丰富.表达能力强.灵活方便.应用面广等特点迅速在全世界普及和推广.C语言不但执行效率高而且可移植性好,可以用来开发应用软件.驱动.操作系统等.C语言也是 ...

  8. Photoshop CS6完全自学基础知识入门到精通视频教程.docx

    中文版 PhotoshopCS6 完全自学基础知识入门到精通视频教程 本教程是初学者快速自学 PhotoshopCS6 的经典畅销教程.全教程共分 22 章,从最基础的 Photoshop CS6 安 ...

  9. swift5.x基础知识入门

    swift5.x基础知识入门 源码在我的主页下,欢迎下载,我非常喜欢swift和oc的语法,两者相似,我坚信天下没有学不会的技术. 基本介绍 ///这里只介绍一些初学swift的基本概念,需要提前了解 ...

最新文章

  1. 三、python中最基础的文件处理汇总
  2. Centos6安装Zabbix3.4
  3. Java基础学习总结(19)——Java环境变量配置
  4. spring boot 发邮件
  5. 利用FreeMarker生成java源代码
  6. 在FL Studio中如何使用Patcher插件
  7. STM32F446高性能MCU芯片介绍
  8. 网路新年贺词_文伟_新浪博客
  9. 以太镇火了,快卖掉手中的猫买楼吧
  10. Matlab如何修改坐标轴在figure里面的位置
  11. Sublime 安装与中文配置
  12. Flutter必备——Dart入门(下)
  13. 一夜成名的航班追踪网站,什么来头?
  14. 学习笔记:全局变量定义“无须”初始化,局部变量必须初始化
  15. 读研期间发84篇SCI!研究生被怀疑有“背景”和学术造假,本人回应!
  16. Synology 群晖RAID1数据恢复
  17. mysql 必知必会导入官方数据库,出现错误,ASCII ‘\0‘ appeared in the statement解决方法
  18. 世界各大操作系统发展史
  19. vulnhub之sherlock
  20. PhysX物理引擎入门

热门文章

  1. macd的python代码同花顺_缠论辅助同花顺Macd面积2种公式源代码
  2. 帝国理工计算机研究生录取,来了!帝国理工公布最新录取数据
  3. RStudio控制台(console)中出现少量中文乱码的解决方法
  4. 43岁老程序员的编程之路,我是如何做到退休的?龙叔真的退休了吗?
  5. 如何判断一个范围内的质数有多少个
  6. 错题本——数据库系统工程师 2017
  7. IDEA16设置提示忽律大小写
  8. lex yacc 创建一个桌面计算器
  9. Office Visio软件在工控原理图中的应用
  10. 智慧景区APP开发解决方案