NewVideoRecorder הוא ערכת כלים ללכידת וידאו באיכות גבוהה עבור לינוקס. ברגע שהוא תומך v4l1 וv4l2 מכשירים כמו מקורות וידאו, OSS וalsa כמקור שמע. זה יכול פלט QuickTime (בRTjpeg, YUV2, או בפורמט RAW, ורוב פורמטי ffmpeg), AVI (בפורמט DivX), פורמט NuppelVideo, MPEG-1, ושידור / הזרמת unsicast.
nvrec כולל חציצה עמוקה כדי למזער טיפות מסגרת, במצבי עומס גבוהים, ואלגוריתם framedropping חלק לשמור את הווידאו כפי חלקה ככל האפשר אם אתה צריך לרדת במסגרות.
כמו כן, יש "אלונקה" שמע לכתוב את הסכום המדויק של אודיו לקובץ הפלט (זה מפצה על חוסר בסינכרון שעון בין וידאו ואודיו כרטיסים). nvrec כתוב בדרך מאוד מודולרי, כדי להפוך אותו קל להשתלב עם יישומים קיימים, או להוסיף פלט פורמטים משלך.
מנוע זה עושה שימוש במאגרים עמוקים (2 שניות +) לאודיו וידאו. הווידאו שנאגרו לנהג להימנע יותר מדי עותקי userspace יקרים. השמע שנאגרו במאגר טבעת userspace. זה יקר, אבל neccessary, כOSS נהגים מוגבלים לעתים קרובות למאגרים קצרים מאוד.
כל המאגרים מדויקים הם timestamped כפי שהם קיבלו: מאגרי וידאו על ידי הקרנל, ומאגרי שמע על ידי gettimeofday () (בקיזוז העומק הנוכחי של מאגר הליבה). בהתחלה, אודיו או הווידאו הוא ירד עד שניהם בסנכרון, ומכאן ואילך, רק אודיו והווידאו timestamped באותה תקופה מעובד.
מאז יהיה להיסחף שעון בין כרטיסי לכידה ולכידים וידאו אודיו, זרם השמע דינמי וארפד כך שהכמות הנכונה בדיוק של אודיו ממוקמת בקובץ הפלט עבור כל מסגרת וידאו בכתב לקובץ (הערה: ברגע השתאה נעשה על ידי אלגוריתם קו פשוט - יכול לעשות הרבה יותר טוב כאן). בקר 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 וAPI libavformat החדש (cvs ffmpeg לשחרר 2004/07/09 מסומנים)
· תוקן כמה באגים בשיחות לv4l2 API (קרנל 2.6.4).
· הוספת תמיכה עבור קבצים מפוצלים על לטוס, על ידי לציין את גודלו של כל נתח וbasename משמש עבור כל קובץ.
· תוקן כמה אזהרות הידור. קוד הידור ללא בעיות בgcc gcc 3.3 2.95 ו.
פרטי תוכנה:
תגובות לא נמצא