1.Linux进程和线程的基础与管理
2.怎样分析linux的性能指标
3.什么是PSOS
4..rul后缀名解释
5.FFmpeg学习(一)开篇
Linux进程和线程的基础与管理
一.进程的基本概念程序是为了完成某种任务而设计的软件,比如vi是程序。什么是进程呢? 进程就是运行中的程序。一个运行着程序,可能有多个进程。比如Web服务器是阿里云源码遭泄露Apache服务器,当管理员启动服务后,可能会有好多人来访问,也就是说许多用户同时请求municate with the portmapper on host '...'.
RPC: RPC call failed.
RPC-TCP: recv()/recvfrom() failed.
RPC-TCP: Timeout reached. (entry point: CFactory::Initialize). [MsgId: MMSG-]
检查原因,发现是
Linux
系统中的防火墙开启了并且阻挡了
LoadRunner
监控
Linux
系统的资源,
因此要将防火墙关闭。
关闭防火墙:
[root@localhost ~]# /etc/init.d/iptables stop;
三、监控
UNIX
lr
监控
UNIX
UNIX
先启动一
rstatd
服务
以下是在
IBM AIX
系统中启动
rstatd
服务的方法:
1
.使用
telnet
以
root
用户的身份登录入
AIX
系统
2
.在命令行提示符下输入:
vi /etc/inetd.conf
3
.查找
rstatd
,找到
#rstatd
sunrpc_udp
udp
wait
root /usr/sbin/rpc.rstatd rstatd 1-3
4
、将
#
去掉
5
、
:wq
保存修改结果
6
、命令提示符下输入:
refresh
–
s inetd
重新启动服务。
这样使用
loadrunner
就可以监视
AIX
系统的性能情况了。
注:在
HP UNIX
系统上编辑完
inetd.conf
后,重启
inetd
服务需要输入
inetd -c
UNIX
上也可以用
rup
命令查看
rstatd
程序是否被配置并激活
若
rstatd
程序已经运行,
重启时,
先查看进程
ps -ef |grep inet
然后杀掉进程,
再
refresh
–
s inetd
进行重启。
什么是PSOS
pSOS系统结构
pSOS是一个由标准软组件组成的,可剪裁的实时操作系统。其系统结构如图2.1所示
,它分为内核层、系统服务层、用户层。
1. 内核层
pSOS内核负责任务的管理与调度、任务间通信、内存管理、实时时钟管理、中断服
务;可以动态生成或删除任务、内存区、消息队列、信号灯等系统对象;实现了基于优
先级的文档分享 源码、选择可抢占的任务调度算法,并提供了可选的时间片轮转调度。pSOS Kernel还
提供了任务建间通信机制及同步、互斥手段,如消息、信号灯、事件、异步信号等。
pSOS操作系统在Kernel层中将与具体硬件有关的操作放在一个模块中,对系统服务层
以上屏蔽了具体的硬件特性,从而使得pSOS很方便地从支持Intel x系列转到支持MC
XXX系列,并且在系统服务层上对不同应用系统不同用户提供标准的软组件如PNA+、
PHILE+等。
2. 系统服务层
pSOS系统服务层包括PNA+、PRPC+、PHILE+等组件。PNA+实现了完整的基于流的TCP
/IP协议集,并具有良好的实时性能,网络组件内中断屏蔽时间不大于内核模块中断屏蔽时
间。PRPC+提供了远程调用库,支持用户建立一个分布式应用系统。PHILE+提供了文件系
统管理和对块存储设备的管理。PREPC+提供了标准的C、C++库,支持用户使用C、C++语言
编写应用程序。
由于pSOS内核屏蔽了具体的硬件特性,因此,pSOS系统服务层的软组件是标准的、与
硬件无关的。这意味着pSOS各种版本,无论是对X系列还是MCXXX系列,其系统服务
层各组件是标准的、同一的,这减少了软件维护工作,增强了软件可移植性。
每个软组件都包含一系列的系统调用。对用户而言,这些系统调用就象一个个可重入
的C函数,然而它们却是用户进入pSOS内核的唯一手段。
3. 用户层
用户指的是用户编写的应用程序,它们是以任务的形式出现的。任务通过发系统调
用而进入pSOS内核,并为pSOS内核所管理和调度。
pSOS为用户还提供了一个集成式的开发环境(IDE)。pSOS_IDE可驻留于UNIX或DOS
环境下,它包括C和C++优化编译器、CPU和pSOS模拟仿真和DEBUG功能。
pSOS内核机制
§3.1 几个基本概念
3.1.1 任务
在实时操作系统中,任务是参与资源竞争(如CPU、Memory、预约asp源码I/O devices等)
的基本单位。pSOS为每个任务构造了一个虚拟的、隔离的环境,从而在概念上,一个任务
与另一个任务之间可以相互并行、独立地执行。任务与任务之间的切换、任务之间的通
信都是通过发系统调用(在有些情况下是通过ISR)进入pSOS Kernel,由pSOS Kernel完
成的。
pSOS系统中任务包括系统任务和用户任务两类。关于用户任务的划分并没有一个固
定的法则,但很明显,划分太多将导致任务间的切换过于频繁,系统开销太大,划分太少又
会导致实时性和并行性下降,从而影响系统的效率。一般说来,功能模块A与功能模块B是
分开为两个任务还是合为一个任务可以从是否具有时间相关性、优先性、逻辑特性和功
能耦合等几个方面考虑。
3.1.2 优先级
每个任务都有一个优先级。pSOS系统支持0~级优先级,0级最低,级最高。0级
专为IDLE任务所有,~级为系统所用。在运行时,任务(包括系统任务)的优先级
可以通过t_setpri系统调用改变。
3.1.3 任务状态
pSOS下任务具有三种可能状态并处于这三个状态之一。只有通过任务本身或其他任
务、ISR对pSOS内核所作的系统调用才能改变任务状态。从宏观角度看,一个多任务应用
通过一系列到pSOS的系统调用迫使pSOS内核改变受影响任务而从运行一个任务到运行另
一任务向前发展的。
对于pSOS kernel,任务在创建前或被删除后是不存在的。被创建的任务在能够运行
前必须被启动。一旦启动后,一个任务通常处于下面三个状态之一:
①Executing (Ready)就绪
②Running运行
③Blocked阻塞
就绪任务是未被阻塞可运行的,只等待高优先级任务释放CPU的任务。由于一个任务
只能由正运行的任务通过调用来被启动,而且任何时刻只能有一个正在运行的任务,所
以新任务总是从就绪态开始。
运行态任务是正在使用CPU的就绪任务, 系统只能有一个running任务。一般runni
ng任务是所有就绪任务中优先级最高的,但也有例外。开源 论坛 源码
任务是由自身特定活动而变为阻塞的,通常是系统调用引起调用任务进入等待状态
的。所以任务不可能从ready态到blocked态,因为只有运行任务才能执行系统调用。
3.1.4 任务控制块
任务控制块TCB是pSOS内核建立并维护的一个系统数据结构,它包含了pSOS Kernel调
度与管理任务所需的一切信息,如任务名、优先级、剩余时间片数、当前寄存器状态等。
在有的RTOS中,任务的状态与任务TCB所处的队列是等同的。pSOS操作系统将二者分
为两个概念,例如任务处于阻塞状态,但它的TCB却处于消息等待队列、信号灯等待队列、
内存等待队列、超时队列之一。
pSOS启动时,将根据Configuration Table中的参数kc_ntask建立一个包含kc_ntask
个TCB块的TCB池,它表示最大并行任务数。在创建一个任务时,分配一个TCB给该任务,在
撤销一个任务时,该TCB将被收回。
3.1.5 对象、对象名及ID号
pSOS Kernel是一个面向对象的操作系统内核,pSOS系统中对象包括任务、memory
regions、memory partitions、消息队列和信号灯。
对象名由用户定义(4位ASCII字符),并且在该对象创建时作为系统调用obj_CREAT
E
的一个人口参数传给pSOS Kernel。pSOS Kernel反过来赋予该对象一个唯一的位ID号
。除obj_CREATE和obj_IDENT外,所有涉及对象的系统调用都要用到对象ID号。
创建对象的任务通过obj_CREATE就已经知道了该对象的ID号,其余任务可通过obj_
IDENT或通过全局变量(如果已经为该任务的ID号建立了一个全局变量的话)获取该对象
的ID号。对象ID号隐含了该对象控制块(如TCB、QCB)的位置信息,这一位置信息被pSO
S
Kernel用于对该对象的管理和操作,如挂起/解挂一个任务、删除一个消息队列等。
3.1.6 任务模式字Mode word.
每个任务带有一个mode word,用来改变调度决策或执行环境。主要有以下四个参
数
Preemption Enabled/Disabled.
Roundrobin Enabled/Disabled
Interupts Enabled/Disabled.
ASR Enabled/Disabled: 每个任务有一个通过as-catoh建立起来的异步信号服务例
程ASR。异步信号类似于软件中断。当ASR位为1时as-catch所指向的任务将会被改变执行
路径,先执行ASR,再返回原执行点。内存补丁源码
§3.2 任务调度
3.2.1 影响动态调度效果的两个因素
pSOS采用优先级+时间片的调度方式。有两个因素将影响动态调度的效果:一是优先
级可变(通过t_setpri系统调用改变任务的优先级);二是任务模式字中的preemption
bit位和roundrobin bit位。preemption bit位决定不同优先级的任务是否可抢占,并和
roundrobin bit位一起决定任务的时间片轮转是否有效。
3.2.2 引起任务调度的原因及结果
pSOS系统中引起调度的原因有两条:
1. 在轮转方式下时间片到
2. pSOS系统调用引发任务调度。该系统调用可能是ISR发出的,也可能是某个任务发出的
pSOS任务调度的结果有两种:
1. 引起运行任务切换,这指的是
2. 不引起运行任务切换,这指的是
不论任务调度是否引发运行任务切换,都有可能引起一个或多个任务状态变迁。
3.2.3 运行任务的切换
一、何时切换
下面三种情况将引发运行任务切换:
1. 在时间片轮转方式下(此时任务模式字的roundrobin bit与preemption bit均为
enable),运行任务Task A的时间片用完,且Ready队列中有相同优先级的其它任务,则
Task A退出运行。
2. 在运行任务Task A的Mode word的preemption bit位为enable的前提下,若Task A发出
的某条相同调用引发一个优先级高于Task A的任务Task B从Block状态进入Reary状态,则
将Task B投入运行。
3. ISR使用I_RETURN系统调用,则ISR退出运行,pSOS Kernel选择Ready队列中优先级最高
的任务投入运行(这一任务并不一定是被ISR打断的前运行任务)。
二、如何切换
上述三类运行任务的切换,其具体的pSOS Kernel运作过程并非完全一样,但彼此之间
差别不大。为了简单起见,我们以
为例对切换过程作一简单叙述。这一过程可细分为4个步骤:
1. 任务A运行信息保存(_t_save proc far)
这一过程主要完成修改系统工作标志,保存切换点地址及运行信息、任务A栈调
整
栈
指针保存、栈切换、参数及返址入栈等一系列工作。
2.任务A入就绪队列(void t_in_chain)
这一过程将任务A的TCB块按优先级顺序插入就绪队列。
3.选择一个高优先级任务B(void t_choice( ))
按一定算法从就绪队列中选出最高优先级任务B的TCB块,并使运行指针指向它。
4.将任务B投入运行(_t_run proc far)
从系统栈切换到任务B栈,用任务B的TCB块中保存的信息恢复上次运行被打断的
地
,恢
复任务运行环境,于是任务B开始继续运行。
图3.1反映了典型任务切换过程中CPU控制权的转移、各堆栈活动生命期、任务活动
生命期等信息。图中
t1,t4为切换点 t2,t3为开/关中断
Tsch=t4-t1 // Tsch为任务切换时间
Tforbid=t3-t2 // Tforbid为中断禁止时间
它们是实时操作系统最重要的两个性能指标。
.rul后缀名解释
RUL 是InstallShield使用的扩展名
以下是最详细的文件扩展名大全
QAD PF QuickArt文档
QDT 来自Quicken UK的QuickBooks数据文件,帐目/税/货单程序
QD3D Apple的QuickDraw 3D元文件格式
QFL FAMILY LAWYER文档
QIC Microsoft备份文件
QIF QuickTime相关图像(MIME);Quicken导入文件
QLB Quick库
QM Quality Motion文件
QRY Microsoft查询文件
QST Quake Spy Tab文件
QT,QTM QuickTime**
QTI,QTIF QuickTime相关图像
QTP QuickTime优先文件
QTS Mac PICT图像文件;QuickTime相关图像
QTX QuickTime相关图像
QW Symantec Q&A Write程序文件
QXD Quark XPress文件
R Pegasus邮件资源文件
RA RealAudio声音文件
RAM RealAudio元文件
RAR RAR压缩档案(Eugene Roshall格式)
RAS Sun光栅图像位图
RAW RAW文件格式(位图);Raw标识的PCM数据
RBH 由RoboHELP维持的RBH文件,它加入到一个帮助工程文件的信息中
RDF 资源描述框架文件(涉儿 love this forum !!!ML和元数据)
RDL Descent注册水平文件
REC 录音机宏;RapidComm声音文件
REG 注册表文件
REP Visual dBASE报表文件
RES Microsoft Visual C++资源文件
RFT 可修订的窗体文本(IBM的DCA一部分或文文件内容框架结构一部分)
RGB,SGI Silicon图形RGB文件
RLE Run-Length编码的位图
RL2 Descent2注册水平文件
RM RealAudio视频文件
RMD Microsoft RegMaid文档
RMF Rich Map格式(3D游戏编辑器使用它来保存图)
RMI M1D1音乐
ROM 基于盒式磁带的家庭游戏仿真器文件(来自Atari 、Colecovision、Sega、Nintendo等盒式磁带里的ROM完全拷贝,在两个仿真器之间不可互修改)
ROV Rescue Rover数据文件
RPM RedHat包管理器包(用于Linux)
RPT Microsoft Visual Basic Crystal报表文件
RRS Ace game Road Rash保存的文件
RSL Borland的Paradox 7报表
RSM WinWay Resume Writer恢覆文件
RTF Rich Text格式文档
RTK RoboHELP使用的用来仿真视耋饥U的搜索功能
RTM Real Tracker音乐模块(MOD)文件
RTS RealAudio的RTSL文档;RoboHELP对复杂****作进行加速
RUL InstallShield使用的扩展名
RVP Microsoft Scan配置文件(MIME)
Rxx 多卷档案上的RAR压缩文件(xx= 1~间的一个数字)
S 汇编源代码文件
S3I Scream Tracker v3设备
S3M Scream Tracker v3的声音模块文件
SAM Ami专业文档;8位抽样数据
SAV 游戏保存文件
SB 原始带符号字节(8位)数据
SBK Creative Labs的Soundfont 1.0 Bank文件;(Soundblaster)/EMU SonndFont v1.x Bank文件
SBL Shockwave Flash对像文件
SC2 Microsoft Schedule+7文件格式;SAS目录(/NT、OS/2、Mac)
SC3 SimCity 保存的游戏文件
SCC Microsoft Source Safe文件
SCD Matrix/Imapro SCODL幻灯片图像;Microsoft Schedule +7
SCF 视?Explorer命令文件
SCH Microsoft Schedule+1
SCI ScanVec Inspire本地文件格式
SCN True Space 2场景文件
SCP 拨号网络脚本文件
SCR 视笋拊鶣O护;传真图像;脚本文件
SCT SAS目录(DOS);Scitex CT位图;Microsoft FoxPro窗体
SCT SAS目录(UNIX)
SCV ScanVec CASmate本地文件格式
SCX Microsoft FoxPro窗体文件
SD Sound Designer 1声音文件
SD2 Sound Designer 2展平文件/数据分叉指令;SAS数据库(视?/NT、OS/2、Mac)
SDF 系统数据文件格式—Legacy Unisys(Sperry)格式
SDK Roland S—系列软盘映像
SDL Smart Draw库文件
SDR Smart Draw绘图文件
SDS 原始Midi抽样转储标准文件
SDT SmartDraw模板
SDV 分号分隔的值文件
SDW Lotus WordPro图形文件;原始带符号的DWORD(位)数据
SDX 由SDX压缩的Midi抽样转储标准文件
SEA 自解压档案(Stufflt for Macintosh或其它软件使用的文件)
SEP 卷标图像文件格式(TIFF)位图
SES Cool Edit Session文件(普通数据声音编辑器文件)
SF IRCAM声音文件格式
SF2 Emu Soundfont v2.0文件;Creative Labs的Soundfont 2.0 Bank文件(Sound Blaster)
SFD SoundStage声音文件数据
SFI Sound Stage声音文件信息
SFR Sonic Foundry Sample资源
SFW Seattle**工程(损坏的JPEG)
SFX RAR自解压档案
SGML 标准通用卷标语言
SHB Corel Show演示文稿;文档快捷文件
SHG 热点位图
SHP 3D Studio(DOS)形状文件;被一些应用程序用于多部分交互三角形模型的3D建模
SHS Shell scrap文件;据载用于发送「口令盗窃者」
SHTML 含有服务器端包括(SSI)的HTML文件
SHW Corel Show演示文稿
SIG 符号文件
SIT Mac的StuffIt档案文件
SIZ Oracle 7配置文件
SKA PGP秘钥
SKL Macromedia导演者资源文件
SL PACT的保存布局扩展名
SLB Autodesk Slide库文件格式
SLD Autodesk Slide文件格式
SLK Symbolic Link(SYLK)电子表格
SM3 DataCAD标志文件
SMP Samplevision格式;Ad Lib Gold抽样文件
SND NeXT声音;Mac声音资源;原始的未符号化的PCM数据;AKAI MPC系列抽样文件
SNDR Sounder声音文件
SNDT Sndtool声音文件
SOU SB Studio Ⅱ声音
SPD Speech数据文件
SPL Shockwave Flash对像;DigiTrakker抽样
SPPACK SPPack声音抽样
SPRITE Acorn的位图格式
SQC 结构化查询语言(SQR)普通代码文件
SQL Inforix SQL查询;通常被数据库产品用于SQL查询(脚本、文本、二进制)的文件扩展名
SQR 结构化查询语言(SQR)程序文件
SSDO1 SAS数据集合(UNIX)
SSD SAS数据库(DOS)
SSF 可用的电子表格文件
ST Atari ST磁盘映像
STL Sterolithography文件
STM .shtml的短后缀形式,含有一个服务端包括(SSI)的HTML文件;Scream Tracker V2音乐模块(MOD)文件
STR 屏幕保护文件
STY Ventura Publisher风格表
SVX Amiga 8SVX声音;互交换文件格式,8SVX/SV
SW 原始带符号字(位)数据
SWA 在Macromedia导演文件(MP3文件)中的Shockwave声音文件
SWF Shockwave Flash对像
SWP DataCAD交换文件
SYS 系统文件
SYW Yamaha SY系列波形文件
T Commodore 仿真器磁带映像文件
TAB Guitar表文件
TAR 磁带档案
TAZ UNIX gzip/tape档案
TBK Asymetrix Toolbook交互多媒体文件
TCL 用TCL/TK语言编写的脚本
TDB Thumbs Plus数据库
TDDD Imagine 和 Turbo Silver射线跟踪器使用的文件格式
TEX 正文文件
TGA Targa位图
TGZ UNIX gzip/tap档案文件
THEME 视?桌面主题文件
THN Graphics WorkShop for 视绒t写
TIF,TIFF 卷标图像文件格式(TIFF)位图
TIG 虎形文件,美国此处禁止发言用于分发地图
TLB OLE类型库
TLE 两线元素集合(NASA)
TMP 视聒{ 时文件
TOC Eudora邮箱内容表
TOL Kodak照片增强器
TOS Atari /和/计算器****作系统文件
TPL CakeWalk声音模板文件;DataCAD模板文件
TPP Teleport Pro工程
TRK Kermit脚本文件
TRM 终端文件
TRN MKS源完整性工程用法ri志文件
TTF TrueType字体文件
TTK Corel Catalyst Translaton Tool Kit
TWF TabWorks文件
TWW Tagwrite模板
TX8 MS-DOS文本
TXB Descent/D2编码概要文件
TXT ASCⅡ文本格式的声音数据
TXW Yamaha TXW波形文件
TZ 老的压缩格式文件
T2T Sonate CAD建模软件文件
UB 原始未符号化的字节(8位)数据
UDF 视?NT/唯一性数据库文件
UDW 原始未符号化的双字(位)数据
ULAW 美国电话格式(CCITT G.)声音
ULT Ultra Tracker音乐模块(MOD)文件
UNI MikMod UniMod格式化文件
URL Internet快捷方式文件
USE MKS源完整性文件
UU,UUE UU编码文件
UW 原始未符号化字(位)数据
UWF UltraTracker波形文件
V8 Covox 8位声音文件
VAP 加注讲演文件
VBA VBase文件
VBP Microsoft Visual Basic工程文件
VBW Microsoft Visual Basic工作区文件
VBX Microsoft Visual Basic用户定制控件
VCE Natural MicroSystems(NMS)未格式化声音文件(由Cool Edit使用)
VCF 虚拟卡文件(Netscape);Veri配置文件;为与Sense8的WordToolkit一起使用而定义对像
VCT,VCX Microsoft FoxPro类库
VDA Targa位图
VI National Instruments LABView产品的虚拟设备文件
VIFF Khoros Visualisation格式
VIR Norton Anti-Virus或其他杀毒产品用于标识被病毒感染的文件
VIV VivoActive Player流视频文件
VIZ Division的dVS/dVISE文件
VLB CorelVentura库
VMF FaxWorks声竣憟?VOC Creative Labs的Sound Blaster声音文件
VOX 用ADPCM编码的对话声音文件;Natural MicroSystems(NMS)格式化声音文件,Talking Technology声音文件
VP Ventura Publisher出版物
VQE,VQL Yamaha Sound-VQ定位器文件
VQF Yamaha Sound-VQ文件(可能出现标准)
VRF Oracle 7配置文件
VRML 虚拟现实建模语言文件
VSD Visio绘画文件(流程图或图解)
VSL 下载列表文件(GetRight)
VSN 视?9x/NT Virusafe版文件,用于保持有关目录中所有信息,当一个文件被访问,其中信息与VSN信息进行比较,以确保它们保持一致
VSS Visio模板文件
VST Targa位图
VSW Visio工作区文件
VXD Microsoft 视紫篔应]备驱动程序
W3L W3Launch文件
WAB Microsoft Outlook文件
WAD 包含有视频、玩家水平和其它信息的DOOM游戏的大文件
WAL Quake 2正文文件
WAV 视答i形声形
WB1,WB2 QuattoPro for 视给q子表格
WBK Microsoft Word备份文件
WBL Argo WebLoadⅡ上载文件
WBR Crick Software的WordBar文件
WBT Crick Software的WordBar模板
WCM WordPerfect宏
WDB Microsoft Works数据库
WDG War FTP远程守护者文件
WEB CorelXARA Web文档
WFB Turtle Beach的Wavefont Bank(Maui/Rio/Monterey)
WFD Turtle Beach的Wavefont Drum集合(Maui/Rio/Monterey)
WFM Visual dBASE 视答穖?WFN 在CorelDRAW中使用的符号
WFP Turtle Beach的Wavefont程序(Maui/Ri/Monterey)
WGP Wild Board游戏数据文件
WID Ventura宽度表
WIL WinImage文件
WIZ Microsoft Word向导
WK1 Lotus 1-2-3版第1、2版的电子表格
WK3 Lotus 1-2-3版第3版的电子表格
WK4 Lotus 1-2-3版第4版的电子表格
WKS Lotus 1-2-3电子表格;Microsoft Works文档
WLD REND/AVRIL文件
WLF Argo WebLoadⅠ上载文件
WLL Microsoft Word内插器
WMF 视竣舅憟?WOW Grave Composer音乐模块(MOD)文件
WP WordPerfect文档
WP4 WordPerfect 4文档
WP5 WordPerfect 5文档
WP6 WordPerfect 6文档
WPD WordPerfect文档或演示
WPF 可字处理文档
WPG WordPerfect图形
WPS Microsoft Works文档
WPT WordPerfect模板
WPW Novell PerfectWorks文档
WQ1 Quattro Pro/DOS电子表格
WQ2 Quattro Pro/DOS第5版电子表格
WR1 Lotus Symphony
WRG ReGet文档
WR1 书写器文档
WRK Cakewalk音乐声音工程文件
WRL 虚拟现实模型
WRZ VRML文件对像
WS1 WordStar for 视?1文档
WS2 WordStar for 视?2文档
WS3 WordStar for 视?3文档
WS4 WordStar for 视?4文档
WS5 WordStar for 视?5文档
WS6 WordStar for 视?6文档
WS7 WordStar for 视?7文档
WSD WordStar 文档
WVL Wavelet压缩位图
WWL Microsoft Word内插器文件
X AVS图像格式
XAR CorelXARA绘画
XBM MIME「xbitmap」图像
XI Scream Tracker设备抽样文件
XIF Wang映像文件(视?带有的文件)
XLA Microsoft Excel内插器
XLB Microsoft Excel工具条
XLC Microsoft Excel图表
XLD Microsoft Excel对话框
XLK Microsoft Excel备份
XLL Microsoft Excel内插器文件
XLM Microsoft Excel宏
XLS Microsoft Excel工作单
XLT Microsoft Excel模板
XLV Microsoft Excel VBA模块
XLW Microsoft Excel工作簿/工作区
XM FastTracker 2,Digital Tracker音乐模块(MOD)文件
XNK Microsoft Exchange快捷方式文件
XPM X位图格式
XR1 Epic MegaGames Xargon数据文件
XTP Xtree数据文件
XWD X 视肃鈶x格式
XWF Yamaha XG Works文件(MIDI序列)
XY3 XYWrite Ⅲ文档
XY4 XYWrite Ⅳ文档
XYP XYWrite Ⅲ Plus文档
XYW XYWrite for 视?4.0文档
X 宏媒体扩展(程序扩展),位
X 宏媒体扩展(程序扩展),位
YAL Arts& Letters剪贴艺术库
YBK Microsoft Encarta 年鉴
Z UNIX gzip文件
ZAP 视绒n件安装配置文件
ZIP Zip文件
ZOO 早前版本的压缩文件
- 用于为老版本(或备份)文件编号(比如:被安装程序改变的CONFIG.SYS文件);又可用于为小范围的PC应用程序的多个用户相关数据文件编号
M Lotus 1-2-3 SmartMaster文件
Lotus 1-2-3 文件
2D VersaCAD的2维绘画文件
2GR,3GR 在视竣坐U的VGA图形驱动程序/配置文件
3D VersaCAD的3维绘画文件
3DM 3D NURBS建模器,Rhino
3DS 3D Studio(DOS下)格式文件
在或更高级处理器上使用的文件
4GE Inforix 4GL编译后代码
4GL Inforix 4GL源代码
Composer ;UNIX Composer音乐模型文件;磁道模块
# 及更高的号 为计算器演示而扫瞄的一系列**的文件编号方法
$$$ OS/2用来跟踪档案文件
@@@ 用于安装过程中的屏幕文件和用于Microsoft Codeview for C这样的应用程序的指导文件。
A 对像代码库文件
AAM Authorware shocked文件
AAS Authorware shocked包
ABF Adobe二进制屏幕字体
ABK CorelDRAW自动备份文件
ABS 该类文件有时用于指示一个摘要(就像在一篇有关科学方面的文章的一个摘要或概要,取自abstract)
ACE Ace压缩档案格式
ACL CorelDRAW 6键盘快捷键文件
ACM 视筐t统目录文件
ACP Microsoft office助手预览文件
ACR 美国放射医学大学文件格式
ACT Microsoft office助手文件
ACV OS/2的驱动程序,用于压缩或解压缩音频数据
AD After Dark屏幕保护程序
ADA Ada源文件(非-GNAT)
ADB Ada源文件主体(GNAT);HPLX组织者的约定数据库
ADD OS/2用于引导过程的适配器驱动程序
ADF Amiga磁盘文件
ADI AutoCAD设备无关二进制绘图仪格式
ADM After Dark多模块屏幕保护;视?NT策略模板
ADP FaxWork用于传真调制解调器的交互安装文件;Astound Dynamite文件
ADR After Dark随机屏幕保护;Smart Address的地址簿
ADS Ada源文件说明书(GNAT)
AFM Adobe的字体尺度
AF2,AF3 ABC的FlowChat文件
AI Adobe Illustrator格式图形
AIF,AIFF 音频互交换文件,Silicon Graphic and Macintosh应用程序的声音格式
AIFC 压缩AIF
AIM AOL实时信息传送
AIS ACDSee图形序列文件;Velvet Studio设备文件
AKW RoboHELP的帮助工程中所有A-关键词
ALAW 欧洲电话音频格式
ALB JASC Image Commander相册
ALL 艺术与书信库
AMS Velvet Studio音乐模块(MOD)文件;Extreme的Tracker模块文件
ANC Canon Computer的调色板文件,包含一系列可选的颜色板
ANI 视筐t统中的动画光标
ANS ANSI文本文件
ANT SimAnt For 视竣井O存的游戏文件
API Adobe Acrobat使用的应用程序设计接口文件
APR Lotus Approach 文件
APS Microsoft Visual C++文件
ARC LH ARC的压缩档案文件
ARI Aristotle声音文件
ARJ Robert Jung ARJ压缩包文件
ART Xara Studio绘画文件;Canon Crayola美术文件;Clip Art文件格式;另一种光线跟踪格式;AOL使用的用Johnson—Grace压缩算法压缩的标记文件
ASA Microsoft Visual InterDev文件
ASC ASCⅡ文本文件;PGP算法加密文件
ASD Microsoft Word的自动保存文件;Microsoft高级流媒体格式(microsoft advanced streaming forat,ASF)的描述文件;可用NSREX打开 Velvet Studio例子文件
ASE Velvet Studio采样文件
ASF Microsoft高级流媒体格式文件
ASM 汇编语言源文件,Pro/E装配文件
ASO Astound Dynamite对像文件
ASP 动态网页文件;ProComm Plus安装与连接脚本文件;Astound介绍文件
AST Astound多媒体文件;ClarisWorks「助手」文件
ASV DataCAD自动保存文件
ASX Cheyenne备份脚本文件;Microsoft高级流媒体复位向器文件,视频文件
ATT AT< Group 4位图文件
ATW 来自个人软件的Any Time Deluxe For 视筏茪H信息管理员文件
AU Sun/NeXT/DEC/UNIX声音文件;音频U-Law(读作「mu-law」)文件格式
AVB Computer Associates Inoculan反病毒软件的病毒感染后文件
AVI Microsoft Audio Video Interleave**格式
AVR Audio Visual Research文件格式
AVS 应用程序可视化格式
AWD FaxVien文档
AWR Telsis数字储存音频文件扩展名格式
Axx ARJ压缩文件的分包序号文件,用于将一个大文件压至几个小的压缩包中(xx取-的数字)
A3L Authorware 3.x库文件
A4L Authorware 4.x库文?A5L Authorware 5.x库文件
A3M,A4M Authorware Macintosh未打包文件
A4P Authorware无运行时间的打包文件
A3W,A4W,A5W 未打包的Authorware 视竣憟?BAK 备份文件
BAS BASIC源文件
BAT 批处理文件
BDF West Point Bridger Designer文件
BFC 视? Briefcase文档
BG Backgammon For 视竣U的游戏文件
BGL Microsoft Flight Simulator(微软飞行仿真器)的视景文件
BI 二进制文件
BIF Group Wise的初始化文件
BIFF XLIFE 3D格式文件
BIN 二进制文件
BK,BK$ 有时用于代表备份版本
BKS IBM BookManager Read书架文件
BMK 书签文件
BMP 视筒咰S/2位图文件
BMI Apogee BioMenace数据文件
BOOK Adobe FrameMaker Book文件
BOX Lotus Notes的邮箱文件
BPL Borlard Delph 4打包库
BQY BrioQuery文件
BRX 用于查看多媒体对像目录的文件
BSC MS Developer Studio浏览器信息文件
BSP Quake图形文件
BS1 Apogee Blake Stone数据文件
BS_ Microsoft Bookshelf Find菜单外壳扩展名
BTM Norton 应用程序使用的批处理文件
BUD Quicken的备份磁盘
BUN CakeWalk 声音捆绑文件(一种MIDI程序)
BW SGI黑白图像文件
BWV 商业波形文件
BYU BYU的**文件格式
B4 Helix Nuts and Bolts文件
C C代码文件
C0l 台风波形文件
CAB Microsoft压缩档案文件
CAD Softdek的Drafix CAD文件
CAL CALS压缩位图;ri历计划表数据
CAM Casio照相机格式
CAP 压缩音乐文件格式
CAS 逗号分开的ASCⅡ文件
CAT Quicken使用 的IntellCharge分类文件
CB Microsoft干净引导文件
CBI 二进制卷格式文件(用于IBM大型机系统)
CC Visual dBASE用户自定义类文件
CCA cc:邮件文件
CCB Visual Basic动态按钮配置文件
CCF 多媒体查看器配置文件,用于OS/2
CCH Corel图表文件
CCM Lotus cc:邮箱(例如「INBOX.CCM」)
CCO CyberChat数据文件
CCT Macromedia Director Shockwave投影
CDA CD音频轨道
CDF Microsoft频道定义格式文件
CDI Philip的高密盘交互格式
CDM Visual dBASE自定义数据模块文件
CDR CorelDRAW绘图文件;原始音频CD数据文件
CDT CorelDRAW模板
CDX CorelDRAW压缩绘图文件;Microsoft Visual FoxPro索引文件
CEL CIMFast事件语言文件
CER 证书文件(MIME x-x-ca-cert)
CFB Compton的多媒文件
CFG 配置文件
CFM CotdFusion模板文件;Visual dBASE 视等峇嵷w制窗体
CGI 公共网关接口脚本文件
CGM 计算器图形元文件
CH OS/2配置文件
CHK 由视绚牮L碎片整理器或磁盘扫瞄保存的文件碎片
CHM 编译过的HTML文件
CHR 字符集(字体文件)
CHP Ventura Publisher章节文件
CHT ChartViem文件;Harvard Graphics矢量文件
CIF Adaptec CD 创建器 CD映像文件
CIL Clip Gallery下载包
CIM SimCity 文件
CIN OS/2改变控制文件用于跟踪INI文件中的变化
CK1 iD/Apogee Commander Keen 1数据文件
CK2 iD/Apogee Commander Keen 2数据文件
CK3 iD/Apogee Commander Keen 3数据文件
CK4 iD /Apogee Commander Keen 4数据文件
CK5 iD /Apogee Commander Keen 5数据文件
CK6 iD /Apogee Commander Keen 6数据文件
CLASS Java类文件
CLL Crick Software Clicker文件
CLP 视?剪贴板文件
CLS Visual Basic类文件
CMD 视?NT,OS/2的命令文件;DOS CD/M命令文件;dBASEⅡ程序文件
CMF Corel元文件
CMG Chessmaster保存的游戏文件
CMP JPEG位图文件;地址文文件
CMV Corel Move动画文件
CMX Corel Presentation Exchange图像
CNF Telnet,视筒M其它其内格式会发生改变的应用程序使用的配置文件
CNM 视耋野庰{ 序菜单选项和安装文件
CNQ Compuworks Design Shop文件
CNT 窗口]或其它)系统用于帮助索引或其它目的内容文件
COB TrueSpace 2对像文件
COD Microsoft C编译器产生的可显示机器码/汇编代码文件,其云�雪瘠代码作为注释
COM 命令文件(程序)
CPD Corel Print Office文件(图形)
CPD,CPE 传真覆盖文文件
CPI Microsoft MS-DOS代码页信息文件
CPL 控制面板扩展名,Corel颜色板
CPO Corel打印存储文件
CPP C++代码文件
CPR Corel提供说明书文件
CPT Corel 照片-绘画图像
CPX Corel Presentation Exchange压缩图形文件
CRD 视?Cardfile文件
CRP Corel 提供的运行时介绍文件;Visual dBASE自定义报表文件
CRT 认证文件
CSC Corel脚本文件
CSP PC Emcee On_Screen图像
CSS 瀑布式表格文件
CST Macromedia Director Cast文件
CSV 逗号分隔的值文件
CT Scitex CT位图文件;Paint Shop Pro Grapic编辑器文件
CTL 通常用于表示一个包含控件信息的文件;FaxWork用它来保持有关每个传真收到或发出的信息
CUE Microsoft提示牌数据文件
CUR 视等�苳憟?CUT Dr Halo位图文件
CV Corel版本的档案文件;Microsoft CodeView信息屏幕文件
CWK ClarisWorks数据文件.
CWS ClarisWorks模块
CXT Macromedia Director受保护的(不可编辑的)投影文件
CXX C++源代码文件
DAT 数据文件;WrodPerfect合并数据文件;用于一些MPEG格式的文件
DB Borland的Paradox 7表
DBC Microsoft Visual FoxPro数据库容器文件
DBF dBASE文件,一种由Ashton-Tate创建的格式,可以被ACT!、Lipper、FoxPro、Arago、Wordtech、Xbase和类似数据库或与数据库有关产品识别;可用数据文件(能被Excel 打开);Oracle 8.1.x表格空间文件
DBX 邮件资料夹
DCM DCM模块格式文件
DCR 冲击波文件
DCS 桌面颜色分隔文件
DCT Microsoft Visual FoxPro数据库容器
DCU Delphi编译单元文件
DCX Microsoft Visual FoxPro数据库容器;基于PCX的传真图像;宏
DC5 DataCAD绘图文件
DDF Btrieve呼 love this forum !!!trieve数据定义文件,它包含用于描述Btrieve呼 love this forum !!!trieve文件的元数据
DDIF Digital Equipment或 Compaq格式,用于保存他们图像与字处理文文件
DEF SmartWareⅡ数据文件;C++模块定义文件
DEFI Oracle 7 卸载脚本文件
DEM 用于表示数字高度模型的USGS基准的文件
DER 认证文件
DEWF Macintosh Sound Cap/Sound Edit录音设备格式
DGN Macintosh CAD绘图文件
DIB 设备无关位图
DIC 目录
DIF 可进行数据互换的电子表格
DIG DigiLink格式;Sound DesignerⅠ音频文件
DIR MacromediaDirector文件
DIZ 描述文件
DLG C++对话框脚本文件
DLL 动态链接库
DLS 可下载声音文件
DMD Visual dBASE数据模块文件
DMF X-Trakker音乐模块(MOD)文件
DOC FrameMaker或FrameBuilder文档;Word Star文档、Word Perfect文档、Microsoft Word文档;DisplayWrite文档
DOT Microsoft Word文档模板
DPL Borland Delph3压缩库
DPR Borland Delphi工程头文件
DRAW Acorn的基于对象的矢量图像文件
DRV 驱动程序
DRW Micrografx Designer/Draw;Pro/E绘画文件 cordrew文件
DSF Micrografx Designer VFX文件
DSG DOOM保存的文件
DSM Dynamic Studio音乐模块(MOD)文件
DSP Microsoft Developer Studio工程文件
DSQ Corel QUERY(查询)文件
DST 刺绣机图形文件
DSW Microsoft Developer Studio工作区文件
DTA Word Bank(世界银行)的STARS数据文件
DTD SGML文档类型定义(DTD)文件
DTED 地面高度数字数据(图形的数据格式)文件
DTF Symantec Q&A相关的数据库数据文件
DTM DigiTrakker模块文件
DUN Microsoft拔号网络导出文件
DV 数字视频文件(MIME)
DWD DiamondWare数字化文件
FFmpeg学习(一)开篇
为什么要学习FFmpeg?本人希望深入研究音视频领域,音视频领域内容丰富,我计划从多个方面逐步学习:FFmpeg常用功能实践、FFmpeg源码研究、OpenGL、OpenGLES、Metal、AR、WebRTC、直播架构等。
当前音视频有哪些应用场景?从众多应用场景可以看出,音视频技术至关重要,尤其在5G时代,网络传输问题得到极大提升,音视频需求将爆发式增长。以下是一个简单播放器架构图:
音频解码和视频解码一般使用FFmpeg解码,iOS8之后提供了VideoToolBox框架支持硬解码。视频渲染通常使用OpenGL直接利用GPU渲染,还有GPUImage、SDL、VLC等第三方框架。
音视频播放中的音视频同步是一项复杂的技术。学习一项技术需要高效的方法,只有不断实践才能深刻理解。学习FFmpeg也需要好的文档,以下列举一些必备的学习文档地址:
以上都是英文文档,如果英文学习困难,可以参考以下中文资料:
此外,推荐两本非常好的书籍:
相关学习资料推荐,点击下方链接免费报名,先码住不迷路~
1. FFmpeg简介:FFmpeg是一套用于记录、转换数字音频、视频并将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。FFmpeg在Linux平台下开发,但也可以在其他操作系统环境中编译运行,包括Windows、Mac OS X等。这个项目最早由Fabrice Bellard发起,年至年间由Michael Niedermayer主要负责维护。许多FFmpeg的开发人员都来自MPlayer项目,当前FFmpeg也是放在MPlayer项目组的服务器上。项目的名称来自MPEG视频编码标准,前面的"FF"代表"Fast Forward"。
2. FFmpeg能做什么
3. FFmpeg架构模块组成:我们先看一张FFmpeg的架构图:
下载好的源码,我们也可以看到大致的源码结构:
3.1 libavutil
3.2 libavformat
FFmpeg是否支持某种媒体封装格式,取决于编译时是否包含了该格式的封装库。根据实际需求,可进行媒体封装格式的扩展,增加自己定制的封装格式,即在AVFormat中增加自己的封装处理模块。
3.3 libavcodec
AVCodec中实现了目前多媒体绝大多数的编解码格式,既支持编码,也支持解码。AVCodec除了支持MPEG4、AAC、MJPEG等自带的媒体编解码格式之外,还支持第三方的编解码器,如H.(AVC)编码,需要使用x编码器;H.(HEVC)编码,需要使用x编码器;MP3(mp3lame)编码,需要使用libmp3lame编码器。如果希望增加自己的编码格式或硬件编解码,则需要在AVCodec中增加相应的编解码模块。
3.4 libavfilter
3.5 libavdevice
3.6 libswscale
3.7 libpostproc
3.8 libswrressample
3.9 ffmpeg
3. ffsever
3. ffplay
4. FFmpeg安装:下载源码后,我们可以查看一下目录结构:
输入./configure --help命令查看配置信息
内容太多需要分页,输入./configure --help | more
从上面的帮助,我们可以尝试输入:./configure --list-decoders查看所有解码器
接下来我们可以尝试输入:./configure --list-encoders查看所有编码器
接下来我们可以尝试输入:./configure --list-filters查看所有滤镜器
接下来我们可以尝试输入:./configure --list-muxers查看FFmpeg的封装,封装Muxing是指将压缩后的编码封装到一个容器格式中,我们输入./configure --list-muxers来查看FFmpeg支持哪些容器格式:
从上面打印信息来看,FFmpeg支持生成裸流文件,如H.、AAC、PCM,也支持一些常见的格式,如MP3、MP4、FLV、M3U8、WEBM等。
从上面解封装又称为解复用格式的支持信息中可以看到,FFmpeg支持的demuxter非常多,包含image、MP3、FLV、MP4、MOV、AVI等。
从支持的协议列表中可以看到,FFmpeg支持的流媒体协议比较多,包括MMS、HTTP、HTTPS、HLS、RTMP、RTP,甚至支持TCP、UDP,它还支持使用file协议的本地文件操作和使用concat协议支持的多个文件串流操作。
接下来我们可以尝试输入:./configure --list-parsers查看FFmpeg支持的解析器
接下来我们可以尝试输入:./configure --list-bsfs查看FFmpeg支持的字节流过滤器
接下来我们可以尝试输入:./configure --list-indevs查看有效的输入设备
接下来我们可以尝试输入:./configure --list-outdevs查看有效的输出设备