NewVideoRecorder er en høj kvalitet videooptagelse toolkit til Linux. I øjeblikket understøtter v4l1 og v4l2 enheder som videokilder, oss og alsa som en lydkilde. Det kan afgive til QuickTime (i RTjpeg, YUV2 eller RAW-format, og de fleste ffmpeg formater), AVI (i DivX-format), NuppelVideo format, MPEG-1, og streaming multicast / unsicast.
nvrec omfatter dyb buffering for at minimere frame dråber, i høj belastning situationer, og en jævn framedropping algoritme til at holde videoen så glat som muligt, hvis du er nødt til at droppe frames.
Det har også en lyd "båre" at skrive det nøjagtige beløb af lyd til uddatafilen (dette kompenserer for manglende ur synkroniseret mellem video og audio-kort). nvrec er skrevet i en yderst modulær måde, at gøre det nemt at integrere med eksisterende programmer, eller tilføje dine egne formater.
Denne motor gør brug af dybe buffere (2 sekunder +) til lyd og video. Videoen er bufferet i driveren for at undgå alt for mange dyre userspace kopier. Lyden bufres i en userspace ring buffer. Dette er dyrt, men nødvendig, da OSS drivere ofte er begrænset til meget korte buffere.
Alle buffere er nøjagtigt tidsstemplet som de modtages: video buffere af kernen, og audio buffere ved gettimeofday () (opvejet af den nuværende dybde af kernen buffer). I starten, lyd eller video tabes, indtil begge er i sync, og fra da af er det kun lyd og video tidsstemplet for samme periode behandlet.
Da der vil være ur afdrift mellem audio capture og video capture-kort, er det lydstrøm dynamisk skæv, så den helt rigtige mængde af lyd er placeret i output-fil for hver video frame skrevet til filen (BEMÆRK: I øjeblikket vridning gøres ved en simpel linje algoritme - kunne gøre meget bedre her). En simpel PI-regulator justerer vridning faktor at holde synkronisering.
Koden forsøger at holde de interne buffere mellem 10% (for at sikre vi aldrig løber tør for data) og 40% (for at sikre vi don; t har ukontrolleret slippe) fuld. Når bufferen er mindre end 10% fuld, det simpelthen sover 1 rammeperiode. Når bufferen er mere end 40% fuld, det falder langsomt flere billeder pr sencond, indtil et stabilt punkt nås.
Koden er designet til at være meget modulært, så der skulle være noget problem at tilsætte et alsa kerne.
Der er i øjeblikket fem output kerner: qtfile_core, som producerer RTjpeg, YUV2 eller RAW kodede quicktime filer; divxfile_core, der producerer DivX kodede avi filer; nuvfile_core, som producerer NuppelVideo0.4 filer; rtefile_core, som producerer MPEG-1 programstrenge; og ffmpegfile_core, som producerer en masse typer af filer, ligesom mpeg4, MPEG2, MPEG1, wmv, dv, H263 ... (se dokumentation i ffmpeg.sf.net).
Hvad er nyt i denne version:
· Tilføjet understøttelse til optagelse radio (i enheder med understøttelse af det
· Fast ffmpegrec support, opdatering af koden til at bruge den nye libavcodec api og ny libavformat api (ffmpeg cvs frigive 2004/07/09 kontrolleret)
· Rettet nogle fejl i de opkald til v4l2 api (kernel 2.6.4).
· Tilføjet understøttelse af split filer på farten, ved at angive størrelsen af hver bid og basename anvendt for hver fil.
· Fast nogle kompileringsparametrene advarsler. Koden kompilerer uden problemer i gcc 2,95 og gcc 3.3.
Software detaljer:
Version: 20041227
Upload dato: 3 Jun 15
Licens: Gratis
Popularitet: 87
Kommentarer ikke fundet