MEDIA INFO 下载:

https://mediaarea.net/en/MediaInfo/Download/Windows

摘要:          整理了一些基本视音频术语,用于入门和查询使用。 H264: H264是视频的标准,是MPEG4-10,基于内容的高效编码方式. H.264/MPEG-4第10部分,或称AVC(AdvancedVideo Coding,高级视频编码),是一种视频压缩标准,一种被广泛使用的高精度视频的录制、压缩和发布格式。第一版标准的最终草案于

整理了一些基本视音频术语,用于入门和查询使用。

H264

H264是视频的标准,是MPEG4-10,基于内容的高效编码方式.

H.264/MPEG-4第10部分,或称AVC(AdvancedVideo Coding,高级视频编码),是一种视频压缩标准,一种被广泛使用的高精度视频的录制、压缩和发布格式。第一版标准的最终草案于2003年5月完成。

H.264/MPEG-4 AVC是一种面向块的基于运动补偿的编解码器标准。由ITU-T视频编码专家组与ISO/IEC联合工作组——即动态图像专家组(MPEG)——联合组成的联合视频组(JVT,Joint Video Team)开发。因ITU-T H.264标准和 ISO/IEC MPEG-4 AVC标准(正式名称是ISO/IEC 14496-10 — MPEG-4第十部分,高级视频编码)有相同的技术内容,故被共同管理。

H.264因其是蓝光盘的一种编解码标准而著名,所有蓝光盘播放器都必须能解码H.264。它也被广泛用于网络流媒体数据如Vimeo、YouTube、以及iTunes Store,网络软件如Adobe Flash Player和Microsoft Silverlight,以及各种高清晰度电视陆地广播(ATSC,ISDB-T,DVB-T或DVB-T2),线缆(DVB-C)以及卫星(DVB-S和DVB-S2)。

============================================================================================

Gop:

Group of picture.

这是视频的一个概念,简称图片组.视频序列由多个图片组组成.

============================================================================================

I/P/B-frame:

I帧,一个编码后的图像,I帧的图像编码不依赖于前向和后向编码.

P帧,是这一帧跟之前的一个关键帧(或P帧)的差别,解码时需要用之前缓存的画面叠加上本帧定义的差别,生成最终画面。

B帧,是双向差别帧,也就是B帧记录的是本帧与前后帧的差别(具体比较复杂,有4种情况),换言之,要解码B帧,不仅要取得之前的缓存画面,还要解码之后的画面,通过前后画面的与本帧数据的叠加取得最终的画面。B帧压缩率高,但是解码时CPU会比较累。

============================================================================================

Fps:

Frame Per Second,每秒钟帧率

============================================================================================

ES/PS/TS/PES:

ES: elementary stream, 用于某些硬盘播或编辑系统,如m2v.

ES--Elementary  Streams  (原始流)是直接从编码器出来的数据流,可以是编码过的视频数据流(H.264,MJPEG等),音频数据流(AAC),或其他编码数据流的统称。ES流经过PES打包器之后,被转换成PES包。

ES是只包含一种内容的数据流,如只含视频或只含音频等,打包之后的PES也是只含一种性质的ES,如只含视频ES的PES,只含音频ES的PES等。每个ES都由若干个存取单元(AU)组成,每个视频AU或音频AU都是由头部和编码数据两部分组成,1个AU相当于编码的1幅视频图像或1个音频帧,也可以说,每个AU实际上是编码数据流的显示单元,即相当于解码的1幅视频图像或1个音频帧的取样。

m2v:

是Mpg2文件的一种后缀, DVD的视频格式,不包含音频文件. MPEG-2 Video扩展名为.m2v的文件是一个视频文件。Video only (without audio) encoded using MPEG-2 compression

PS: program stream, 用于播放或编辑系统,如m2p (MPEG-2 Program Stream File).

PS--Program Stream(节目流)PS流由PS包组成,而一个PS包又由若干个PES包组成(到这里,ES经过了两层的封装)。PS包的包头中包含了同步信息与时钟恢复信息。一个PS包最多可包含具有同一时钟基准的16个视频PES包和32个音频PES包。

m2p:

为支持MPEG-2音频和视频压缩的视频容器格式,类似于MPEG-1文件,而且还支持隔行扫描视频和更多的音频通道,通常用于数字视频流。

Video containerformat that supports MPEG-2 audio and video compression; similar to an MPEG-1file, but also supports interlaced video and more audio channels; commonly usedfor streaming digital video.

M2P files aregenerally used for streaming media; standard MPEG-2 video files typically havean .MPG extension, while standard MPEG-2 audio files usually have an .MP2extension.

TS: transition stream, 主要用于数据传输,如HDV(High-definition video)机器内部记录的m2t.

TS--Transport Stream(传输流)由定长的TS包组成(188字节),而TS包是对PES包的一个重新封装(到这里,ES也经过了两层的封装)。PES包的包头信息依然存在于TS包中。

m2t:

HDV Video File扩展名为.m2t的文件是一个视频文件。

被许多高清摄像机采用的高清视频录制格式,通常被称为HDV,采用MPEG-2压缩存储在DV或MiniDV的录像带高清视频数据,支持720p的分辨率和1080i.

High-definitionvideo recording format used by many HD camcorders; commonly referred to as HDV;uses MPEG-2 compression to store HD video data on DV or MiniDV tapes; supportsresolutions of 720p and 1080i.

PES:

PES--Packetized  Elementary Streams  (分组的ES),ES形成的分组称为PES分组,是用来传递ES的一种数据结构。PES流是ES流经过PES打包器处理后形成的数据流,在这个过程中完成了将ES流分组、打包、加入包头信息等操作(对ES流的第一次打包)。PES流的基本单位是PES包。PES包由包头和payload组成。

TS流与PS流的区别:

在于TS流的包结构是固定长度的,而PS流的包结构是可变长度的。PS包由于长度是变化的,一旦丢失某一PS包的同步信息,接收机就会进入失步状态,从而导致严重的信息丢失事件。而TS码流由于采用了固定长度的包结构,当传输误码破坏了某一TS包的同步信息时,接收机可在固定的位置检测它后面包中的同步信息,从而恢复同步,避免了信息丢失。因此在信道环境较为恶劣、传输误码较高时一般采用TS码流,而在信环境较好、传输误码较低时一般采用PS码流。

在数字电视系统中,模拟视音频信号按照MPEG-2的标准,经过抽样、量化及压缩编码形成基本码流ES,基本码流ES是不分段的连续码流。

把基本码流分割成段,并加上相应的头文件打包形成的打包基本码流PES,PES包和包之间可以是不连续的。

在传输时将PES包再分段打成有固定长度188B 的传送码流TS或可变长度的节目流包(PS包)。

PES只是PS转换为TS或TS转换为PS的中间步骤或桥梁时,MPEG-2数据流互换的逻辑结构。

TS 和PS这两种码流分别适应于不同的场合应用,节目流PS适合在相对出错较少的环境下使用,其长度是变化的,而传送流TS能够把多个节目在基于一个或多个时间标识的基础上构成一个流,传送流适合于出错较多的场合下使用。

用数据包传输的优点是:网络中信息可占用不同的连接线路和简单暂存。通过数据包交织把多个数据流复用成一个新的数据流,便于解码器按照相应顺序对数据包进行灵活的整理,从而,为数据流同步和复用奠定了基础。MPEG-2的结构可分为压缩层和系统层,其中ES属于压缩层,PES和TS/PS属于系统层。 在PES层,主要是在PES包头信息中加入PTS(显示时间标签)和DTS(解码时间标签)用于视频、音频同步。

而在TS流中,TS包头加入了PCR(节目时钟参考),用于解码器的系统时钟恢复。

在节目流PS包头中加入SCR,它的作用与PCR域相似。

例子

MPEG-2对视频的压缩产生I帧、P帧、B帧。

把帧顺序I1帧-P4帧-B2帧-B3帧-P7帧-B5帧-B6帧的编码ES,通过打包并在每个帧中插入PTS/DTS标志,变成PES。在插入PTS/DTS标志时,由于在B帧PTS和DTS是相等的,所以无须在B帧多插入DTS。

而对于I帧和P帧,由于经过复用后数据包的顺序会发生变化,显示前一定要存储于视频解码器的从新排序缓存器中,经过从新排序后再显示,所以一定要同时插入 PTS和DTS作为从新排序的依据。

例如,解码器输入的图像帧顺序为I1-P4-B2-B3-P7-B5-B6,但显示时P4一定要在B2、B3之后,在 PST和DTS的指引下,经过缓存器从新排序,以从建视频帧顺序为:I1-B2-B3-P4-P7-B5-B6。

在没有B帧的情况下,I帧和P帧在编码和解码端的顺序是一致的。

将PES包再打成更小的具固定长度的TS包时在其包头位置加入了PCR和PID(包标识)。PID的值是由用户确定的,解码器根据PID把TS(多节目传输流)上不同节目的TS包区分出来,以重建原来的ES。另外,TS的包头包含一个4bit的连续计数器,连续计数器可对PID包传送顺序计数,据计数器读数,接收端可判断是否有包丢失及包传送顺序错误。所以TS的包头具有同步、识别、检错等功能。

TS单一码流、混合码流:

单一性:TS流的基本组成单位是长度为188字节的TS包。

混合性:TS流由多种数据组合而成,一个TS包中的数据可以是视频数据,音频数据,填充数据,PSI/SI表格数据等(唯一的PID对应)。

TS流由TS包组成,TS包为固定大小。

MPEG2编码端流程:

PS/TS组成:

PS/TS及标准关系:

为什么奇艺要把 iPad 客户端上的 MP4 流改为 TS 流呢?TS 相对于 MP4 有什么优势呢?

众说风云

MPEG2 Program Stream结构简单介绍:

MPEG2 Program Stream,即MPEG2-PS,与MPEG2-TS对应。MPEG2-PS是一种多路复用数字音频、视频等的封装容器。其分为MPEG-1和MPEG-2两部分。Program Stream将一个或多个分组但有共同的时间基准的基本数据流 (PES)合并成一个整体流。它是为可靠稳定的储存媒介如光盘而设计的。据传输媒体的质量不同,MPEG-2中定义了两种复合信息流:传送流(TS:TransportStream)和节目流(PS:ProgramStream)。TS流与PS流的区别在于TS流的包结构是固定长度的,而PS流的包结构是可变长度的。

PS流格式介绍

概念:

将具有共同时间基准的一个或多个PES组合(复合)而成的单一的数据流称为节目流(Program Stream)。

ES是直接从编码器出来的数据流,可以是编码过的视频数据流,音频数据流,或其他编码数据流的统称。ES流经过PES打包器之后,被转换成PES包。

……

============================================================================================

dts/cts/pts/scr/stc

pts: present time stamp

dts:decoding time stamp

cts: Composition Time Stamp

pts/dts是ES流转化成为PES流时,加入PES流头部的信息。主要是为了解决编码和呈现时的数据顺序不同所导致的问题,这个可以见ES/PS/TS章节中的例子部分。

cts

I think I have understood the CTS. it isonly for B-frames. Because B-frames may depends fowarding frames to decode, sothe CTS means when this B-frame can be decoded, usually that means all thedepended frames are received.

从上面这段注释看,cts只用于B帧,用于告诉解码端所有B帧倚赖的I,P帧都已收到。

scr:system clockreference

stc:system time clock

Mpeg-2的同步及时间恢复--STC,PCR,DTS,PTS:

|---------------------------------------------------------------|

|  TS/PS: Transport stream

|                 Packetized Stream

|    |-------------------------------------------------------

|     | PES: Packetized Elementary Stream

|     |   |-----------------------------------------------

|     |   |     ES:Elementary stream

|     |   |   |------------------------------------

|     |   |    |                                                               |     |   |    |

|     |   |    |   GOP:Group of pictures

|     |   |   |------------------------------------

|     |   |                                                                    |     |    |

|     |   |------------------------------------------------

|     |                                                                         |     |

|    |--------------------------------------------------------

|                                                                                |

|----------------------------------------------------------------|

============================================================================================

Resolution:

解析度,指空间采样率。

============================================================================================

AAC

Advanced Audio Coding

出现于1997年,基于MPEG-2的音频编码技术。由Fraunhofer IIS、杜比实验室、AT&T、Sony等公司共同开发,目的是取代MP3格式。2000年,MPEG-4标准出现后,AAC重新集成了其特性,加入了SBR技术和PS技术,为了区别于传统的MPEG-2 AAC又称为MPEG-4 AAC。

AAC编码的主要扩展名有三种:

.AAC- 使用MPEG-2 Audio Transport Stream(ADTS,参见MPEG-2)容器,区别于使用MPEG-4容器的MP4/M4A格式,属于传统的AAC编码(FAAC默认的封装,但FAAC亦可输出MPEG-4封装的AAC)

.MP4 - 使用了MPEG-4 Part 14(第14部分)的简化版即3GPP Media Release 6 Basic(3gp6,参见3GP)进行封装的AAC编码(Nero AAC编码器仅能输出MPEG-4封装的AAC);

.M4A - 为了区别纯音频MP4文件和包含视频的MP4文件而由苹果(Apple)公司使用的扩展名,Apple iTunes对纯音频MP4文件采用了".M4A"命名。M4A的本质和音频MP4相同,故音频MP4文件亦可直接更改扩展名为M4A。

作为一种高压缩比的音频压缩算法,AAC压缩比通常为18:1,也有数据说为20:1,远胜mp3;在音质方面,由于采用多声道,和使用低复杂性的描述方式,使其比几乎所有的传统编码方式在同规格的情况下更胜一筹。不过直到2006年,使用这一格式存储音乐的并不多,可以播放该格式的mp3播放器更是少之又少,目前所知仅有苹果iPod、Sony Walkman(NWZ-A、NWZ-S、NWZ-E、NWZ-X系列)、任天堂NDSi和魅族M8(微软最新推出的Windows 7附带的Windows media player12也支持aac)。此外计算机上很多音乐播放软件都支持AAC(前提是安装过AAC解码器),如苹果iTunes。但在移动电话领域,AAC的支持度已很普遍,Nokia、Sony Ericsson、Motorola等品牌均在其中高端产品中支持AAC(一开始主要是LC-AAC,随着移动电话性能的发展,HE-AAC的支持也已广泛)。

AAC可以支持多达48个音轨,15个低频(LFE)音轨,5.1多声道支持,更高的采样率(最高可达96kHz,音频CD为44.1kHz)和更高的采样精度(支持8bit、16bit、24bit、32bit,音频CD为16bit)以及有多种语言的兼容能力,更高的解码效率,一般来说,AAC可以在对比MP3文件缩小30%的前提下提供更好的音质。

============================================================================================

Audiosample rate

音频采样率

============================================================================================

Audio channels:

看起来对音频的采集在几个点同时进行,然后分别形成音轨。

按摆设理解为;

7.1声道:

1)前左主音箱。

2)前左环绕音箱。

3)前右主音箱。

4)前右环绕音箱。

5)后左环绕音箱。

6)后右环绕音箱。

7)中置音箱。

加上一个重低音音箱。

5.1声道:

1)前左主音箱。

2)前右主音箱。

3)后左环绕音箱。

4)后右环绕音箱。

5)中置音箱。

加上一个重低音音箱。

主要区别是还原三维空间声音的效果7.1好于5.1

============================================================================================

Audio bit per sample:

采样位深度

============================================================================================

5.1channels:

见Audio sample rate

============================================================================================

ABR/CBR/VBR

ABR: Average Bit Rate

CBR:  Constant Bit Rate

VBR: Variable bit rate

============================================================================================

Bitrate

比特率

在通信和计算机领域,比特率(Bit rate,变量Rbit)是单位时间内传输或处理的比特的数量。比特率经常在通信领域用作连接速度、传输速度、信道容量、最大吞吐量和数字带宽容量的同义词。

============================================================================================

音频帧

============================================================================================

Ffmpeg/X264/GPAC:

Ffmpeg为开源库,集合了各种音频,视频编解码协议。在FFmpeg中没有实现264解码,调用了X264解码。

X264是对H264编码标准的一种具体实现,是一个优秀的h264视频文件格式的编码器。

GPAC: 多媒体框架GPAC(graphics, animation and interactivity),是一个为科研和学术领域开发的多媒体的框架,支持 MPEG-4, VRML, X3D, SVG, LASeR 等 GPAC 包括一个多媒体播放器 Osmo4 以及多媒体打包工具 MP4Box。

============================================================================================

MP4:

MP4,全称MPEG-4 Part 14,是一种使用MPEG-4的多媒体电脑文件格式,扩展名为.mp4,以存储数字音频及数字视频为主。 MP4至2013年仍是各大影音分享网站所使用主流,即使他们是在网站上多加一层Flash的影音拨放接口。因为MP4可以在每分钟约4MB的压缩缩率下提供接近DVD质量的影音效果。

============================================================================================

Deinterlace:

去交错亦称“反交错”(deinterlacing)是将交错式(即隔行扫描)(interlace)影像讯号转换为渐进式(逐行扫描)(progressive)影像讯号的一种方法。

============================================================================================

RTMP:

RTMP协议是被Flash用于对象,视频,音频的传输.该协议建立在TCP协议或者轮询HTTP协议之上.

RTMP协议就像一个用来装数据包的容器,这些数据可以是AMF格式的数据,也可以是FLV中的视/音频数据.

一个单一的连接可以通过不同的通道传输多路网络流.这些通道中的包都是按照固定大小的包传输的.

FMS3(Flash Media Server)中RTMP有5种类型
          RTMP,标准类型,非加密实时消息协议。默认端口1935,如果端口没有设定,FMS将尝试用以下端口连接:443,80(RTMP),80(RTMPT)
          RTMPT,借用HTTP通道的RTMP。RTMP数据通过HTTP封装,默认端口80
          RTMPS,在SSL之上的RTMP。FMS支持基于SSL的RTMP数据输入和输出,默认端口443
          RTMPE,加密版本RTMP。RTMPE比RTMPS更快,但是不需要认证管理,只需要在Adaptor.xml中打开。打开后,RTMPE通过以下端口尝试通讯:935,443,80(RTMPE),80(RTMPTE)
          RTMPTE,基于HTTP通道传输加密的RTMPE

<Flash Media Server 4.5 的安装和使用>

<Flash Media Server 入门教程>

============================================================================================

RTSP:

即时串流协定(Real Time Streaming Protocol,RTSP)是用来控制声音或影像的多媒体串流协议,并允许同时多个串流需求控制,传输时所用的网络通讯协定并不在其定义的范围内,服务器端可以自行选择使用TCP或UDP来传送串流内容,它的语法和运作跟HTTP 1.1类似,但并不特别强调时间同步,所以比较能容忍网络延迟。而前面提到的允许同时多个串流需求控制(Multicast),除了可以降低服务器端的网络用量,更进而支持多方视讯会议(Video Conference)。

因为与HTTP1.1的运作方式相似,所以代理服务器《Proxy》的缓冲功能《Cache》也同样适用于RTSP,并因RTSP具有重新导向功能,可视实际负载情况来转换提供服务的服务器,以避免过大的负载集中于同一服务器而造成延迟。

============================================================================================

MMS:

MMS是(Multimedia Messaging Service)的缩写,中文意为多媒体短信服务,它最大的特色就是支持多媒体功能。多媒体信息使具有功能全面的内容和信息得以传递,这些信息包括图像、音频信息、视频信息、数据以及文本等多媒体信息,可以支持语音、因特网浏览、电子邮件、会议电视等多种高速数据业务,在GPRS网络的支持下,以WAP无线应用协议为载体传送视频片段、图片、声音和文字。多媒体信息业务可实现即时的手机端到端、手机终端到互联网或互联网到手机终端的多媒体信息传送。

===========================================================================================

XML:

可扩展标记语言(英语:eXtensible Markup Language,简称: XML),是一种标记语言。标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种信息的文章等。如何定义这些标记,既可以选择国际通用的标记语言,比如HTML,也可以使用像XML这样由相关人士自由决定的标记语言,这就是语言的可扩展性。XML是从标准通用标记语言(SGML)中简化修改出来的。它主要用到的有可扩展标记语言、可扩展样式语言(XSL)、XBRL和XPath等。

TinyXml

基于 DOM 的一个Xml库. 
 

============================================================================================

HTTP:

超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是互联网上应用最为广泛的一种网络协议。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。通过HTTP或者HTTPS协议请求的资源由统一资源标识符(Uniform Resource Identifiers,URI)来标识。

HTTP的发展是万维网协会(World WideWeb Consortium)和Internet工作小组(Internet Engineering Task Force)合作的结果,(他们)最终发布了一系列的RFC,其中最著名的RFC2616,定义了HTTP协议中现今广泛使用的一个版本—HTTP 1.1。

============================================================================================

HLS:

HTTPLive Streaming(缩写是 HLS)是一个由苹果公司提出的基于HTTP的流媒体网络传输协议。是苹果公司QuickTime X和iPhone软件系统的一部分。它的工作原理是把整个流分成一个个小的基于HTTP的文件来下载,每次只下载一些。当媒体流正在播放时,客户端可以选择从许多不同的备用源中以不同的速率下载同样的资源,允许流媒体会话适应不同的数据速率。在开始一个流媒体会话时,客户端会下载一个包含元数据的extended M3U (m3u8) playlist文件,用于寻找可用的媒体流。

HLS只请求基本的HTTP报文,与实时传输协议(RTP)不同,HLS可以穿过任何允许HTTP数据通过的防火墙或者代理服务器。它也很容易使用内容分发网络来传输媒体流。

苹果公司把HLS协议作为一个互联网草案(逐步提交),在第一阶段中已作为一个非正式的标准提交到IETF。但是,即使苹果偶尔地提交一些小的更新,IETF却没有关于制定此标准的有关进一步的动作。

============================================================================================

MSS:

Microsoft Smooth Stream.

基于IIS Live Smooth Streaming技术流媒体直播系统

Live Smooth Streaming的那些事儿

============================================================================================

JPG/PNG:

JPG:JPEG(发音为jay-peg,IPA:[ˈdʒeɪpɛg])是一种针对相片图像而广泛使用的一种有损压缩标准方法。这个名称代表Joint Photographic Experts Group(联合图像专家小组)。此团队创立于西元1986年,1992年发布了JPEG的标准而在1994年获得了ISO10918-1的认定。JPEG与视频音频压缩标准的MPEG(Moving Picture Experts Group)很容易混淆,但两者是不同的组织及标准。

PNG:便携式网络图形(PortableNetwork Graphics,PNG)是一种无损压缩的位图图形格式,支持索引、灰度、RGB[A]三种颜色方案以及Alpha通道等特性。PNG的开发目标是改善并取代GIF作为适合网络传输的格式而不需专利许可,所以被广泛应用于互联网及其他方面上。

PNG另一个非正式的名称来源为递归缩写:“PNGis Not GIF”

============================================================================================

H263/Mpeg4/Vp8:

H263:

H.263是由ITU-T制定的视频会议用的低码率视频编码标准,属于视频编解码器。H.263最初设计为基于H.324的系统进行传输(即基于公共交换电话网和其它基于电路交换的网络进行视频会议和视频电话)。后来发现H.263也可以成功的应用与H.323(基于RTP/IP网络的视频会议系统),H.320(基于综合业务数字网的视频会议系统),RTSP(流式媒体传输系统)和SIP(基于因特网的视频会议)。

基于之前的视频编码国际标准(H.261,MPEG-1和H.262/MPEG-2),H.263的性能有了革命性的提高。它的第一版于1995年完成,在所有码率下都优于之前的H.261。之后还有在1998年增加了新的功能的第二版H.263+,或者叫H.263v2,以及在2000年完成的第三版H.263++,即H.263v3。早期的H.263 新增以下的附加(annexes):

Annex A - Inverse transform accuracyspecification

Annex B - Hypothetical Reference Decoder

Annex C - Considerations for Multipoint

Annex D - Unrestricted Motion Vector mode

Annex E - Syntax-based Arithmetic Codingmode

Annex F - Advanced Prediction mode

Annex G - PB-frames mode

Annex H - Forward Error Correction forcoded video signal

在H.263之后,ITU-T(在与MPEG的合作下)的下一代视频编解码器是H.264,或者叫AVC以及MPEG-4第10部分。由于H.264在性能上超越了H.263很多,现在通常认为H.263是一个过时的标准(虽然它的开发完成并不是很久以前的事情)。大多数新的视频会议产品都已经支持了H.264视频编解码器,就像以前支持H.263和H.261一样。

MPEG-4:

MPEG-4是一套用于音频、视频信息的压缩编码标准,由国际标准化组织(ISO)和国际电工委员会(IEC)下属的“动态图像专家组”(Moving Picture Experts Group,即MPEG)制定,第一版在1998年10月通过,第二版在1999年12月通过。MPEG-4格式的主要用途在于网上流、光盘、语音传送(视频电话),以及电视广播。

MPEG-4包含了MPEG-1及MPEG-2的绝大部份功能及其他格式的长处,并加入及扩充对虚拟现实模型语言(VRML,Virtual Reality Modeling Language)的支持,面向对象的合成文件(包括音效,视频及VRML对象),以及数字版权管理(DRM)及其他交互功能。而MPEG-4比MPEG-2更先进的其中一个特点,就是不再使用宏区块做图像分析,而是以图像上个体为变化记录,因此尽管图像变化速度很快、码率不足时,也不会出现方块画面。

由于MPEG-4是一个公开的平台,各公司、机构均可以根据MPEG-4标准开发不同的制式,因此市场上出现了很多基于MPEG-4技术的视频格式,例如WMV 9、Quick Time、DivX、Xvid等。MPEG-4大部份功能都留待开发者决定采用是否。这意味着整个格式的功能不一定被某个程序所完全函括。因此,这个格式有所谓配置(profile)及级别(level),定义了MPEG-4应用于不同平台时的功能集合。

VP8:

VP8是一个开放的图像压缩格式,最早由On2Technologies开发,随后由Google发布。同时Google也发布了VP8编码的实做库:libvpx,以BSD授权条款的方式发布,随后也附加了专利使用权。而在经过一些争论之后,最终VP8的授权确认为一个开放源代码授权。

目前支持VP8的网页浏览器有Opera、Firefox和Chrome。

和H.264的比较

H.264是目前使用最多的网络图像编码格式,因此最常拿来和VP8做比较。

H.264的编码技术包含专利(由MPEG-LA提供授权),而且在硬件上使用需要取得授权,VP8则不需要。即使有Google的背书,但VP8仍然很难避过所有的专利,其下场可能跟VC-1如出一辙。管理H.264专利池的MPEG LA声称有12家公司持有Google VP8的相关专利。[38]美国MPEG LA表示:“创建VP8专利池的相关准备正在进行”。[39][40] 2013年三月,Google与MPEG LA及11个专利持有者达成协议,让Google取得VP8以及其之前的VPx等编码所可能侵犯的专利授权,同时Google也可以无偿再次授权相关专利给VP8的用户,此协议同时适用于下一代VPx编码。至此MPEG LA放弃成立VP8专利集中授权联盟,VP8的用户将可确定无偿使用此编码而无须担心可能的专利侵权授权金的问题。[41]

根据MSU Graphics & Media Lab在2011年5月的测试,VP8需要约213%的数据量,才能达到和H.264相同的图像质量 [42]。

x264的开发者之一:JasonGarrett-Glaser,给了一些针对VP8的评论,他认为VP8目前并没有实现真正的比特流规范,而且在一些编码的技术上有所欠缺[43][44]。

============================================================================================

PSNR/SNR:

PSNR :Peak Signal to Noise Ratio,峰值信噪比

SNR:Signal to Noise Ratio,信噪比

客观视频评估技术是一些与主观质量评估结果相近的数学模型,但是它们通常由计算机按照一定的标准与指标自动完成。评价的方法大致是将原视频(高品质、一般不被压缩)与处理后的视频进行分类对比。分类对比分为三种:全参考(FR)、部分参考(RR)、无参考(NR)。全参考比较处理前后的两段视频每个像素的差别,部分参考提取两段视频的一些特性,并依此给予它们评分。以上两种方法通常在原视频可用时使用,如在有限的带宽下。无参考则试图在没有任何原视频的参考下进行评估,通常在视频编码方法已知时使用。

当然,最传统的方法是计算两段视频信噪比(SNR)与峰值信噪比(PSNR)的差异。 PSNR是使用最广泛的客观视频质量的度量方法,但由于人类视觉系统的非线性,因此PSNR值与人眼感受到的视频质量仍有较大出入。近来一些更复杂、更精确的一些指标被指定, 比如UQI、VQM、PEVQ、结构相似性(SSIM)、VQuad-HD与CZD。

============================================================================================

MP3/MP2:

MP3:

动态图像专家组-1或动态图像专家组-2 音频层III(MPEG-1 orMPEG-2 Audio Layer III),经常称为MP3,是当今相当流行的一种数字音频编码和有损压缩格式,它被设计来大幅降低音频数据量,而对于大多数用户的听觉感受来说,重放的音质与最初的不压缩音频相比没有明显的下降。它是在1991年,由位于德国埃尔朗根的研究组织Fraunhofer-Gesellschaft的一组工程师发明和标准化的。 MP3的普及,曾对音乐产业造成极大的冲击与影响。

MP3是一个数据压缩格式。它舍弃脉冲编码调制(PCM)音频数据中,对人类听觉不重要的数据(类似于JPEG是一个有损图像压缩),从而达到了压缩成小得多的文件大小。

在MP3中使用了许多技术,其中包括心理声学,以确定音频的哪一部分可以丢弃。MP3音频可以按照不同的比特率进行压缩,提供了权衡数据大小和音质之间的依据。

MP3格式使用了混合的转换机制将时域信号转换成频域信号:

32波段多相积分滤波器(PQF)

36或者12 tap 改良离散余弦滤波器(MDCT);每个子波段大小可以在0...1和2...31之间独立选择

混叠衰减后处理

根据MPEG规范的说法,尽管有许多创造和推广其他格式的重要努力,MPEG-4标准中的AAC(Advanced Audio Coding)将是MP3格式的接棒者。然而,由于MP3的空前的流通,在目前来说,其他格式并未能威胁其地位。MP3不仅有广泛的用户端软体支持,也有很多的硬件支持,比如便携式数位音频播放器(泛指MP3播放器)、DVD和CD播放器。

MP2:

MPEG-1 Audio Layer II(有时简称MP2)是ISO/IEC11172-3(MPEG-1音频部份)中订立之有损性音频压缩格式。此标准还制订了MPEG-1 Audio Layer I(MP1)和MPEG-1 Audio Layer III(MP3)。个人电脑和互联网音乐流行MP3,MP2则多用于广播。

============================================================================================

M3U/M3U8

m3u:

M3U本质上说不是音频文件,它是音频文件的列表文件。你下载下来打开它,播放软件并不是播放它,而是根据它的记录找到 网络地址进行在线播放。M3U文件的大小很小,也就是因为它里面没有任何音频数据。把M3U文件直接转换为音频文件是不可能的,除非你把它指向的音频文件下载下来再作处理…… 
m3u格式的文件只是一个目录文件,提供了一个指向其他位置的音频视频文件的索引,你播放的还是那些被指向的文件,用 记事本打开m3u文件可以查看所指向文件的地址及文件的属性,以选用合适播放器播放。

分析优酷/土豆/pptv/乐视 HTML5、m3u8地址

M3U8格式讲解及实际应用分析

============================================================================================

FAAC/FAAD:

FAAC(FreewareAdvanced Audio Coder):FAAC is an MPEG-4 and MPEG-2 AAC encoder。

FAAD(Freeware Advanced Audio Decoder):an AAC audio decoder, superseded by new version: FAAD2

============================================================================================

GAPC:

 
============================================================================================
 
 

YUV420/422:

============================================================================================

RGB565/888:

============================================================================================

RGBA:

RGBA是代表Red(红色)Green(绿色)Blue(蓝色)和Alpha的色彩空间。虽然它有的时候被描述为一个颜色空间,但是它其实仅仅是RGB模型的附加了额外的信息。采用的颜色是RGB,可以属于任何一种RGB颜色空间,但是Catmull和Smith在1971至1972年间提出了这个不可或缺的alpha数值,使得alpha渲染和alpha合成变得可能。提出者以alpha来命名是源于经典的线性插值方程αA + (1-α)B所用的就是这个希腊字母。

alpha通道一般用作不透明度参数。如果一个像素的alpha通道数值为0%,那它就是完全透明的(也就是看不见的),而数值为100%则意味着一个完全不透明的像素(传统的数字图像)。在0%和100%之间的值则使得像素可以透过背景显示出来,就像透过玻璃(半透明性),这种效果是简单的二元透明性(透明或不透明)做不到的。它使数码合成变得容易。alpha通道值可以用百分比、整数或者像RGB参数那样用0到1的实数表示。

有时它也被写成ARGB(像RGBA一样,但是第一个数据是alpha),是Macromedia的产品使用的术语。比如,0x80FFFF00是50%透明的黄色,因为所有的参数都在0到255的范围内表示。0x80是128,大约是255的一半。

PNG是一种使用RGBA的图像格式。

============================================================================================

PCM:

脉冲编码调制(英文:Pulse-code modulation,缩写:PCM)是一种模拟信号的数码化方法。PCM将信号的强度依照同样的间距分成数段,然后用独特的数码记号(通常是二进制)来量化。PCM常被用于数码电信系统上,也是电脑和红皮书中的标准形式。在数码视频中它也是标准,例如使用 ITU-R BT.601。但是PCM并不流行于诸如DVD或DVR的消费性商品上,因为它需要相当大的比特率(DVD格式虽然支持PCM,不过很少使用);与之相较,压缩过的音频较符合效率。不过,许多蓝光光盘使用PCM作音频编码。非常频繁地,PCM编码以一种串行通信的形式,使数码传讯由一点至下一点变得更容易——不论在已给定的系统内,或物理位置。

============================================================================================

Logo:

图标

============================================================================================

Subtitle:

字幕

============================================================================================

Closed caption:

CC字幕者,隐藏式字幕。其实多数CC字幕和剧本是一样的,里面除了对白之外,还有现时场景的声音和配乐等信息,之所以做CC字幕,在国外主要是为了方便有听力障碍的残障人士。在普通的电视机上是无法看见CC字幕的,而在电脑上是可以看见的。

Closed Captions (CC)是把文字加入NTSC电视信号的一种标准化编码方法.电视机的内置解码器或独立解码器能显示文字.1993年以后美国出售的大于13英寸的电视机都有 Closed Caption 解码器. Closed Captions可以用在 DVD, 录象带, 广播电视, 电缆电视,等等.

单词 caption 和 subtitle 意思很接近, captions通常是指特别设计的屏幕文字,而 subtitles 通常是指对话翻译. 通常Captions出现在说话人物的下方,包含声音和音乐描述.除非使用者激活Closed captions,否则它们不会显示出来. Open captions总是可见的,比如外国录象带上的字幕.

DVD上的Closed Captions由 MPEG-2 视频流携带,并且自动传送到电视机上.你无法使用DVD播放机来打开或关闭ClosedCaptions. Subtitles是 DVD上的子图象, 也就是全屏幕叠盖图形 (参阅 3.4 的技术细节). 可以打开32个子图象轨道中的一个,以便在视频顶部显示文字或图形. 子图象也可用来创建captions. 为了区分NTSC Closed Captions和subtitles,由子图象建立的 captions通常被称为 'captions for the hearing impaired.'

如果你依然觉得混淆, 只要记住这个建议:  要看 ClosedCaptions, 使用电视遥控器上的 CC按钮.  要看 subtitles或 captionsfor the hearing impaired, 使用DVD遥控器上的 subtitle按钮,或使用盘片提供的屏幕菜单.不要同时打开它们.记住并非所有DVD盘片有 Closed Captions 或字幕.

============================================================================================

High/Main/Baseline profiles:

H264的概念

============================================================================================

WMV/WMA/FLV:

WMV:

WMV(WindowsMedia Video)是微软公司开发的一组数字视频编解码格式的通称,它是Windows Media架构下的一部分。

它最初是为低速率流媒体应用作为专有编解码开发出来的,但是2003年微软公司基于Windows Media Video第9版编解码起草了视频编解码规范并且提交给SMPTE申请作为标准。这个标准在2006年3月作为SMPTE 421M被正式批准,这样Windows Media Video 9编解码就不再是一个专有的技术。早期的编解码版本(7和8)仍然被认为是专有技术,因为它们不在SMPTE 421M标准的涵盖范围内。

WMV不是仅仅基于微软公司的自有技术开发的。从第七版(WMV1)开始,微软公司开始使用它自己非标准MPEG-4 Part 2。但是,由于WMV第九版已经是SMPTE的一个独立标准(421M,也称为VC-1),有理由相信WMV的发展已经不像MPEG-4那样是一个它自己专有的编解码技术。现在VC-1专利共享的企业有16家(2006年4月),微软公司也是MPEG-4 AVC/H.264专利共享企业中的一家。

WMV可以使用如MPlayer或者WindowsMedia Player这样的播放器播放,Windows Media Player只能在微软视窗和Macintosh系统上使用。有许多用于如Linux这样不同平台上的使用FFmpeg实现WMV编解码的第三方播放器。

视频流通常与Windows Media Audio音频流组合在一起并且使用扩展名为.wmv或者.asf的Advanced Streaming Format的文件进行封装。WMV通常使用AdvancedStreaming Format(ASF)封装,它也可以使用AVI或者Matroska格式封装。如果是AVI封装的文件结果文件可以是.avi,如果是ASF封装的话则是.wmv或者.asf,如果是MKV封装的话则是.mkv。

当使用VirtualDub编码器编码和WMV9 VCM编解码实现的时候WMV可以存储在AVI文件中。用于Mac的微软公司媒体播放器不支持所有的WMV编码的文件,因为它只支持ASF文件封装,Flip4Mac和QuickTime或者用于MacOSX的MPlayer可以播放更多的文件。

当使用ASF文件格式封装的时候,WMV能够支持用于保护知识产权的数字版权管理(DRM)工具。

WMA:

WMA(WindowsMedia Audio)是微软公司开发的一种数字音频压缩格式。一些使用Windows Media Audio编码格式编码其所有内容的纯音频ASF文件也使用WMA作为扩展名。

WMA格式最初为微软公司私有,但是随着苹果公司的iTunes对它的支持,这个格式正在成为MP3格式的竞争对手之一。它兼容MP3的ID3元数据标签,同时支持额外的标签。

另外,一般情况下相同音质的WMA和MP3音频,前者文件体积较小;“Windows Media Audio Professional”可以存储5.1甚至7.1声道的音乐,而且音质可媲美DolbyDigital(杜比数字)。

WMA可以用于多种格式的编码文件中。应用程序可以使用Windows Media Format SDK进行WMA格式的编码和解码。一些常见的支持WMA的应用程序包括Windows Media Player、Windows Media Encoder、RealPlayer、Winamp等等。其它一些平台,例如Linux和移动设备中的软硬件也支持此格式。

FLV:

Flash Video(简称FLV),是一种流行的网络视频格式。随着视频网站的丰富,这个格式已经非常普及。

FLV流媒体格式是一种新的视频格式,它的出现有效地解决了视频文件导入Flash后,使导出的SWF文件体积庞大,不能在网络上有效使用等缺点。

一般FLV文件包在SWF PLAYER 的壳里,并且FLV可以很好的保护原始地址,不容易被下载到,从而起到保护版权的作用。但还是有些视频格式转换软件将FLV转成一般的视频格式,如中国的软件格式工厂。

目前YouTube、NICONICO动画、Google Video、Yahoo! Video、MySpace,以及中国的优酷、酷6等大部分视频分享网站均采用这个格式。

============================================================================================

AVI/ASF

AVI:

AVI是英语AudioVideo Interleave(“音频视频交织”或译为“音频视频交错”)的首字母缩写,由微软在1992年11月推出的一种多媒体文件格式,用于对抗苹果Quicktime的技术。现在所说的AVI多是指一种封装格式。

尽管AVI已经属于老旧的技术,但是由于Windows的通用性,和简单易懂的开发API,还在被广泛使用。

AVI的文件结构、分为“头部”,“主体”和“索引”三部分。主体中图像数据和声音数据是交互存放的。从尾部的索引可以索引跳到自己想放的位置。

AVI将视频和音频封装在一个文件里,其顺序是:若干视频帧(Video Frame)之后接着若干音频帧(Audio Frame),再然后是视频帧、音频帧,故名为“音频视频交织”,意即音频和视频按帧交错排列,以此达到音频同步于视频播放的效果。和DVD视频格式一样,AVI文件支持多视频流和音频流,虽然这些功能很少使用。大多数AVI文件还支持由Matrox OpenDML集团于1996年2月开发的格式后缀。这些文件非正式的称为“AVI 2.0”,并得到微软的支持。

AVI本身只是提供了这么一个框架,内部的图像数据和声音顺据格式可以是任意的编码形式。但是由于索引放在了文件尾部,所以在播放internet流媒体时已属力不从心。

ASF:

ASF是(AdvancedStreamingFormat高级串流格式)的缩写,是微软公司针对real公司开发的新一代网上流式数字音频压缩技术,是Microsoft为Windows98所开发的串流多媒体文件格式。ASF是微软公司WindowsMedia的核心。这是一种包含音频、视频、图像以及控制命令脚本的数据格式。可和WMA及WMV互换使用。ASF是一个可扩展的文件格式用来存储多媒体数据同步。它支持的数据传输了各种各样的网络和协议同时还证明适合当地播放。在明确目标的ASF是提供一个基础,全行业的多媒体互操作性。每个格式的文件是由一个或多个媒体流。该文件头指定的内容整个文件,连同流的具体内容。多媒体数据,储存后的文件头,特别提到媒体流编号,以表明其类型和目的。提供和介绍的所有媒体流数据同步到一个共同的时间线。

ASF是一个开放标准,它能依靠多种协议在多种网络环境下支持数据的传送。同JPG、MPG文件一样,ASF文件也是一种文件类型,但它是专为在IP网上传送有同步关系的多媒体数据而设计的,所以ASF格式的信息特别适合在IP网上传输。ASF文件的内容既可以是熟悉的普通文件,也可以是一个由编码设备实时生成的连续的数据流,所以ASF既可以传送人们事先录制好的节目,也可以传送实时产生的节目。

ASF用于排列、组织、同步多媒体数据以利于通过网络传输。ASF是一种数据格式,它也可用于指定实况演示。ASF最适于通过网络发送多媒体流,也同样适于在本地播放。任何压缩/解压缩运算法则(编解码器)都可用来编码ASF流。

WindowsMediaService的核心是ASF。ASF是一种数据格式,音频、视频、图像以及控制命令脚本等多媒体信息通过这种格式,以网络数据包的形式传输,实现流式多媒体内容发布。其中,在网络上传输的内容就称为ASFStream。ASF支持任意的压缩/解压缩编码方式,并可以使用任何一种底层网络传输协议,具有很大的灵活性。

MicrosoftMediaplayer是能播放几乎所有多媒体文件的播放器,支持ASF在Internet网上的流文件格式,可以一边下载一边实时播放,无需下载完再听。ASF文件本地或网络回放;可扩充的媒体类型;部件下载、可伸缩的媒体类型;流的优先级化;多语言支持、环境独立性;丰富的流间关系以及扩展性等。

======================================================================================

CDS网络

CDN的全称是Content Delivery Network,即内容分发网络。其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络"边缘",使用户可以就近取得所需的内容,解决Internet网络拥塞状况,提高用户访问网站的响应速度。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因,解决用户访问网站的响应速度慢的根本原因。
  狭义地讲,内容分发布网络(CDN)是一种新型的网络构建方式,它是为能在传统的IP网发布宽带丰富媒体而特别优化的网络覆盖层;而从广义的角度,CDN代表了一种基于质量与秩序的网络服务模式。简单地说,内容发布网络(CDN)是一个经策略性部署的整体系统,包括分布式存储、负载均衡、网络请求的重定向和内容管理4个要件,而内容管理和全局的网络流量管理(Traffic Management)是CDN的核心所在。通过用户就近性和服务器负载的判断,CDN确保内容以一种极为高效的方式为用户的请求提供服务。总的来说,内容服务基于缓存服务器,也称作代理缓存(Surrogate),它位于网络的边缘,距用户仅有"一跳"(Single Hop)之遥。同时,代理缓存是内容提供商源服务器(通常位于CDN服务提供商的数据中心)的一个透明镜像。这样的架构使得CDN服务提供商能够代表他们客户,即内容供应商,向最终用户提供尽可能好的体验,而这些用户是不能容忍请求响应时间有任何延迟的。据统计,采用CDN技术,能处理整个网站页面的70%~95%的内容访问量,减轻服务器的压力,提升了网站的性能和可扩展性。
  与目前现有的内容发布模式相比较,CDN强调了网络在内容发布中的重要性。通过引入主动的内容管理层的和全局负载均衡,CDN从根本上区别于传统的内容发布模式。在传统的内容发布模式中,内容的发布由ICP的应用服务器完成,而网络只表现为一个透明的数据传输通道,这种透明性表现在网络的质量保证仅仅停留在数据包的层面,而不能根据内容对象的不同区分服务质量。此外,由于IP网的"尽力而为"的特性使得其质量保证是依靠在用户和应用服务器之间端到端地提供充分的、远大于实际所需的带宽通量来实现的。在这样的内容发布模式下,不仅大量宝贵的骨干带宽被占用,同时ICP的应用服务器的负载也变得非常重,而且不可预计。当发生一些热点事件和出现浪涌流量时,会产生局部热点效应,从而使应用服务器过载退出服务。这种基于中心的应用服务器的内容发布模式的另外一个缺陷在于个性化服务的缺失和对宽带服务价值链的扭曲,内容提供商承担了他们不该干也干不好的内容发布服务。

======================================================================================

DTV

Digital Television:数字电视

======================================================================================

FFMEG:

东哥的博文 《FFMPEG SDK 开发介绍》

FFMepg转项

视音频编解码基本术语及解释&MediaInfo的更多相关文章

  1. [转]FFMPEG视音频编解码零基础学习方法

    在CSDN上的这一段日子,接触到了很多同行业的人,尤其是使用FFMPEG进行视音频编解码的人,有的已经是有多年经验的“大神”,有的是刚开始学习的初学者.在和大家探讨的过程中,我忽然发现了一个问题:在“ ...

  2. [总结]FFMPEG视音频编解码零基础学习方法--转

    ffmpeg编解码学习   目录(?)[-] ffmpeg程序的使用ffmpegexeffplayexeffprobeexe 1 ffmpegexe 2 ffplayexe 3 ffprobeexe ...

  3. FFMPEG视音频编解码零基础学习方法

    在CSDN上的这一段日子,接触到了很多同行业的人,尤其是使用FFMPEG进行视音频编解码的人,有的已经是有多年经验的“大神”,有的是刚开始学习的初学者.在和大家探讨的过程中,我忽然发现了一个问题:在“ ...

  4. FFMPEG视音频编解码零基础学习方法-b

    感谢大神分享,虽然现在还看不懂,留着大家一起看啦 PS:有不少人不清楚“FFmpeg”应该怎么读.它读作“ef ef em peg” 0. 背景知识 本章主要介绍一下FFMPEG都用在了哪里(在这里仅 ...

  5. [总结]FFMPEG视音频编解码零基础学习方法

    在CSDN上的这一段日子,接触到了很多同行业的人,尤其是使用FFMPEG进行视音频编解码的人,有的已经是有多年经验的“大神”,有的是刚开始学习的初学者.在和大家探讨的过程中,我忽然发现了一个问题:在“ ...

  6. 【转】[总结]FFMPEG视音频编解码零基础学习方法

    在CSDN上的这一段日子,接触到了很多同行业的人,尤其是使用FFMPEG进行视音频编解码的人,有的已经是有多年经验的“大神”,有的是刚开始学习的初学者.在和大家探讨的过程中,我忽然发现了一个问题:在“ ...

  7. FFMPEG视音频编解码零基础学习方法 【荐】

    在CSDN上的这一段日子,接触到了很多同行业的人,尤其是使用FFMPEG进行视音频 编解码的人,有的已经是有多年经验的“大神”,有的是刚开始学习的初学者.在和大家探讨的过程中,我忽然发现了一个问题:在 ...

  8. [转载] FFMPEG视音频编解码零基础学习方法

    在CSDN上的这一段日子,接触到了很多同行业的人,尤其是使用FFMPEG进行视音频编解码的人,有的已经是有多年经验的“大神”,有的是刚开始学习的初学者.在和大家探讨的过程中,我忽然发现了一个问题:在“ ...

  9. 转[总结]FFMPEG视音频编解码零基础学习方法 .

    http://blog.csdn.net/leixiaohua1020/article/details/15811977 在CSDN上的这一段日子,接触到了很多同行业的人,尤其是使用FFMPEG进行视 ...

随机推荐

  1. Codeforces603E - Pastoral Oddities

    Portal Description 初始时有\(n(n\leq10^5)\)个孤立的点,依次向图中加入\(m(m\leq3\times10^5)\)条带权无向边.使得图中每个点的度数均为奇数的边集是 ...

  2. js编程习惯

    1. JS代码中,相同的代码使用成员变量定义. 2. JS中对空值的判断,如if(str == null || str == undefined || str == ‘’){  XXX  } 可以直接 ...

  3. ACM-ICPC 2018 徐州赛区网络预赛 D 杜教筛 前缀和

    链接 https://nanti.jisuanke.com/t/31456 参考题解  https://blog.csdn.net/ftx456789/article/details/82590044 ...

  4. 有向图欧拉回路个数 BEST定理

    有向图欧拉回路个数 BZOJ 3659 但是没有这道题了  直接贴一个别人的板子吧 欧拉回路:存在一条路径经过所有的边刚好1次 有向图欧拉回路存在充要条件:①图连通:②对于所有点都满足出度=入度 BE ...

  5. delphi 的结构体对齐关键字

    Align fields (Delphi)   Go Up to Delphi Compiler Directives (List) Index Type Switch Syntax {$A+}, { ...

  6. Linux 的 Socket IO 模型

    前言 之前有看到用很幽默的方式讲解Windows的socket IO模型,借用这个故事,讲解下linux的socket IO模型: 老陈有一个在外地工作的女儿,不能经常回来,老陈和她通过信件联系. 他 ...

  7. 微信小程序之 SideBar(侧栏分类)

    项目目录: 模拟数据: utils / data.js function getSData() { var data = [ { "id": 1, "tree" ...

  8. 有两个字符串a,b。假设a="ab",b="cd",判断字符串c="acbd"是属于a、b的组合。满足组合后a、b的内部顺序均不变。

    #include<iostream> #include<string> using namespace std; int check(string a,string b,str ...

  9. Mongodb for PHP教程之入门安装

    简介: MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据 ...

  10. Opengl ES 1.x NDK实例开发之七:旋转的纹理立方体

    开发框架介绍请參见:Opengl ES NDK实例开发之中的一个:搭建开发框架 本章在第六章(Opengl ES 1.x NDK实例开发之六:纹理贴图)的基础上绘制一个旋转的纹理立方体,原理和纹理贴图 ...