NewVideoRecorder is 'n hoë gehalte video-opname toolkit vir Linux. Op die oomblik is dit ondersteun v4l1 en v4l2 toestelle as video bronne, oss en Alsa as 'n klank bron. Dit kan uitvoer na QuickTime (in RTjpeg, YUV2 of RAW formaat, en die meeste FFmpeg formate), AVI (DivX in formaat), NuppelVideo formaat, MPEG-1, en streaming multicast / unsicast.
nvrec sluit diep buffer te raam druppels te verminder, in 'n hoë lading situasies, en 'n gladde framedropping algoritme om die video te hou so glad as moontlik as jy moet rame daal.
Dit het ook 'n klank "draagbaar" om die presiese bedrag van klank na die uitvoer lêer (dit vergoed vir die gebrek aan klok synch tussen video en klank kaarte) te skryf. nvrec is geskryf in 'n uiters modulêre manier om te maak dit maklik om te integreer met bestaande programme, of voeg jou eie uitset formate.
Hierdie enjin maak gebruik van 'n diep buffers (2 sekondes +) vir klank en video. Die video gebuffer in die bestuurder te veel duur userspace afskrifte te vermy. Die klank is gebuffer in 'n userspace ring buffer. Dit is duur, maar noodsaaklike, as OSS bestuurders is dikwels beperk tot 'n baie kort buffers.
Alle buffers akkuraat timestamped as hulle ontvang: video buffers deur die kern, en klank buffers deur gettimeofday () (geneutraliseer deur die huidige diepte van die kern buffer). Aan die begin, klank of video laat val totdat albei in sync, en van toe af word slegs klank en video timestamped vir dieselfde tydperk verwerk.
Aangesien daar klok drif tussen die klank opname en video-opname kaarte sal wees nie, is die klank stroom dinamiese verdraai sodat presies die regte bedrag van klank word geplaas in die uitvoer lêer vir elke video raam geskryf om die lêer (NOTA: Op die oomblik is die buiging word gedoen deur 'n eenvoudige lyn algoritme - kan 'n baie beter hier doen). 'N eenvoudige PI beheerder pas die buiging faktor sync te hou.
Die kode probeer om die interne buffers tussen 10% hou (om seker te maak ons nooit loop uit van die data) en 40% (om seker te maak ons nie; t het onbeheerde val) volledige. Wanneer die buffer is minder as 10% vol, is dit eenvoudig slaap 1 raam tydperk. Wanneer die buffer is meer as 40% vol is, is dit geleidelik daal meer rame per sencond, totdat 'n stabiele punt bereik word.
Die kode is ontwerp om baie modulêre te wees, so daar behoort geen probleem te voeg 'n Alsa kern wees.
Daar is tans vyf uitset cores: qtfile_core, wat RTjpeg, YUV2 of RAW geïnkripteer quicktime lêers produseer; divxfile_core, wat DivX produseer geïnkripteer avi-lêers; nuvfile_core, wat NuppelVideo0.4 lêers produseer; rtefile_core, wat mpeg-1 program strome produseer; en ffmpegfile_core, wat 'n baie tipes lêers produseer, soos MPEG4, MPEG2, MPEG1, wmv, dv, H263 ... (sien dokumentasie in ffmpeg.sf.net).
Wat is nuut in hierdie release:
· Bygevoeg ondersteuning vir die registrasie van radio (in toestelle met ondersteuning vir daardie
· Vaste ffmpegrec ondersteuning, afhangende van die kode om die nuwe libavcodec api en nuwe libavformat api (FFmpeg cvs vry 2004-07-09 nagegaan) gebruik
· Vaste n paar foute in die oproepe na v4l2 api (kern 2.6.4).
· Bygevoeg ondersteuning vir split lêers op die vlieg, deur spesifiseer die grootte van elke stuk en die base name wat gebruik word vir elke lêer.
· Vaste sommige Stel waarskuwings. Die kode stel sonder probleme in gcc 2,95 en gcc 3,3.
Sagteware besonderhede:
Weergawe: 20041227
Upload datum: 3 Jun 15
Lisensie: Gratis
Populariteit: 87
Kommentaar nie gevind