NewVideoRecorder是一种高品质视频捕捉工具的Linux版本。目前,它支持v4l1 V4L2和设备的视频信号源,OSS和ALSA作为音源。它可以输出至QuickTime(在RTJPEG,YUV2或RAW格式,而大多数的ffmpeg格式),AVI(在DivX的格式),是NuppelVideo格式,MPEG-1,和流播/ unsicast。
nvrec包括深度缓存以减少丢帧,在高负载情况下,并顺利framedropping算法来保持视频尽可能顺利,如果你确实有丢帧。
它也有一个音频“担架”写音频输出文件的确切数额(这个补偿不足的视频和音频卡之间的时钟同步的)。 nvrec是写在一个高度模块化的方式,可以很容易地与现有应用程序集成,或添加自己的输出格式。
该引擎利用深缓冲区(2秒+),音频和视频的。视频缓存在驾驶员,以避免过多的昂贵的用户空间副本。音频缓存在用户空间环形缓冲器。这是昂贵的,但neccessary,因为OSS司机往往局限于非常短的缓冲器。
所有的缓冲液被精确时间戳,因为他们收到:视频缓冲器由内核和音频缓冲器由函数gettimeofday()(由内核缓冲区的当前深度偏移)。在开始时,音频或视频被丢弃,直到两个处于同步,并从那时起,只有音频和视频时间戳的同一期间被处理。
自会有声音捕获和视频捕获卡之间的时钟漂移,音频流被动态翘曲使得音频的完全正确的量被放置在用于写入文件(注每个视频帧的输出文件:目前的翘曲是由一个简单的线性算法完成 - 可以做很多更好地在这里)。一个简单的PI控制器调整扭曲的因素,以保持同步。
该代码试图保持在10%的内部缓冲区(以确保我们永远不会用完数据)和40%(以确保我们不要;吨有不受控制的下落)全面。当缓冲器是小于10%满时,它简单地可供1帧期间。当缓冲器超过40%满时,逐渐下降每sencond多个帧,直到一个稳定点为止。
该代码被设计为是非常模块化的,所以应该没有问题加入alsa的核心。
目前有五个输出芯:qtfile_core,其产生RTJPEG,YUV2或RAW编码的QuickTime文件; divxfile_core,其产生的DivX编码的AVI文件; nuvfile_core,其产生NuppelVideo0.4文件; rtefile_core,其产生的MPEG-1的节目流;和ffmpegfile_core,产生了大量的文件类型,如MPEG4,MPEG2,MPEG1,WMV,DV,H263 ...(见ffmpeg.sf.net文档)。
什么是新的,在此版本:
·增加了对这种支持录制电台(在设备的支持
·修正ffmpegrec支持,更新代码以使用新的API libavcodec的新libavformat流API(CVS的ffmpeg 2004-07-09发布选中)
·修正了一个调用V4L2 API(内核2.6.4)的一些错误。
·新增支持在飞行分割文件,由指定每个块的大小和使用的每个文件的基本名称。
·修正了一些编译警告。代码编译没有在GCC 2.95和gcc 3.3的问题。
按类别搜索
热门软件
-
GnackTrack 12 May 15
-
qNotesManager 17 Feb 15
-
ed2k-gtk-gui 4 Jun 15
-
DEFT 9 Mar 17
-
Q4OS 2 Oct 17
-
pfSense 22 Jun 18
-
LXLE 22 Jun 18
评论没有发现