--> ͼ²ãÈÝÆ÷SDK˵Ã÷ - º¼ÖÝAG¿­·¢K8¹ú¼ÊÊÓ¾õ¿Æ¼¼ÓÐÏÞ¹«Ë¾

AG¿­·¢K8¹ú¼Ê

ͼ²ãÈÝÆ÷SDK˵Ã÷

24
·¢±íʱ¼ä£º2023-06-07 08:40

Ò»¡¢Í¼²ãÈÝÆ÷˵Ã÷

Ãû´Ê½âÊÍ

  1. ͼÏñÔ´£ºAG¿­·¢K8¹ú¼Ê°ÑÍâÃæµÄËùÓÐÊäÈëͳ³ÆÎªÍ¼ÏñÔ´£¬±ÈÈçͼƬ¡¢ÊÓÆµ£¬ÍøÂçÊÓÆµ¡¢GIF£¬UI½çÃæ¡¢RGBA¡¢NV21¡¢SurfaceµÈ¿ÉÒÔÏÔʾ³öÀ´µÄ£¬Í³³ÆÎªÍ¼ÏñÔ´£»£¨ÎÄ×ÖÐèÒªÏÈת»»ÎªÍ¼Ïñ²Å¿ÉÒÔÏÔʾ£¬±ÈÈçbitmapµÈ£©£¬Èç¹ûͼÏñÔ´ÊÇ·¾¶£¬AG¿­·¢K8¹ú¼ÊÊÇͬһ¸ö½Ó¿Ú£¨switchPath£©£¬ÄÚ²¿Í¨¹ý·¾¶µÄºó׺ÃûÅжÏÊÇͼƬ»òÊÓÆµ»ògif£»

  1. ͼ²ãÈÝÆ÷£ºÊÇÒ»¸öỊ̈߳¬ÄÚ²¿ÔËÐÐOpenGLESÓï¾³£¬²¢¿ÉÒÔÉèÖûæÖÆ¿í¸ß£¬¿ÉÒÔÔö¼Ó£¬É¾³ý£¬ÐÞ¸Äͼ²ãλÖôóСµÄÒ»¸öÈÝÆ÷£¬ Ö®ËùÒÔ³ÆÖ®ÎªÈÝÆ÷£¬ÊÇÒòΪËûÓпí¶ÈºÍ¸ß¶È£¬²¢¿ÉÒÔÈÃÄú×ÔÓɵÄÔö¼ÓÒ»²ãÒ»²ãµÄ»­Ã棬ÿÔö¼ÓÒ»¸öÒ»²ã£¬AG¿­·¢K8¹ú¼Ê³ÆÖ®ÎªÒ»¸öͼ²ã£¬²¢Ö¸¶¨Í¼²ãµÄλÖã¬ÀàËÆÒ»¸ö»­²¼£»AG¿­·¢K8¹ú¼ÊÉè¼ÆÁËÁ½¸öÈÝÆ÷À࣬ LSOCameraLiveºÍLSOLayerRender£¬ Á½ÕߵĵÄͼ²ãÍêȫһÖ£¬Êǹ¤×÷ÐÔÄܵÄÓÅ»¯·½Ïò²»Í¬£¬ LSOCameraLive²àÖØµãÊÇÔ¤ÀÀÏÔʾ£¬Ò»°ãÓÃÔÚAPP³¡ºÏ£»LSOLayerRender²àÖØµãÊÇͼÏñÊý¾ÝÒý³ö£¬Ò»°ãÓÃÔÚÖ±²¥»ú³¡ºÏ£»

  1. ͼ²ã£ºÊÇAG¿­·¢K8¹ú¼ÊÉè¼ÆµÄÒ»ÖÖͼÏñÏÔʾÐÎʽ£¬Ò²ÊÇÒ»¸öÀ࣬ ÀàËÆUIÖеÄÒ»¸ö¿Ø¼þ£¬¿ÉÒÔÔö¼Ó¶à¸ö£¬¿ÉÒÔʵʱÔöɾ£¬Ã¿Ôö¼ÓÒ»¸ö£¬¼´ÊÇÒ»²ã£¬±ÈÈçÄúÔö¼Ó10¸ö£¬ÔòÊÇÔö¼ÓÁË10²ã£¬Ôò»á·µ»Ø10¸öͼ²ã¶ÔÏó£»Ôö¼Óºó£¬ ÕâЩͼ²ãÀïÃæÒòΪûÓÐͼÏñÔ´£¬ËùÒÔ²»»áÏÔʾ£» ÄãÐèÒª¸øÃ¿¸öͼ²ãÉèÖÃÒ»¸öͼÏñÔ´£¬²Å»áÏÔʾ³öÀ´£¬ Ò»¸öͼ²ã¿ÉÒÔ²»¶ÏµÄÇл»²»Í¬Í¼ÏñÔ´¡£

  1. Ò»¾ä»°×ܽ᣺ÈÝÆ÷Àï¿ÉÒԷŶà¸öͼ²ã(addForegroundLayer)£¬ ÿ¸öͼ²ãÀï¿ÉÒÔÇл»¶à¸öͼÏñÔ´(switchxxx)£»

LSOLayerRenderÀàµÄÊä³ö˵Ã÷

  • ÌṩÁËÊä³ö´°¿Ú£¨DisplayView£©ÈÃÄú°Ñÿ¸öͼ²ã¶ÔÏóÖ¸¶¨µ½Ê²Ã´µØ·½È¥ÏÔʾ¡£

  • ×îºóºÏ³ÉºóµÄ ͼÏñÊä³öͨ¹ýÒì²½¼àÌý»Øµ÷Òý³ö£¬¿ÉÊä³öyuv420/nv21/nv12/rgba¡£

  • ±ÈÈçÄúÔö¼ÓÁËÒ»¸öÏÔʾ´°¿ÚDisplayView£¬²¢¸øÕâ¸ö´°¿ÚÖ¸¶¨Á˼¸¸öͼ²ã¶ÔÏóÀ´ÏÔʾ£¬Ôò¼¸¸öͼ²ãµÄ»­Ãæ¾Í»áÏÔʾµ½Õâ¸öDisplayViewÉÏ£» Ö¸¶¨Í¼²ã²ÎÊýÊÇÒ»¸öListÁбíÊý×飬ÄãÏÈÏòListÖÐÔö¼ÓµÄͼ²ã£¬ÔòÏÔʾÔÚ×îϲ㣻 ºóÃæÔö¼Óµ½ListÖеÄͼ²ãÔòÏÔʾµ½×îÉϲ㣬 Äã¿ÉÒÔ²»¶ÏµÄ¸üÐÂListÖÐͼ²ãµÄ˳Ðò£¬´Ó¶øµ÷Õûÿ¸öͼ²ãÔÚµ±Ç°´°¿ÚÖеÄÏÔʾǰºó£¬Ò²¿ÉÒÔ²»¶ÏµÄÔö¼õListÖÐͼ²ãµÄÊýÁ¿¡£

  • Java°æ±¾¿ÉÒÔÔö¼Ó¶à¸öÕâÑùµÄDisplayView£¬×î´ó¿ÉÔö¼Ó5¸ö£»

  • Java°æ±¾ÈÝÆ÷ÖеÄÒ»¸öͼ²ã£¬ ¿ÉͬʱÏÔʾÔÚ²»Í¬µÄ´°¿ÚÉÏ£»

  • Èç¹ûÄúûÓÐÔö¼Óͼ²ã»òÕßËùÓеÄͼ²ã¶¼ÊÍ·ÅÁË£¬Ö»ÒªÉèÖÃÁË´°¿Ú»òÊý¾ÝÁ÷£¬ÔòÒ²»áÓÐÊä³ö£¬ ÒòûÓÐÈκεÄͼ²ã£¬Õâʱ»áÊä³öºÚÉ«µÄͼÏñ£¬Í¼ÏñµÄ¿í¸ßµÈÓÚÈÝÆ÷µÄ¿í¸ß£»

  • ¶ÔÓÚÒѾ­Ôö¼Óµ½ÈÝÆ÷ÖеÄͼ²ã£¬ Èç¹ûÄúÈ·¶¨ÒѾ­Óò»µ½ÁË£¬Ôò¿ÉÒÔÓÃreleaseLayer°ÑÕâ¸öͼ²ã´ÓÈÝÆ÷ÀïÊÍ·Å£¬±ÈÈçչʾ¹ýµÄͼƬ¡¢ÊÓÆµµÈ¡£

ÄÜÁ¦ÊÜÏÞ

  • ÊÓÆµ×î´ó·Ö±æÂÊ£º4KÊÓÆµ£¬ СÓÚµÈÓÚ1080PµÄÊÓÆµ£»ÄÚ²¿ÊÇͨ¹ýϵͳMediaPlayerµÃµ½µÄͼÏñ£¬ ÐèÈ·±£AndroidϵͳÖеÄMediaPlayerÕý³£¹¤×÷¡£

  • gif×î´ó³ß´çÊÇ£º 1280x1280¡£

  • ͼƬ×î´ó³ß´çÊÇ£º5000x5000£¬Í¼Æ¬Èç¹ûÌ«´ó£¬ »áÔÚÄÚ²¿×öËõ·Å´¦Àí£¬ ÄÚ²¿»áµ÷ÓÃBitmapFactoryÈ¥½âÂ룬ÐèÈ·±£AndroidϵͳÖеÄBitmapFactoryÕý³£¹¤×÷¡£

  • RGBAºÍNV21£º ÊäÈë×î´óÊÇ1080x1920£¬²¢¿í¶ÈºÍ¸ß¶ÈÊÇ4µÄ±¶Êý¡£

  • Surfaceͼ²ãÖ»Ö§³Ö4k£¬ 2k£¬ºÍ²»´óÓÚ1080PµÄͼÏñ·Ö±æÂÊ£»

  • ×î´óµþ¼Óͼ²ãÊý£ºÎÞÏÞÖÆ£¬½¨Òé²»³¬¹ý20²ã¡£

ǰ¾°Í¼²ã²Ù×÷

  1. Éè¼ÆË¼Â·£º

    1. AG¿­·¢K8¹ú¼Ê¶¨ÒåµÄÈÝÆ÷ÖÐÊÇÁ½ÖÖͼ²ãÀàÐÍ£º¼´ÈËÏñÇ°ÃæÎªÇ°¾°Í¼²ã£¨ForeGround£©£¬ÈËÏñºóÃæÊDZ³¾°Í¼²ã£¨BackGround£©£»

    2. Çø±ð£ºÇ°¾°Í¼²ã¿ÉÒÔÓкܶà¸ö£¬±³¾°Í¼²ãÊÇÒ»¸ö£»Ç°¾°Í¼²ã¿ÉÒÔÔö¼ÓºÍɾ³ýºÍµ÷½Ú£¬±³¾°Í¼²ãÎÞÂÛͼÏñ´óС¶¼ÂúÆÁÏÔʾ£¬²¢²»¿ÉÒÔÒÆ¶¯£¬±³¾°Ö»¿ÉÒÔÌæ»»£¬¿ÉÒÔûÓУ¨Èç¹ûûÓб³¾°£¬Ôò»á°ÑLSOCameraLiveÕâ¸öviewµÄÏÂÃæµÄviewÏÔʾ³öÀ´£¬ AG¿­·¢K8¹ú¼ÊdemoÓж³öµ×²¿Ê÷ҶͼƬµÄÄǸöÑÝʾ£©£»

    3. ÈËÏñ²ãÒ²ÊôÓÚǰ¾°²ãµÄÒ»ÖÖ£¬ Ö»ÊÇAG¿­·¢K8¹ú¼ÊĬÈÏÒѾ­Ôö¼ÓºÃ£¬Èç¹û²»ÐèÒªÄÚ²¿µÄÈËÏñ²ã£¨Camera£©¿ÉÔÚstart()֮ǰ£¬ÉèÖÃsetDisableSystemCamera()À´½ûÖ¹ÄÚ²¿Ïà»ú£» ½ûÖ¹ºóËùÓкÍCameraµÄ½Ó¿Ú¶¼ÎÞ·¨Ê¹Ó㻿Éͨ¹ýswitchSurfaceÀ´Ôö¼ÓÍⲿµÄÏà»ú£¨demoÓоÙÀý£¬ËÑoutsideCamera¼´¿ÉÕÒµ½£©£»

    4. ǰ¾°²ã¿ÉÒÔͨ¹ýLSOCameraLiveµÄsetLayerPosition()µ÷Õûÿ¸öͼ²ãµÄǰºóλÖã¬Ä¬ÈÏÊÇÏÈaddµÄͼ²ã·ÅÏÂÃæ£¬ºóÔö¼ÓµÄͼ²ã·ÅÉÏÃæ£»×îÏÂÃæµÄǰ¾°²ãµÄindex=0£»×îÉÏÃæµÄindex=array.size()-1;

    5. Äú¿ÉÒÔ²»ÓÃAG¿­·¢K8¹ú¼ÊµÄ±³¾°²ãºÍÈËÏñ²ã£¬ Ôò°Ñǰ¾°²ãµÄÒ»¸ö×÷Ϊ±³¾°£¬ È»ºóÆäËûǰ¾°²ãÔÚÕâ¸ö±³¾°µÄÉÏÃæÒ²¿ÉÒÔ£»

    6. µ±Ç°Í¼²ãÊýÁ¿Ã»ÓÐÏÞÖÆ£¬ Äú¿ÉÒÔÔö¼Ó¶à¸öǰ¾°²ã£¬µ«½¨ÒéСÓÚ20²ã£»Í¼²ãÔ½¶àÔòÔ½ºÄÐÔÄÜ£»

    7. Èç¹ûÄúÒªÔö¼Ó¶¯»­»ò¸÷ÖÖUI½çÃæ£¬ ½¨ÒéÏȰÑÄúµÄ¶¯»­»òUI½çÃæ×ª»»Îªbitmap»òrgba£¬ ÓÃbitmap»òrgbaµÄÐÎʽ²»¶ÏµÄÊäÈ뵽ͼ²ãÖУ¬switchBitmap»òswitchRgba¿ÉÒÔ²»¶ÏµÄµ÷Ó㬽¨Òéµ÷ÓõÄ×îС¼ä¸ôÊÇ33ºÁÃëÒ»´Î£¬×îºÃÊÇ´óÓÚ100ºÁÃëÒ»´Î£»


  2. Ôö¼Óǰ¾°Í¼²ãÁ÷³Ì£º

    1. ÓÃLSOCameraLiveµÄaddForeGroundLayer()·½·¨Ôö¼Óǰ¾°Í¼²ã¶ÔÏózsLayer

    2. ÓÃzsLayerµÄ·½·¨switchxxxx()À´Çл»²»Í¬µÄͼÏñÔ´£¬¼´¸ø´Ëͼ²ã¶ÔÏóÉèÖÃÒ»¸öͼÏñÔ´£»

    3. ¡¾Íê±Ï¡¿

    4. ÁíÍâ˵Ã÷£º¿ÉÒÔÔÚÒ»¸öͼ²ã¶ÔÏóÀï²»¶ÏµÄÇл»²»Í¬µÄͼÏñÔ´£¬ switchPathµÄÒâ˼ÊÇ£º¿ÉÊäÈ벻ͬµÄ·¾¶£¬ÄÚ²¿Í¨¹ýºó׺ÃûÀ´Åжϵ±Ç°ÊÇͼƬ»òÊÓÆµ»ògif£¬ µ±Ç°Ö§³ÖµÄºó׺ÃûÓÐ: jpg£¬ jpeg£¬png£¬mp4£¬mov£¬gif£»

    5. ÁíÍâ˵Ã÷£ºÇл»ºó£¬ »áÔÚͬһ¸öλÖÃÏÔʾÕâЩͼÏñ£¬Èç¹ûͼÏñµÄ¿í¸ß²»Í¬£¬Ôò»áÒÔÉÏÒ»¸öͼÏñµÄËõ·ÅģʽΪ²Î¿¼À´Ëõ·Åµ±Ç°µÄ´óС£¬Èç¹ûÊǵÚÒ»´ÎÔö¼ÓͼÏñ£¬ÔòĬÈϾÓÖÐÏÔʾ£¬²¢ÏÔʾ¿í¸ßÊÇÈÝÆ÷µÄ0.6±¶£¬µ±È»Ò²¿ÉÒÔÔÚÇл»×´Ì¬¼àÌýÖÐÖ±½ÓÉèÖõ±Ç°Í¼ÏñµÄ´óСλÖýǶȵÈÐÅÏ¢£¬ÉèÖúó»áÁ¢¼´¸Ä±ä

    6. ÁíÍâ˵Ã÷£ºÉèÖÃËõ·ÅÖ»»á¸Ä±äµ±Ç°Í¼²ãµÄÏÔʾ´óС£¬¶ø²»»á¸Ä±äͼÏñÔ´µÄԭʼ´óС£¬¼´Í¼ÏñÔ´µÄԭʼ´óСÔÚûÓÐÇл»µô֮ǰʼÖÕ²»±äµÄ£¬Çл»ºóÈçÔٴλñȡԭʼ¿í¸ß£¬ÔòÊÇÕýÔÚÏÔʾµÄͼÏñÔ´µÄԭʼ¿í¸ß£»

    7. ÁíÍâ˵Ã÷£ºÈç¹ûÔö¼ÓµÄÊÇÊÓÆµ£¬ÔòÔÚSwitchÍê³Éºó£¬¿Éͨ¹ýgetVideoControllerµÃµ½Òª¿ØÖƲ¥·ÅµÄ¸÷ÖÖ·½·¨ºÍ½ø¶È¼àÌý£»


  3. ÊÍ·Å£ºÍ¼²ã²»ÐèҪʱ£¬Ôòͨ¹ýÈÝÆ÷µÄÊÍ·Åͼ²ã·½·¨Êͷŵô£¬Êͷź󲻿ÉÒÔÔÙ¶Ô´Ëͼ²ã×öÈκεIJÙ×÷£»

  4. ¿ÉÒÔÔö¼Ó¶à¸öǰ¾°Í¼²ã¶ÔÏóZSLayer£¬Ã¿¸öͼ²ã¶¼¿ÉÒÔµ¥¶Àµ÷½Ú£»

  5. ²»½¨Ò鯵·±µÄÔö¼ÓºÍÊÍ·Åͼ²ã£¬ Èç¹ûÒ»¸öͼ²ãʹÓò»µ½£¬Ôò¿ÉÒÔÉèÖÃΪÒþ²ØsetVisibility()£¬Èç¹ûƵ·±µÄÔö¼ÓºÍÊÍ·Åͼ²ã£¬Ôò»áÓ°ÏìÖ´ÐÐÐÔÄÜ£»

  6. ÒòΪһ¸öͼ²ã¿ÉÒÔÇл»²»Í¬µÄËØ²Ä£¬¹Ê½¨ÒéÈÝÆ÷ÖеÄͼ²ãÊýÁ¿ÊÇ3--4¸öͼ²ã£¬ ±ÈÈçÒ»¸ö±³¾°²ã£¨ÓÃÀ´Çл»²»Í¬µÄ±³¾°£©£¬ Ò»¸öÈËÏñ²ã£¨ÓÃÀ´¿ÙÂ̵ȲÙ×÷£©£¬Ò»¸öǰ¾°²ã£¨ÓÃÀ´²»¶ÏµÄÇл»²»Í¬µÄÉÌÆ·£©£¬Ò»¸öÆäËûǰ¾°²ã¡£

Ö±²¥»úÖÐͼ²ãÈÝÆ÷ʾÒâͼ

¶þ¡¢C++ͼ²ãÈÝÆ÷˵Ã÷

  1. µ÷ÓÃÁ÷³Ì£º

    1. ´´½¨£ºµ÷ÓÃLSORender_createRender£¬´«µÝ¿í¸ßµÈ¸÷ÖÖ²ÎÊý´´½¨ÈÝÆ÷´óС£¬±ÈÈç1920x1080¡£

    2. Ôö¼Ó£ºÓÃLSORender_addLayerÏòÄÚ²¿Ôö¼Ó¶à¸öͼ²ã£¬Í¼²ãÓпí¸ßºÍµ±Ç°Í¼²ãÊÇ·ñ¿ÙͼµÈ²ÎÊý£¬Ôö¼ÓºóµÃµ½Ò»¸ölongÀàÐ͵ľä±ú£¬ºóÐøÓÃÕâ¸ö¾ä±úÀ´µ÷½Úµ±Ç°Í¼²ãµÄ¸÷ÖÖ²ÎÊý£¬±ÈÈçʵʱ´«µÝͼÏñÊý¾Ý£¬Î»Ö㬴óС£¬½Ç¶È£¬¿ÙÂÌ¿ÙÀ¶¿ÙºìÇл»£¬¿Ùͼǿ¶ÈµÈ¸÷ÖÖ²ÎÊý£¬ÉÏÏÂ²ã¹ØÏµ£¬Õâ¸ö¾ä±ú¾ÍÊÇ´ú±íÁ˵±Ç°Í¼²ãµÄ¶ÔÏó£»

    3. ËÍͼÏñ£º¿Éͨ¹ýLSORender_layerPushData ÏòÖ¸¶¨µÄͼ²ãÀï´«µÝͼÏñÊý¾Ý£¬ ÔÚ´«µÝʱºò£¬ ¿ÉÒÔÇл»²»Í¬µÄ¸ñʽ£¬±ÈÈçÉÏÒ»Ö¡ÊÇrgba£¬ÏÂÒ»Ö¡ÊÇnv21²¢Ö¸¶¨½Ç¶È£»

    4. »ñÈ¡£ºÒª»ñȡһ֡ͼÏñʱ£¬Í¨¹ýLSORender_renderOneFrame ´¥·¢Ò»Ö¡µÄäÖȾ£¬äÖȾºóµÃµ½RGBAµÄͼÏñÊý¾Ý£¬rgbaµÄÊÇÍâ½Ó·ÖÅäµÄÖ¸Õ룬ָÕëµÄ×ܳ¤¶ÈÊÇ¿í¶Èx¸ß¶Èx4£»´Ë·½·¨×èÈûÖ´ÐУ¬Ö»µ½µÃµ½Ò»Ö¡Êý¾Ý²Å·µ»Ø¡£

    5. ÊÍ·Åͼ²ã£º Èç¹ûÒ»¸öͼ²ã²»ÐèÒªÁË£¬ÔòÓÃLSORender_removeLayerÊÍ·Å£¬Êͷźóµ±Ç°Í¼²ã ÒѾ­²»¿ÉʹÓã¬ÄÚ²¿µÄ¸÷ÖÖ²ÎÊýÒ²Ëæ¼´ÊÍ·Å£»

    6. ÊÍ·ÅÈÝÆ÷£ºÍ¨¹ýLSORender_releaseRenderÊͷŵ±Ç°ÈÝÆ÷£¬ ÈÝÆ÷Êͷźó£¬ÔòËùÓеÄͼ²ãºÍ¸÷ÖÖ²ÎÊý¾ùʧЧ£»


  2. µ±Ç°Ö§³ÖÉãÏñÍ·µÄÍⲿEXTÀàÐ͵ÄÎÆÀí£¬ Ö§³ÖÍⲿ²¥·ÅÆ÷µÄÎÆÀí£¨ÓоÙÀý£©

  3. Ö§³ÖºÍÍâ½ç¹²ÏíglContext¡£

  4. Ö§³Öͬһ¸öͼ²ãÇл»²»Í¬µÄͼÏñ¡£


ÓÑÇéÁ´½Ó£ºERPϵͳ£üÇý¶¯IC£üÕ¿½­ÅàÑµÍø£ü24λADC |
΢ÐŹ«Öںţº
AG¿­·¢K8¹ú¼ÊÎĵµ£º
µØÖ·£ºÕã½­Ê¡º¼ÖÝÊÐÓàº¼Çø²Öǰ½ÖµÀÁú԰·88ºÅ3ºÅÂ¥A1318ÊÒ(´´öÎʱ´ú¹ã³¡)
sitemap¡¢ÍøÕ¾µØÍ¼