ืžื”ื“ื•ืจื” ืจืืฉื•ื ื” ืฉืœ libcamera, ืขืจื™ืžื” ืœืชืžื™ื›ื” ื‘ืžืฆืœืžื” ื‘ืœื™ื ื•ืงืก

ืœืื—ืจ ืืจื‘ืข ืฉื ื™ื ืฉืœ ืคื™ืชื•ื—, ื ื•ืฆืจื” ื”ืžื”ื“ื•ืจื” ื”ืจืืฉื•ื ื” ืฉืœ ืคืจื•ื™ืงื˜ libcamera (0.0.1), ื”ืžืฆื™ืขื” ืขืจื™ืžืช ืชื•ื›ื ื” ืœืขื‘ื•ื“ื” ืขื ืžืฆืœืžื•ืช ื•ื™ื“ืื•, ืžืฆืœืžื•ืช ื•ืžืงืœื˜ื™ ื˜ืœื•ื•ื™ื–ื™ื” ื‘ืœื™ื ื•ืงืก, ืื ื“ืจื•ืื™ื“ ื•-ChromeOS, ืืฉืจ ืžืžืฉื™ื›ื” ืืช ืคื™ืชื•ื— ื”-API V4L2 ื•ื‘ืกื•ืคื• ืฉืœ ื“ื‘ืจ ื™ื—ืœื™ืฃ ืื•ืชื•. ืžืื—ืจ ืฉื”-API ืฉืœ ื”ืกืคืจื™ื™ื” ืขื“ื™ื™ืŸ ืžืฉืชื ื” ื•ื˜ืจื ื”ืชื™ื™ืฆื‘ ื‘ืžืœื•ืื•, ื”ืคืจื•ื™ืงื˜ ื”ืชืคืชื— ืขื“ ื›ื” ืœืœื ืžื”ื“ื•ืจื•ืช ื‘ื•ื“ื“ื•ืช ืžืกื•ืขืคื•ืช ืชื•ืš ืฉื™ืžื•ืฉ ื‘ืžื•ื“ืœ ืคื™ืชื•ื— ืžืชืžืฉืš. ื‘ืชื’ื•ื‘ื” ืœืฆื•ืจืš ื‘ื”ืคืฆื•ืช ื›ื“ื™ ืœืขืงื•ื‘ ืื—ืจ ืฉื™ื ื•ื™ื™ื ื‘-API ื”ืžืฉืคื™ืขื™ื ืขืœ ื”ืชืื™ืžื•ืช, ื•ื›ื“ื™ ืœืคืฉื˜ ืืช ืืกืคืงืช ื”ืกืคืจื™ื•ืช ื‘ื—ื‘ื™ืœื•ืช, ื”ืชืงื‘ืœื” ื›ืขืช ื”ื”ื—ืœื˜ื” ืœื™ื™ืฆืจ ืžื”ื“ื•ืจื•ืช ืžืขืช ืœืขืช ื”ืžืฉืงืคื•ืช ืืช ื”ื™ืงืฃ ื”ืฉื™ื ื•ื™ื™ื ื‘-ABI ื•ื‘-API. ืงื•ื“ ื”ืคืจื•ื™ืงื˜ ื›ืชื•ื‘ ื‘-C++ ื•ืžื•ืคืฅ ืชื—ืช ืจื™ืฉื™ื•ืŸ LGPLv2.1.

ื”ืคืจื•ื™ืงื˜ ืžืคื•ืชื— ืขืœ ื™ื“ื™ ืžืคืชื—ื™ื ืฉืœ ืชืชื™ ืžืขืจื›ื•ืช ืžื•ืœื˜ื™ืžื“ื™ื” ืฉืœ ืœื™ื‘ืช ืœื™ื ื•ืงืก ื™ื—ื“ ืขื ื›ืžื” ื™ืฆืจื ื™ ืžืฆืœืžื•ืช ืขืœ ืžื ืช ืœื ืจืžืœ ืืช ื”ืžืฆื‘ ืขื ืชืžื™ื›ืช ืœื™ื ื•ืงืก ื‘ืžืฆืœืžื•ืช ืœืกืžืืจื˜ืคื•ื ื™ื ื•ืžื›ืฉื™ืจื™ื ืžืฉื•ื‘ืฆื™ื ื”ืงืฉื•ืจื™ื ืœื“ืจื™ื™ื‘ืจื™ื ืงื ื™ื™ื ื™ื™ื. API V4L2, ืฉื›ื‘ืจ ื–ืžื™ืŸ ื‘ืœื™ื‘ืช ืœื™ื ื•ืงืก, ื ื•ืฆืจ ื‘ื–ืžื ื• ื›ื“ื™ ืœืขื‘ื•ื“ ืขื ืžืฆืœืžื•ืช ืื™ื ื˜ืจื ื˜ ื ืคืจื“ื•ืช ืžืกื•ืจืชื™ื•ืช ื•ื”ื•ื ืžื•ืชืื ื‘ืฆื•ืจื” ื’ืจื•ืขื” ืœืžื’ืžื” ื”ืื—ืจื•ื ื” ืฉืœ ื”ืขื‘ืจืช ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช MCU ืขืœ ื›ืชืคื™ ื”ืžืขื‘ื“.

ื‘ื ื™ื’ื•ื“ ืœืžืฆืœืžื•ืช ืžืกื•ืจืชื™ื•ืช, ืฉื‘ื”ืŸ ืคืขื•ืœื•ืช ืขื™ื‘ื•ื“ ืชืžื•ื ื” ืจืืฉื•ื ื™ื•ืช ืžื‘ื•ืฆืขื•ืช ืขืœ ืžืขื‘ื“ ืžื™ื•ื—ื“ ื”ืžื•ื‘ื ื” ื‘ืžืฆืœืžื” (MCU), ื‘ืžื›ืฉื™ืจื™ื ืžืฉื•ื‘ืฆื™ื, ื›ื“ื™ ืœื”ื•ื–ื™ืœ ืขืœื•ื™ื•ืช, ืคื•ื ืงืฆื™ื•ืช ืืœื• ืžื‘ื•ืฆืขื•ืช ืขืœ ื›ืชืคื™ ื”ืžืขื‘ื“ ื”ืจืืฉื™ ื•ื“ื•ืจืฉื•ืช ื“ืจื™ื™ื‘ืจ ืžื•ืจื›ื‘ ืืฉืจ ื›ื•ืœืœ ืจื›ื™ื‘ื™ื ืฉืื™ื ื ื‘ืขืœื™ ืจื™ืฉื™ื•ืŸ ืงื•ื“ ืคืชื•ื—. ื‘ืžืกื’ืจืช ืคืจื•ื™ืงื˜ libcamera ื ื™ืกื• ื—ืกื™ื“ื™ ืชื•ื›ื ืช ืงื•ื“ ืคืชื•ื— ื•ื™ืฆืจื ื™ ื—ื•ืžืจื” ืœื™ืฆื•ืจ ืคืชืจื•ืŸ ืคืฉืจื” ืฉืžืฆื“ ืื—ื“ ืžืกืคืง ืืช ืฆื•ืจื›ื™ ืžืคืชื—ื™ ืชื•ื›ื ืช ื”ืงื•ื“ ื”ืคืชื•ื—, ื•ืžืฆื“ ืฉื ื™ ืžืืคืฉืจ ื”ื’ื ื” ืขืœ ื”ืงื ื™ื™ืŸ ื”ืจื•ื—ื ื™ ืฉืœ ื™ืฆืจื ื™ ื”ืžืฆืœืžื•ืช.

ื”ืžื—ืกื ื™ืช ืฉืžืฆื™ืขื” ืกืคืจื™ื™ืช libcamera ืžื™ื•ืฉืžืช ื›ื•ืœื” ื‘ื—ืœืœ ื”ืžืฉืชืžืฉ. ื›ื“ื™ ืœื”ื‘ื˜ื™ื— ืชืื™ืžื•ืช ืขื ืกื‘ื™ื‘ื•ืช ืชื•ื›ื ื” ื•ื™ื™ืฉื•ืžื™ื ืงื™ื™ืžื™ื, ืฉื›ื‘ื•ืช ืชืื™ืžื•ืช ืžืกื•ืคืงื•ืช ืขื‘ื•ืจ V4L API, Gstreamer ื•-Android Camera HAL. ืจื›ื™ื‘ื™ื ืงื ื™ื™ื ื™ื™ื ืกืคืฆื™ืคื™ื™ื ืœื›ืœ ืžืฆืœืžื” ืœืื™ื ื˜ืจืืงืฆื™ื” ืขื ืฆื™ื•ื“ ืžืชื•ื›ื ื ื™ื ื›ืžื•ื“ื•ืœื™ื ื”ืคื•ืขืœื™ื ื‘ืชื”ืœื™ื›ื™ื ื ืคืจื“ื™ื ื•ืžืงื™ื™ืžื™ื ืื™ื ื˜ืจืืงืฆื™ื” ืขื ื”ืกืคืจื™ื™ื” ื‘ืืžืฆืขื•ืช IPC. ืœืžื•ื“ื•ืœื™ื ืื™ืŸ ื’ื™ืฉื” ื™ืฉื™ืจื” ืœืžื›ืฉื™ืจ ื•ื”ื ื ื™ื’ืฉื™ื ืœืฆื™ื•ื“ ื“ืจืš API ื‘ื™ื ื™ื™ื, ืฉื‘ืงืฉื•ืช ืฉื“ืจื›ื• ื ื‘ื“ืงื•ืช, ืžืกื•ื ื ื•ืช ื•ืžื•ื’ื‘ืœื•ืช ืœื’ื™ืฉื” ืจืง ืœืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ื”ื“ืจื•ืฉื” ืœืฉืœื™ื˜ื” ื‘ืžืฆืœืžื”.

ื”ืกืคืจื™ื™ื” ืžืกืคืงืช ื’ื ื’ื™ืฉื” ืœืืœื’ื•ืจื™ืชืžื™ื ืœืขื™ื‘ื•ื“ ื•ืฉื™ืคื•ืจ ืื™ื›ื•ืช ื”ืชืžื•ื ื•ืช ื•ื”ืกืจื˜ื•ื ื™ื (ื”ืชืืžืช ืื™ื–ื•ืŸ ืœื‘ืŸ, ื”ืคื—ืชืช ืจืขืฉื™ื, ื™ื™ืฆื•ื‘ ื•ื™ื“ืื•, ืคื•ืงื•ืก ืื•ื˜ื•ืžื˜ื™, ื‘ื—ื™ืจืช ื—ืฉื™ืคื” ื•ื›ื•'), ืื•ืชื ื ื™ืชืŸ ืœื—ื‘ืจ ื‘ืฆื•ืจื” ืฉืœ ืกืคืจื™ื•ืช ื—ื™ืฆื•ื ื™ื•ืช ืคืชื•ื—ื•ืช ืื• ืงื ื™ื™ื ื™ื•ืช. ืžื•ื“ื•ืœื™ื ืžื‘ื•ื“ื“ื™ื. ื”-API ืžืกืคืง ื’ื™ืฉื” ืœืชื›ื•ื ื•ืช ื›ื’ื•ืŸ ืงื‘ื™ืขืช ื”ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ืฉืœ ืžืฆืœืžื•ืช ื—ื™ืฆื•ื ื™ื•ืช ื•ืžื•ื‘ื ื•ืช ืงื™ื™ืžื•ืช, ืฉื™ืžื•ืฉ ื‘ืคืจื•ืคื™ืœื™ ืžื›ืฉื™ืจ, ื˜ื™ืคื•ืœ ื‘ืื™ืจื•ืขื™ ื—ื™ื‘ื•ืจ ื•ื ื™ืชื•ืง ืžืฆืœืžื”, ื ื™ื”ื•ืœ ืœื›ื™ื“ืช ื ืชื•ื ื™ ืžืฆืœืžื” ื‘ืจืžืช ื”ืคืจื™ื™ืžื™ื ื”ื‘ื•ื“ื“ื™ื ื•ืกื ื›ืจื•ืŸ ืชืžื•ื ื•ืช ืขื ืคืœืืฉ. ื ื™ืชืŸ ืœืขื‘ื•ื“ ื‘ื ืคืจื“ ืขื ืžืกืคืจ ืžืฆืœืžื•ืช ื‘ืžืขืจื›ืช ื•ืœืืจื’ืŸ ืฆื™ืœื•ื ื‘ื•-ื–ืžื ื™ ืฉืœ ืžืกืคืจ ื–ืจืžื™ ื•ื™ื“ืื• ืžืžืฆืœืžื” ืื—ืช (ืœื“ื•ื’ืžื” ืื—ืช ื‘ืจื–ื•ืœื•ืฆื™ื” ื ืžื•ื›ื” ืœืฉื™ื—ื•ืช ื•ืขื™ื“ื” ื‘ื•ื•ื™ื“ืื• ื•ืื—ืจืช ื‘ืจื–ื•ืœื•ืฆื™ื” ื’ื‘ื•ื”ื” ืœื”ืงืœื˜ื” ืืจื›ื™ื•ืŸ ืœื“ื™ืกืง).

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”