{"id":20773499,"url":"https://github.com/codewithrajdeep/video-conferencing","last_synced_at":"2026-04-11T20:45:26.076Z","repository":{"id":259357379,"uuid":"872089008","full_name":"CodewithRajDeep/Video-conferencing","owner":"CodewithRajDeep","description":" An AI-driven video conferencing app with real-time transcription and customizable video/audio features.","archived":false,"fork":false,"pushed_at":"2024-10-24T03:06:16.000Z","size":375,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-11T20:51:23.024Z","etag":null,"topics":["assemblyai","getstream-io","nextjs","transcriber"],"latest_commit_sha":null,"homepage":"https://video-conferencing-gamma.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CodewithRajDeep.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":"2024-10-13T18:45:19.000Z","updated_at":"2024-10-24T03:06:20.000Z","dependencies_parsed_at":"2024-10-24T20:10:48.155Z","dependency_job_id":"8bcc9fce-62ef-4797-8351-c5d8b1592365","html_url":"https://github.com/CodewithRajDeep/Video-conferencing","commit_stats":null,"previous_names":["codewithrajdeep/video-conferencing"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/CodewithRajDeep/Video-conferencing","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodewithRajDeep%2FVideo-conferencing","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodewithRajDeep%2FVideo-conferencing/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodewithRajDeep%2FVideo-conferencing/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodewithRajDeep%2FVideo-conferencing/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CodewithRajDeep","download_url":"https://codeload.github.com/CodewithRajDeep/Video-conferencing/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodewithRajDeep%2FVideo-conferencing/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264726769,"owners_count":23654494,"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":["assemblyai","getstream-io","nextjs","transcriber"],"created_at":"2024-11-17T12:26:01.760Z","updated_at":"2026-04-11T20:45:21.047Z","avatar_url":"https://github.com/CodewithRajDeep.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Title: AI-Powered Video Conferencing with Real-Time Transcription\n\n## \u003ca name=\"description\"\u003e🤖 Project Description: \u003c/a\u003e\nVideo Conferencing App is an AI-powered video conferencing tool built using Next.js, TypeScript, Tailwind CSS, and Node.js.\nIt leverages AssemblyAI for real-time transcription and GetStream.io for managing video and audio conferencing sessions\nwith enhanced logging. This application enables seamless one-on-one and many-to-many video calls, incorporating AI-based \nlive transcription and transcription history features.The integration of Stream-io Video React SDK ensures a smooth,\ncustomizable, and scalable user experience. With AI-driven transcriptions, users can access past conversations, which \nmakes it an ideal solution for businesses or educational purposes where keeping track of communication is essential.\n\n## 📋 \u003ca name=\"table\"\u003eTable of Contents\u003c/a\u003e\n\n1. 🤖 [Project Description](#description)\n2. 🙎 [Highlighting Features](#features)\n3. 🦉 [Prerequisites](#prerequisites)\n4. ❄️ [Quick Start](#quick-start)\n5. 🤠 [Setup .env variables](#snippet)\n6. 🕷️ [Community Guidelines](#guidelines)\n7. 👨‍⚖️ [Licensing](#license)\n\n\n## \u003ca name=\"features\"\u003e🙎Highlighting Features: \u003c/a\u003e\n\n  1. Real-Time AI-Based Transcription: Powered by AssemblyAI’s API and LLM for transcription.\n  2. Seamless Video and Audio Conferencing: Leveraging GetStream.io's video conferencing capabilities.\n  3. Customizable UI: Built with Next.js and styled using Tailwind CSS.\n  4. Transcription History: Users can access and review previous transcriptions.\n  5. Microphone and Video Buffer Merging: Handles audio and video merging using audioBufferQueue and mergeBuffers.\n\n## \u003ca name=\"prerequisites\"\u003e🦉 Prerequisites: \u003c/a\u003e\n  Before you begin, ensure you have met the following requirements:\n   ```\n       Node.js: v14.x or higher\n       NPM: v6.x or higher\n       Git: Installed and configured\n       Vercel CLI (for deployment): npm i -g vercel\n       AssemblyAI API Key: Sign up at AssemblyAI to obtain an API key.\n       GetStream.io API Key and Secret: Sign up at GetStream.io to obtain an API key and secret.\n        First, run the development server:\n   ```\n\n## \u003ca name=\"quick-start\"\u003e ❄️ Steps to be followed: \u003c/a\u003e\n  ```\n      git clone https://github.com/your-username/Vidly-conferencing-app.git\n       cd your-folder-name\n  ```\n\n   ```bash\n      npm install\n      npm run dev\n      # or\n      yarn dev\n      # or\n     pnpm dev\n     # or\n     bun dev\n   ```\n   Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.\n  You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.\n  This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel.\n\n## \u003ca name=\"snippet\"\u003e 🤠 Setting Up Environment Variables: \u003c/a\u003e\n  Create a .env file in the root directory and add the following:\n  \n           ```bash\n               Copy code\n               NEXT_PUBLIC_ASSEMBLYAI_API_KEY=your_assemblyai_api_key\n               NEXT_PUBLIC_GETSTREAM_API_KEY=your_getstream_api_key\n               NEXT_PUBLIC_GETSTREAM_API_SECRET=your_getstream_api_secret\n             ```\n## \u003ca name=\"guidelines\"\u003e 🕷️Community Guidelines: \u003c/a\u003e \n\n1. General Contribution Guidelines\nWe welcome contributions from the community! To maintain the project's integrity and quality, please follow the guidelines below:\nRespectful communication: Always be polite and constructive in your communication.\nKeep the code clean: Follow the project’s code style and structure. Ensure your code is readable and well-documented.\nTest before committing: Ensure any changes you make are fully tested and do not break existing functionality.\nSubmit detailed pull requests: When submitting pull requests (PRs), include a clear description of what the change does and why it’s necessary.\n\n2. Commit Guidelines\nCommit Messages: Use concise and descriptive commit messages that summarize the changes made.\nGood: fix: resolved issue with video buffering in Chrome\nBad: fixing stuff\nCommit Frequency: Make frequent, small commits with atomic changes. This makes code review and debugging easier.\nSigned Commits: If possible, sign your commits to verify authenticity.\n\n3. Pull Request Guidelines\nCreate a branch: For every feature or bug fix, create a new branch. Follow the naming convention: feature/feature-name or fix/issue-name.\nSync with main: Before making a pull request, always sync your branch with the latest version of main.\n```bash\nCopy code\ngit checkout main\ngit pull origin main\ngit checkout your-branch\ngit merge main\nDescribe your PR: In the pull request description, explain why the changes are needed, what was done, and how to test it.\n```\n\n4. Push Guidelines\nPush to a branch, not main: Never push directly to the main branch. Always create a separate branch and push your changes to that branch.\n```bash\nCopy code\ngit push origin feature/feature-name\nKeep it clean: Before pushing, ensure there are no unnecessary files in the commit (e.g., .env, node_modules, etc.).\n```\n\n5. Review and Approval\nPull Request Review: All pull requests must be reviewed by at least one other contributor before merging.\nApproval Process: After approval, only maintainers or authorized contributors can merge the pull request into the main branch.\n\n6. Code of Conduct\nWe expect all contributors to adhere to a code of conduct that includes:\nBe respectful: Everyone is welcome, and different opinions should be respected.\nNo harassment or abuse: Any form of harassment, discrimination, or abuse will not be tolerated.\nConstructive feedback: When reviewing code, focus on giving constructive feedback that helps improve the project.\n\n## \u003ca name=\"license\"\u003e 👨‍⚖️ Licensing: \u003c/a\u003e\n   MIT License\n   Copyright (c) 2024 Deep Raj\n   \nThis project is licensed under the terms of the [MIT License](./LICENSE).\n\n## 🕺Demonstration: \n\u003cimg src=\"https://www.ringcentral.com/us/en/blog/wp-content/uploads/2021/11/Live-transcription.gif\" width=\"256\" height=\"256\"/\u003e\n\u003cimg src=\"https://i.pinimg.com/originals/2f/64/c6/2f64c6038f8c62bf166f0eb216f3ad28.gif\" width=\"256\" height=\"256\"/\u003e\n\u003cimg src=\"https://cdn.dribbble.com/users/1708816/screenshots/15637339/media/2ea4a194c3149189c2507d137f81a652.gif\" width=\"256\" height=\"256\"/\u003e\n\n## Memes: \n\u003cimg src=\"https://www.gzeromedia.com/media-library/image.gif?id=52468706\u0026width=980\" width=\"256\" height=\"256\"\u003e\n\u003cimg src=\"https://media.tenor.com/0oCXYN5vtv8AAAAM/work-sucks.gif\" width=\"256\" height=\"256\"/\u003e\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodewithrajdeep%2Fvideo-conferencing","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodewithrajdeep%2Fvideo-conferencing","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodewithrajdeep%2Fvideo-conferencing/lists"}