Conecte a beleza Facebetter a TRTC, Agora, LiveKit e outros pipelines de vídeo no Linux
SDK 2.0.0. A mesma API C++ e o mesmo modelo de integração de Windows · Integração com terceiros: os fornecedores desktop costumam entregar buffers I420 / YUV, não callbacks de textura OpenGL no estilo mobile.Esta página cobre as diferenças exclusivas do Linux. Helpers compartilhados e o encaixe TRTC / Agora / LiveKit ficam na página do Windows — troque headers e caminhos de biblioteca pelo pacote Linux.
Crie o mecanismo e processe no thread cujo contexto GL é o atual. As texturas de entrada e saída devem pertencer a esse contexto. Quadros de CPU não precisam de um contexto GL do chamador. A config não tem um flag de contexto.
resource_path
Precisa apontar para o arquivoresource.fbd
Vinculação no Console
Nome do pacote / executável / processo — Assinatura
Helper I420 compartilhado e hooks de fornecedor: cópia completa em Windows · Integração com terceiros (ProcessI420InPlace, TRTC Buffer, Agora IVideoFrameObserver, fonte de vídeo personalizada LiveKit).
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Facebetter Docs","description":"Realtime AI beauty SDK documentation","colors":{"primary":"#30A46C","light":"#34D399","dark":"#18794E"},"logo":{"light":"https://mintcdn.com/facebetter/mm9bFyHVX2GTlJSl/logo/light.png?fit=max\u0026auto=format\u0026n=mm9bFyHVX2GTlJSl\u0026q=85\u0026s=ba93740f2f6ce1ce1929d9420b2a0386","dark":"https://mintcdn.com/facebetter/mm9bFyHVX2GTlJSl/logo/dark.png?fit=max\u0026auto=format\u0026n=mm9bFyHVX2GTlJSl\u0026q=85\u0026s=10b4748a6af46d98b65771f1a35be2b7","href":"https://facebetter.net"},"favicon":"https://mintcdn.com/facebetter/mm9bFyHVX2GTlJSl/favicon.png?fit=max\u0026auto=format\u0026n=mm9bFyHVX2GTlJSl\u0026q=85\u0026s=e215c35996f449da48a1c4f1c15cbe44","navbar":{"links":[{"href":"https://facebetter.net","label":"Website"},{"href":"https://facebetter.net/dashboard","label":"Dashboard"}],"primary":{"type":"button","label":"Download","href":"https://facebetter.net/download"}},"footer":{"socials":{"github":"https://github.com/pixpark/facebetter-sdk"}},"seo":{"metatags":{"og:site_name":"Facebetter Docs"}},"icons":{"library":"fontawesome"},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"languages":[{"language":"en","navbar":{"links":[{"href":"https://facebetter.net","label":"Website"},{"href":"https://facebetter.net/dashboard","label":"Dashboard"},{"href":"https://facebetter.net/download","label":"Download"}]},"href":""},{"language":"zh","navbar":{"links":[{"href":"https://facebetter.net/zh","label":"官网"},{"href":"https://facebetter.net/zh/dashboard","label":"控制台"},{"href":"https://facebetter.net/zh/download","label":"下载"}]},"href":"zh"},{"language":"ja","navbar":{"links":[{"href":"https://facebetter.net/ja","label":"ウェブサイト"},{"href":"https://facebetter.net/ja/dashboard","label":"コンソール"},{"href":"https://facebetter.net/ja/download","label":"ダウンロード"}]},"href":"ja"},{"language":"ko","navbar":{"links":[{"href":"https://facebetter.net/ko","label":"웹사이트"},{"href":"https://facebetter.net/ko/dashboard","label":"콘솔"},{"href":"https://facebetter.net/ko/download","label":"다운로드"}]},"href":"ko"},{"language":"es","navbar":{"links":[{"href":"https://facebetter.net/es","label":"Sitio web"},{"href":"https://facebetter.net/es/dashboard","label":"Consola"},{"href":"https://facebetter.net/es/download","label":"Descargas"}]},"href":"es"},{"language":"pt-BR","navbar":{"links":[{"href":"https://facebetter.net/pt-BR","label":"Site"},{"href":"https://facebetter.net/pt-BR/dashboard","label":"Console"},{"href":"https://facebetter.net/pt-BR/download","label":"Downloads"}]},"href":"pt-BR"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"facebetter","hasAudioNarration":false,"actualSubdomain":"facebetter","customDomains":["docs.facebetter.net"],"gitSource":{"type":"github","owner":"parkergrt","repo":"facebetter-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6ae42036d9294bdce1b30942","collectionId":"9c665788-6552-48c4-97a2-fe76eb1aa7d8","liveDeploymentHistoryId":"6ae42036d9294bdce1b30942","schemaVersion":"v3"},"entitlements":{},"buildId":"6ae42036d9294bdce1b30942","clientVersion":"0.0.4054","searchFilterCounts":[{"language":"en","tag":"SDK Docs","count":51},{"language":"es","tag":"Docs del SDK","count":51},{"language":"ja","tag":"SDK ドキュメント","count":51},{"language":"ko","tag":"SDK 문서","count":51},{"language":"pt-BR","tag":"Docs do SDK","count":51},{"language":"zh","tag":"SDK 文档","count":51},{"language":"en","tag":"OBS Plugin","count":12},{"language":"es","tag":"Plugin de OBS","count":12},{"language":"ja","tag":"OBS プラグイン","count":12},{"language":"ko","tag":"OBS 플러그인","count":12},{"language":"pt-BR","tag":"Plugin para OBS","count":12},{"language":"zh","tag":"OBS 插件","count":12},{"language":"en","tag":"Introduction","count":9},{"language":"es","tag":"Introducción","count":9},{"language":"ja","tag":"はじめに","count":9},{"language":"ko","tag":"소개","count":9},{"language":"pt-BR","tag":"Introdução","count":9},{"language":"zh","tag":"产品介绍","count":9},{"language":"en","tag":"Effect Creator","count":8},{"language":"es","tag":"Effect Creator","count":8},{"language":"ja","tag":"エフェクト作成","count":8},{"language":"ko","tag":"이펙트 제작","count":8},{"language":"pt-BR","tag":"Effect Creator","count":8},{"language":"zh","tag":"贴纸制作","count":8},{"language":"en","tag":"Android","count":7},{"language":"en","tag":"iOS","count":7},{"language":"en","tag":"Linux","count":7},{"language":"en","tag":"macOS","count":7},{"language":"en","tag":"Web","count":7},{"language":"en","tag":"Windows","count":7},{"language":"es","tag":"Android","count":7},{"language":"es","tag":"iOS","count":7},{"language":"es","tag":"Linux","count":7},{"language":"es","tag":"macOS","count":7},{"language":"es","tag":"Web","count":7},{"language":"es","tag":"Windows","count":7},{"language":"ja","tag":"Android","count":7},{"language":"ja","tag":"iOS","count":7},{"language":"ja","tag":"Linux","count":7},{"language":"ja","tag":"macOS","count":7},{"language":"ja","tag":"Web","count":7},{"language":"ja","tag":"Windows","count":7},{"language":"ko","tag":"Android","count":7},{"language":"ko","tag":"iOS","count":7},{"language":"ko","tag":"Linux","count":7},{"language":"ko","tag":"macOS","count":7},{"language":"ko","tag":"Web","count":7},{"language":"ko","tag":"Windows","count":7},{"language":"pt-BR","tag":"Android","count":7},{"language":"pt-BR","tag":"iOS","count":7},{"language":"pt-BR","tag":"Linux","count":7},{"language":"pt-BR","tag":"macOS","count":7},{"language":"pt-BR","tag":"Web","count":7},{"language":"pt-BR","tag":"Windows","count":7},{"language":"zh","tag":"Android","count":7},{"language":"zh","tag":"iOS","count":7},{"language":"zh","tag":"Linux","count":7},{"language":"zh","tag":"macOS","count":7},{"language":"zh","tag":"Web","count":7},{"language":"zh","tag":"Windows","count":7}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"pt-BR/linux/third-party-integration","slug":"/pt-BR/linux/third-party-integration","pageMetadata":{"title":"Integração com terceiros","description":"Conecte a beleza Facebetter a TRTC, Agora, LiveKit e outros pipelines de vídeo no Linux","href":"/pt-BR/linux/third-party-integration"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Conecte a beleza Facebetter a TRTC, Agora, LiveKit e outros pipelines de vídeo no Linux\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Table}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`SDK `,_jsx(_components.strong,{children:`2.0.0`}),`. A mesma API C++ e o mesmo modelo de integração de `,_jsx(_components.a,{href:`/pt-BR/windows/third-party-integration`,children:`Windows · Integração com terceiros`}),`: os fornecedores desktop costumam entregar `,_jsx(_components.strong,{children:`buffers I420 / YUV`}),`, não callbacks de textura OpenGL no estilo mobile.`]}),`\n`,_jsx(_components.p,{children:`Esta página cobre as diferenças exclusivas do Linux. Helpers compartilhados e o encaixe TRTC / Agora / LiveKit ficam na página do Windows — troque headers e caminhos de biblioteca pelo pacote Linux.`}),`\n`,_jsx(CodeBlock,{numberOfLines:`6`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`6`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Third-party SDK (preprocess callback)`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` I420 planes`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` ↓`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`BeautyEffectEngine`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` CreateWithI420 → ProcessImage → write back`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(Heading,{level:`2`,id:`diferenças-no-linux`,children:`Diferenças no Linux`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Item`}),_jsx(_components.th,{children:`Observações`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Biblioteca`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`libfacebetter.so`}),` + `,_jsx(_components.code,{children:`facebetter/*.h`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Link`}),_jsxs(_components.td,{children:[`Veja `,_jsx(_components.a,{href:`/pt-BR/linux/implement-beauty`,children:`Implementar beleza`}),`; observe `,_jsx(_components.code,{children:`LD_LIBRARY_PATH`}),` / rpath em runtime`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`GL`}),_jsx(_components.td,{children:`Crie o mecanismo e processe no thread cujo contexto GL é o atual. As texturas de entrada e saída devem pertencer a esse contexto. Quadros de CPU não precisam de um contexto GL do chamador. A config não tem um flag de contexto.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`resource_path`})}),_jsxs(_components.td,{children:[`Precisa apontar para o `,_jsx(_components.strong,{children:`arquivo`}),` `,_jsx(_components.code,{children:`resource.fbd`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Vinculação no Console`}),_jsxs(_components.td,{children:[`Nome do pacote / executável / processo — `,_jsx(_components.a,{href:`/pt-BR/intro/enable-service`,children:`Assinatura`})]})]})]})]}),`\n`,_jsx(_components.p,{children:`Crie o mecanismo:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`5`,language:`cpp`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`cpp`,children:_jsxs(_components.code,{language:`cpp`,numberOfLines:`5`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`EngineConfig cfg;`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`cfg`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`app_id`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"your_app_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`cfg`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`app_key`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"your_app_key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`cfg`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`resource_path`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"/opt/yourapp/resource/resource.fbd\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`auto`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` engine `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` BeautyEffectEngine`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`::`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`Create`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(cfg);`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Helper I420 compartilhado e hooks de fornecedor: `,_jsxs(_components.strong,{children:[`cópia completa em `,_jsx(_components.a,{href:`/pt-BR/windows/third-party-integration`,children:`Windows · Integração com terceiros`})]}),` (`,_jsx(_components.code,{children:`ProcessI420InPlace`}),`, TRTC Buffer, Agora `,_jsx(_components.code,{children:`IVideoFrameObserver`}),`, fonte de vídeo personalizada LiveKit).`]}),`\n`,_jsx(Heading,{level:`2`,id:`snapshot-dos-fornecedores`,children:`Snapshot dos fornecedores`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Fornecedor`}),_jsx(_components.th,{children:`Notas Linux`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`TRTC`})}),_jsxs(_components.td,{children:[`PC é somente `,_jsx(_components.strong,{children:`Buffer / I420`}),` — não use o caminho Texture do Android`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Agora`})}),_jsxs(_components.td,{children:[`C++ `,_jsx(_components.code,{children:`registerVideoFrameObserver`}),`, ReadWrite + I420 in-place`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`LiveKit`})}),_jsx(_components.td,{children:`Fonte de vídeo personalizada; confirme captura + caminho GL/software para hosts headless`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`solução-de-problemas`,children:`Solução de problemas`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Sintoma`}),_jsx(_components.th,{children:`Verifique`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`.so`}),` ausente`]}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`LD_LIBRARY_PATH`}),`, rpath, arquitetura correspondente`]})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`Create`}),` falha`]}),_jsxs(_components.td,{children:[`Caminho `,_jsx(_components.code,{children:`.fbd`}),`, autenticação, GL headless / OSMesa`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Todo o resto`}),_jsxs(_components.td,{children:[`Igual à `,_jsx(_components.a,{href:`/pt-BR/windows/third-party-integration#troubleshooting`,children:`solução de problemas do Windows`})]})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`relacionado`,children:`Relacionado`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/pt-BR/windows/third-party-integration`,children:`Windows · Integração com terceiros`}),` (principal)`]}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/pt-BR/linux/implement-beauty`,children:`Implementar beleza`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/pt-BR/linux/best-practices`,children:`Práticas recomendadas`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/pt-BR/linux/api-reference`,children:`Referência da API`})}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Integração com terceiros","description":"Conecte a beleza Facebetter a TRTC, Agora, LiveKit e outros pipelines de vídeo no Linux","href":"/pt-BR/linux/third-party-integration"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Diferenças no Linux","slug":"diferenças-no-linux","depth":2,"children":[]},{"title":"Snapshot dos fornecedores","slug":"snapshot-dos-fornecedores","depth":2,"children":[]},{"title":"Solução de problemas","slug":"solução-de-problemas","depth":2,"children":[]},{"title":"Relacionado","slug":"relacionado","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"facebetter","siteName":"Facebetter Docs","title":"Integração com terceiros - Facebetter Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/linux/third-party-integration","matchLevel":1},"zh":{"href":"/zh/linux/third-party-integration","matchLevel":1},"ja":{"href":"/ja/linux/third-party-integration","matchLevel":1},"ko":{"href":"/ko/linux/third-party-integration","matchLevel":1},"es":{"href":"/es/linux/third-party-integration","matchLevel":1},"pt-BR":{"href":"/pt-BR/linux/third-party-integration","matchLevel":0}}},"lastModified":"2026-10-30T04:42:42.283Z","originalFileLocation":"pt-BR/linux/third-party-integration.mdx","locale":"pt-BR"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Conecte a beleza Facebetter a TRTC, Agora, LiveKit e outros pipelines de vídeo no Linux\">\u003cmeta data-mint-head name=\"application-name\" content=\"Facebetter Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/facebetter/IGWl7Lrb-idg1WGj/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/facebetter/IGWl7Lrb-idg1WGj/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/facebetter/IGWl7Lrb-idg1WGj/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/facebetter/IGWl7Lrb-idg1WGj/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/facebetter/IGWl7Lrb-idg1WGj/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/facebetter/IGWl7Lrb-idg1WGj/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/facebetter/IGWl7Lrb-idg1WGj/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/facebetter/IGWl7Lrb-idg1WGj/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/facebetter/IGWl7Lrb-idg1WGj/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Integração com terceiros - Facebetter Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Conecte a beleza Facebetter a TRTC, Agora, LiveKit e outros pipelines de vídeo no Linux\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Facebetter Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.facebetter.net/pt-BR/linux/third-party-integration\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://facebetter.mintlify.app/_mintlify/api/og/v2?division=Linux\u0026amp;title=Integra%C3%A7%C3%A3o+com+terceiros\u0026amp;description=Conecte+a+beleza+Facebetter+a+TRTC%2C+Agora%2C+LiveKit+e+outros+pipelines+de+v%C3%ADdeo+no+Linux\u0026amp;theme=e51ae4b5db1db928bd4b6cfc\u0026amp;signature=2b1a6735bb46015f750457edd14e05d7cf0b58c068cdade2fa8e500cc478458f\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Integração com terceiros - Facebetter Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Conecte a beleza Facebetter a TRTC, Agora, LiveKit e outros pipelines de vídeo no Linux\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://facebetter.mintlify.app/_mintlify/api/og/v2?division=Linux\u0026amp;title=Integra%C3%A7%C3%A3o+com+terceiros\u0026amp;description=Conecte+a+beleza+Facebetter+a+TRTC%2C+Agora%2C+LiveKit+e+outros+pipelines+de+v%C3%ADdeo+no+Linux\u0026amp;theme=e51ae4b5db1db928bd4b6cfc\u0026amp;signature=2b1a6735bb46015f750457edd14e05d7cf0b58c068cdade2fa8e500cc478458f\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/facebetter/IGWl7Lrb-idg1WGj/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Facebetter Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#30A46C\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.facebetter.net/pt-BR/linux/third-party-integration\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/pt-BR/linux/third-party-integration.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://docs.facebetter.net/pt-BR/linux/third-party-integration\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.facebetter.net/linux/third-party-integration\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"zh\" href=\"https://docs.facebetter.net/zh/linux/third-party-integration\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ja\" href=\"https://docs.facebetter.net/ja/linux/third-party-integration\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ko\" href=\"https://docs.facebetter.net/ko/linux/third-party-integration\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"es\" href=\"https://docs.facebetter.net/es/linux/third-party-integration\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.facebetter.net/linux/third-party-integration\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.facebetter.net/#organization\",\"name\":\"Facebetter Docs\",\"url\":\"https://docs.facebetter.net\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/facebetter/mm9bFyHVX2GTlJSl/logo/light.png?fit=max\u0026auto=format\u0026n=mm9bFyHVX2GTlJSl\u0026q=85\u0026s=ba93740f2f6ce1ce1929d9420b2a0386\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.facebetter.net#website\",\"name\":\"Facebetter Docs\",\"url\":\"https://docs.facebetter.net\",\"publisher\":{\"@id\":\"https://docs.facebetter.net/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.facebetter.net/pt-BR/linux/third-party-integration#webpage\",\"url\":\"https://docs.facebetter.net/pt-BR/linux/third-party-integration\",\"name\":\"Integração com terceiros\",\"description\":\"Conecte a beleza Facebetter a TRTC, Agora, LiveKit e outros pipelines de vídeo no Linux\",\"dateModified\":\"2026-10-30T04:42:42.283Z\",\"isPartOf\":{\"@id\":\"https://docs.facebetter.net#website\"},\"breadcrumb\":{\"@id\":\"https://docs.facebetter.net/pt-BR/linux/third-party-integration#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.facebetter.net/pt-BR/linux/third-party-integration#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Linux\",\"item\":\"https://docs.facebetter.net/pt-BR/linux/quick-start\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Integração com terceiros\",\"item\":\"https://docs.facebetter.net/pt-BR/linux/third-party-integration\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.facebetter.net/pt-BR/linux/third-party-integration#article\",\"headline\":\"Integração com terceiros\",\"name\":\"Integração com terceiros\",\"description\":\"Conecte a beleza Facebetter a TRTC, Agora, LiveKit e outros pipelines de vídeo no Linux\",\"url\":\"https://docs.facebetter.net/pt-BR/linux/third-party-integration\",\"mainEntityOfPage\":{\"@id\":\"https://docs.facebetter.net/pt-BR/linux/third-party-integration#webpage\"},\"dateModified\":\"2026-10-30T04:42:42.283Z\",\"publisher\":{\"@id\":\"https://docs.facebetter.net/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.facebetter.net#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Facebetter Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Facebetter Docs","nav":{"global":null,"languages":[{"language":"en","navbar":{"links":[{"href":"https://facebetter.net","label":"Website"},{"href":"https://facebetter.net/dashboard","label":"Dashboard"},{"href":"https://facebetter.net/download","label":"Download"}]},"pages":[{"title":"en","href":"/linux/third-party-integration"}]},{"language":"zh","navbar":{"links":[{"href":"https://facebetter.net/zh","label":"官网"},{"href":"https://facebetter.net/zh/dashboard","label":"控制台"},{"href":"https://facebetter.net/zh/download","label":"下载"}]},"pages":[{"title":"zh","href":"/zh/linux/third-party-integration"}]},{"language":"ja","navbar":{"links":[{"href":"https://facebetter.net/ja","label":"ウェブサイト"},{"href":"https://facebetter.net/ja/dashboard","label":"コンソール"},{"href":"https://facebetter.net/ja/download","label":"ダウンロード"}]},"pages":[{"title":"ja","href":"/ja/linux/third-party-integration"}]},{"language":"ko","navbar":{"links":[{"href":"https://facebetter.net/ko","label":"웹사이트"},{"href":"https://facebetter.net/ko/dashboard","label":"콘솔"},{"href":"https://facebetter.net/ko/download","label":"다운로드"}]},"pages":[{"title":"ko","href":"/ko/linux/third-party-integration"}]},{"language":"es","navbar":{"links":[{"href":"https://facebetter.net/es","label":"Sitio web"},{"href":"https://facebetter.net/es/dashboard","label":"Consola"},{"href":"https://facebetter.net/es/download","label":"Descargas"}]},"pages":[{"title":"es","href":"/es/linux/third-party-integration"}]},{"language":"pt-BR","navbar":{"links":[{"href":"https://facebetter.net/pt-BR","label":"Site"},{"href":"https://facebetter.net/pt-BR/dashboard","label":"Console"},{"href":"https://facebetter.net/pt-BR/download","label":"Downloads"}]},"tabs":[{"tab":"Docs do SDK","groups":[{"group":"Introdução","icon":"book-open","pages":[{"title":"Documentação do SDK","sidebarTitle":"Início","href":"/pt-BR"},{"title":"Visão geral","href":"/pt-BR/intro/overview"},{"title":"Planos e recursos","href":"/pt-BR/intro/pricing"},{"title":"Assinatura","href":"/pt-BR/intro/enable-service"},{"title":"Autenticação e licença","href":"/pt-BR/intro/license"},{"title":"Pacotes de recursos opcionais","href":"/pt-BR/intro/resource-packs"},{"title":"Usar com IA","href":"/pt-BR/intro/use-with-ai"},{"title":"Enums de parâmetros","href":"/pt-BR/intro/makeup"},{"title":"Notas de versão","href":"/pt-BR/intro/release-note"}]},{"group":"Android","icon":"android","pages":[{"title":"Início rápido","href":"/pt-BR/android/quick-start"},{"title":"Implementar beleza","href":"/pt-BR/android/implement-beauty"},{"title":"Integração com terceiros","href":"/pt-BR/android/third-party-integration"},{"title":"Tratamento de erros","href":"/pt-BR/android/error-handling"},{"title":"Referência da API","href":"/pt-BR/android/api-reference"},{"title":"Práticas recomendadas","href":"/pt-BR/android/best-practices"},{"title":"Perguntas frequentes","href":"/pt-BR/android/faq"}]},{"group":"iOS","icon":"apple","pages":[{"title":"Início rápido","href":"/pt-BR/ios/quick-start"},{"title":"Implementar beleza","href":"/pt-BR/ios/implement-beauty"},{"title":"Integração com terceiros","href":"/pt-BR/ios/third-party-integration"},{"title":"Tratamento de erros","href":"/pt-BR/ios/error-handling"},{"title":"Referência da API","href":"/pt-BR/ios/api-reference"},{"title":"Práticas recomendadas","href":"/pt-BR/ios/best-practices"},{"title":"Perguntas frequentes","href":"/pt-BR/ios/faq"}]},{"group":"macOS","icon":"laptop","pages":[{"title":"Início rápido","href":"/pt-BR/macos/quick-start"},{"title":"Implementar beleza","href":"/pt-BR/macos/implement-beauty"},{"title":"Integração com terceiros","href":"/pt-BR/macos/third-party-integration"},{"title":"Tratamento de erros","href":"/pt-BR/macos/error-handling"},{"title":"Referência da API","href":"/pt-BR/macos/api-reference"},{"title":"Práticas recomendadas","href":"/pt-BR/macos/best-practices"},{"title":"Perguntas frequentes","href":"/pt-BR/macos/faq"}]},{"group":"Windows","icon":"windows","pages":[{"title":"Início rápido","href":"/pt-BR/windows/quick-start"},{"title":"Implementar beleza","href":"/pt-BR/windows/implement-beauty"},{"title":"Integração com terceiros","href":"/pt-BR/windows/third-party-integration"},{"title":"Tratamento de erros","href":"/pt-BR/windows/error-handling"},{"title":"Referência da API","href":"/pt-BR/windows/api-reference"},{"title":"Práticas recomendadas","href":"/pt-BR/windows/best-practices"},{"title":"Perguntas frequentes","href":"/pt-BR/windows/faq"}]},{"group":"Linux","icon":"linux","pages":[{"title":"Início rápido","href":"/pt-BR/linux/quick-start"},{"title":"Implementar beleza","description":"Integre o Beauty Effect SDK 2.0 no Linux com a API C++","href":"/pt-BR/linux/implement-beauty"},{"title":"Integração com terceiros","href":"/pt-BR/linux/third-party-integration"},{"title":"Tratamento de erros","description":"Códigos de erro do Beauty Effect SDK 2.0 e solução de problemas no Linux","href":"/pt-BR/linux/error-handling"},{"title":"Referência da API","href":"/pt-BR/linux/api-reference"},{"title":"Práticas recomendadas","href":"/pt-BR/linux/best-practices"},{"title":"Perguntas frequentes","href":"/pt-BR/linux/faq"}]},{"group":"Web","icon":"globe","pages":[{"title":"Início rápido","href":"/pt-BR/web/quick-start"},{"title":"Implementar beleza","href":"/pt-BR/web/implement-beauty"},{"title":"Integração com terceiros","href":"/pt-BR/web/third-party-integration"},{"title":"Tratamento de erros","href":"/pt-BR/web/error-handling"},{"title":"Referência da API","href":"/pt-BR/web/api-reference"},{"title":"Práticas recomendadas","href":"/pt-BR/web/best-practices"},{"title":"Perguntas frequentes","href":"/pt-BR/web/faq"}]}]},{"tab":"Effect Creator","pages":[{"title":"Effect Creator","href":"/pt-BR/effect-creator/introduction"}]},{"tab":"Plugin para OBS","pages":[{"title":"Plugin para OBS","href":"/pt-BR/obs/install"}]},{"tab":"Plugins de edição","pages":[{"title":"Plugins de edição","href":"/pt-BR/fcp/install"}]}]}]},"basePath":"","title":"Integração com terceiros - Facebetter Docs","buildId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","deploymentId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","dynamics":[],"chunks":[]}