SDV Media מאפשר שימוש במצלמות וידאו דרך Linux V4L2 API. אפשר להשתמש ישירות ב-V4L2 APIs, אבל מומלץ למפתחי אפליקציות להשתמש בספריות עזר במרחב המשתמש. לדוגמה:
מצבי הפסקה בין פגישות שנתמכים
מצב המאגר USERPTR נחשב לשיטה שיצאה משימוש על ידי מנהלי V4L2, ולכן הוא לא נתמך על ידי SDV Media. במקום זאת, משתמשים במצב MMAP או DMABUF.
שימוש במצלמות
כל מכשיר וידאו (מצלמות, מקודדים ומפענחים) שנחשף על ידי ההיפר-ויז'ור יופיע כמכשיר נפרד בשם /dev/videoN (עם ערך מספרי של N).
אפליקציות יכולות להשתמש ב-VIDIOC_QUERYCAP ioctl כדי לשלוח שאילתות לגבי היכולות של מכשירי הווידאו. מכשירים עם מצלמה מדווחים על תמיכה ב-V4L2_CAP_VIDEO_CAPTURE
או ב-V4L2_CAP_VIDEO_CAPTURE_MPLANE.
פרטים על תהליך צילום הסרטון זמינים במאמר Video for Linux API: Input/Output.
דוגמאות קוד:
- Rust:
libv4l-rsstream_capture_mmapexample, - C/C++: AAOS
VideoCaptureclass או Linux kernel Video Capture example.
הגדרת מכשירים עם לולאת וידאו
לצורך בדיקה, SDV Media מספקת מודול ליבת v4l2loopback, שאפשר להשתמש בו כדי לבצע אמולציה של מצלמות וידאו באופן מלא במכונה הווירטואלית של האורח. כברירת מחדל, הוא מאתחל מכשיר מצלמה וירטואלית יחיד. כדי להוסיף עוד, מעבירים את פרמטרים ההגדרה למודול דרך שורת הפקודה של ליבת המערכת. לדוגמה, כדי לאתחל 4 מכשירים, מוסיפים:
v4l2loopback.devices=4
כדי לראות רשימה מלאה של אפשרויות המודול הזמינות, אפשר לעיין בקובץ ה-README של v4l2loopback או במקורות המודול במאגר של ליבת Android.