{"id":18352773,"url":"https://github.com/membraneframework/membrane_agora_plugin","last_synced_at":"2025-04-06T11:33:10.620Z","repository":{"id":194666929,"uuid":"679282260","full_name":"membraneframework/membrane_agora_plugin","owner":"membraneframework","description":"Membrane Sink for Agora Server Gateway","archived":false,"fork":false,"pushed_at":"2025-02-07T11:32:41.000Z","size":31159,"stargazers_count":0,"open_issues_count":0,"forks_count":2,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-18T20:51:29.428Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/membraneframework.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-08-16T13:47:46.000Z","updated_at":"2025-02-07T11:32:04.000Z","dependencies_parsed_at":"2023-09-14T15:21:10.303Z","dependency_job_id":"e0ebc082-39dc-4c1b-abce-1de8b5ae8d78","html_url":"https://github.com/membraneframework/membrane_agora_plugin","commit_stats":null,"previous_names":["membraneframework/membrane_agora_plugin"],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/membraneframework%2Fmembrane_agora_plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/membraneframework%2Fmembrane_agora_plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/membraneframework%2Fmembrane_agora_plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/membraneframework%2Fmembrane_agora_plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/membraneframework","download_url":"https://codeload.github.com/membraneframework/membrane_agora_plugin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247478152,"owners_count":20945258,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-05T21:37:20.653Z","updated_at":"2025-04-06T11:33:05.609Z","avatar_url":"https://github.com/membraneframework.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Membrane Agora Plugin\n\n[![Hex.pm](https://img.shields.io/hexpm/v/membrane_agora_plugin.svg)](https://hex.pm/api/packages/membrane_agora_plugin)\n[![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_agora_plugin/)\n[![CircleCI](https://circleci.com/gh/membraneframework/bundlex.svg?style=svg)](https://circleci.com/gh/membraneframework/bundlex)\n\nThis repository contains Membrane Agora Plugin, which wraps:\n[Agora Server Gateway](https://docs.agora.io/en/server-gateway/overview/product-overview?platform=linux-cpp).\nCurrently only `Membrane.Agora.Sink` is available.\n\n## Installation\nThe Agora's Gateway server SDK is available only for Ubuntu (14.04 or higher) and\nCentOS (6.6 or higher) operating systems, and so is membrane_agora_plugin.\nThe required CPU architecture is arm64 or x86-64.\n\nYou can use the `membraneframeworklabs/docker_membrane` docker image (in version `v2.2.0-rc2` or higher) as a running environment:\n```\ndocker run -it membraneframeworklabs/docker_membrane\n```\n\nTo use that plugin in your project, add the following line to your deps in `mix.exs`:\n```\n\t{:membrane_agora_plugin, \"~\u003e 0.2.5\"}\n```\n\nRun `mix deps.get`.\n\nThen you need to set the LD_LIBRARY_PATH:\n```\nexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:\u003cpath to your dependencies directory\u003e/membrane_agora_plugin/agora_sdk\n```\n\nAs an example, you can run the `example.exs` script to see `Membrane.Agora.Sink` in action.\nFirst you need to configure the following Agora's specific environmental variables:\n```bash\n  export AGORA_CHANNEL_NAME=\u003cthe name of the channel for which you have generated the temporary RTC token\u003e\n  export AGORA_TOKEN=\u003cyour Agora's temporary RTC token\u003e\n  export AGORA_APP_ID=\u003cyour Agora's application ID\u003e\n  export AGORA_USER_ID=\u003cany string consisting only of ciphers (0-9)\u003e\n```\n[Here](https://docs.agora.io/en/server-gateway/reference/manage-agora-account?platform=linux-cpp) you can read how to obtain these values.\n\nThen run the exemplary [web demo application](https://webdemo.agora.io/basicVideoCall/index.html) (you can read about it [here](https://docs.agora.io/en/server-gateway/get-started/integrate-sdk?platform=linux-cpp#use-the-client-to-receive-streams-sent-from-the-server)).\nRemember that you need to use the same Agora parameters as you have specified in the environmental variables.\n\nFinaly, type:\n```\nexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:\u003cpath to your dependencies directory\u003e/membrane_agora_plugin/agora_sdk\nelixir example.exs\n```\nand observe the web demo application.\nOnce the pipeline is started, audio and video should start playing.\n\n## Provide your own SDK\n\nBy default, the plugin will attempt to download the correct SDK for your system. However, if you want to bundle the SDK code yourself, you can provide the environment variable `AGORA_SDK_PRESENT` set to \"true\". This flag will prevent the bundlex config from pulling the SDK during build time. However, it is up to you to set the correct paths to the SDK for build and compile time using the correct flags for your C compiler.\n\n\n## Copyright and License\n\nCopyright 2022, [Software Mansion](https://swmansion.com/?utm_source=git\u0026utm_medium=readme\u0026utm_campaign=membrane_template_plugin)\n\n[![Software Mansion](https://logo.swmansion.com/logo?color=white\u0026variant=desktop\u0026width=200\u0026tag=membrane-github)](https://swmansion.com/?utm_source=git\u0026utm_medium=readme\u0026utm_campaign=membrane_template_plugin)\n\nLicensed under the [Apache License, Version 2.0](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmembraneframework%2Fmembrane_agora_plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmembraneframework%2Fmembrane_agora_plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmembraneframework%2Fmembrane_agora_plugin/lists"}