{"id":21832816,"url":"https://github.com/asyncwebio/bigbluebutton-class-notes","last_synced_at":"2026-02-24T11:31:07.115Z","repository":{"id":148586985,"uuid":"568640009","full_name":"asyncwebio/bigbluebutton-class-notes","owner":"asyncwebio","description":"Class Notes transcribes online classes with subtitles, summaries, topics and sentiments, enabling students, facing poor internet or language barrier, to learn better, at their own pace","archived":false,"fork":false,"pushed_at":"2022-12-20T08:17:55.000Z","size":560,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-14T07:45:30.063Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/asyncwebio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2022-11-21T04:49:46.000Z","updated_at":"2024-04-05T21:44:45.000Z","dependencies_parsed_at":null,"dependency_job_id":"4a32a3a3-58ce-4617-a638-251f3d297c80","html_url":"https://github.com/asyncwebio/bigbluebutton-class-notes","commit_stats":null,"previous_names":["asyncwebio/bigbluebutton-class-notes"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/asyncwebio/bigbluebutton-class-notes","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asyncwebio%2Fbigbluebutton-class-notes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asyncwebio%2Fbigbluebutton-class-notes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asyncwebio%2Fbigbluebutton-class-notes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asyncwebio%2Fbigbluebutton-class-notes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/asyncwebio","download_url":"https://codeload.github.com/asyncwebio/bigbluebutton-class-notes/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asyncwebio%2Fbigbluebutton-class-notes/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29780604,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-24T10:45:18.109Z","status":"ssl_error","status_checked_at":"2026-02-24T10:45:09.911Z","response_time":75,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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-27T19:26:14.241Z","updated_at":"2026-02-24T11:31:07.100Z","avatar_url":"https://github.com/asyncwebio.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n   \u003cimg alt=\"Class Notes Logo\" width=\"60\" src=\"https://higheredlab.com/wp-content/uploads/hel_icon.png\"\u003e\n\u003c/div\u003e\n\u003ch1 align=\"center\"\u003eClass Notes\u003c/h1\u003e\n\u003cp align=\"center\"\u003eClass Notes transcribes online classes with subtitles, summaries, topics and sentiments, enabling students, facing poor internet or language barrier, learn better at their own pace.\u003c/p\u003e\n\n\u003cbr /\u003e\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://github.com/manishkatyan/class-notes/actions/workflows/eslint.yml/badge.svg\"\u003e\n\u003cimg src=\"https://github.com/manishkatyan/class-notes/actions/workflows/eslint.yml/badge.svg\" alt=\"EsLint\" /\u003e\n\u003c/a\u003e\n\u003c/p\u003e\n\n### [View Demo](https://higheredlab.com/wp-content/uploads/Class_Notes_Demo.gif)\n\n\u003cbr\u003e\n\n## Class Notes, powered by AssemblyAI, for BigBlueButton\n\n[BigBlueButton](https://bigbluebutton.org/) is the most-popular open-source software for online classes. It is like-Zoom to conduct online classes but at a 40% lower cost, with better analytics, whiteboard, chat, poll, and, the best part, is white-labelled.\n\n[AssemblyAI](https://www.assemblyai.com/) You can automatically convert audio and video files and live audio streams to text with AssemblyAI's Speech-to-Text APIs. You can do more with Audio Intelligence - summarization, content moderation, topic detection, and more. Powered by cutting-edge AI models.\n\n### How it works?\n\nAfter an online class ends, the BigBlueButton server processes the recording and makes it available for students to refer later.\n\nThe Class Notes plugin is triggered as soon as BigBlueButton completes its processing of the recording and converts the recording into MP4 format. It also strips off audio of the MP4 recording using `ffmpeg` and sends it to AssemblyAI to transcriot and provide information such as summary, topics and sentiment analysis. Class Notes displays that information along with MP4 video the class, enhacned with siubtitles, in a nice, easy-to-use UI.\n\nClass Notes also lists out topics of discussion and provide easy navigation to jump off to the section of the class where that topic was discussed.\n\n## ✨ Features\n\nClass Notes provides you automated notes of the online classes that you can easily refer to, at your own pace, to improve your comprehension. Specifically:\n\n- **MP4 Video with Subtiles.** View the class recording in MP4 format, along with subtitles, which, unlike BigBlueButton recording, plays smoothly in any browser on a laptop or a mobile device.\n- **Transcription.** Below the video, you can read the full transcription of the class, annotated with corresponding time.\n- **Summary.** Interested in just skimming through the lecture? Just go through the crisp summary of the class in a few bullet points.\n- **Topics.** Want to learn more about specific topic? View the list of key topics discussed during the class and click on a topic to jump to the corresponding section of the lecture.\n- **Sentiments.** Lastly, get a sense of the tone of the lecturer - postitive, neutraul or negative, with which specific part of the lecture was delivered.\n\n\u003cbr/\u003e\n\n## 🖐 Requirements\n\nThe requirements to Setup Class Notes.\n\n1. BigBlueButton Server.\n2. [bbb-mp4](https://github.com/manishkatyan/bbb-mp4) installed.\n\n\u003cbr/\u003e\n\n## ⏳ Installation\n\n### Backend\n\n```bash\ncd backend\nmkdir -p /etc/bigbluebutton/nginx\ncp -r class_notes.nginx /etc/bigbluebutton/nginx/class_notes.nginx\nnginx -t\nservice nginx reload\n\n```\n\n\u003cbr /\u003e\n\nSetup post publish script\n\n```bash\ncp -r class_notes.rb class_notes_config.yml /usr/local/bigbluebutton/core/scripts/post_publish/\n```\n\n\u003cbr /\u003e\n\nupdate the config file\n\n```bash\nvi /usr/local/bigbluebutton/core/scripts/post_publish/class_notes_config.yml\n```\n\nget the api key from https://www.assemblyai.com and update `assembly_ai_api_key` variable in class_notes_config.yml\n\nNote: You will only get 3 hours of transcription per month in free plan.\n\nIf you set the `trigger_mode: \"metadata\"` in config file you need to pass `meta_class_notes_enabled=true` in meeting create call\n\n\u003cbr/\u003e\n\n### Frontend\n\n```bash\ncd frontend\n```\n\n\u003cbr/\u003e\n\nUpdate the config file\n\n```bash\nvi  src/utils/config.js\n```\n\n\u003cbr /\u003e\n\nBuild the frontend\n\n```bash\nnpm install\nnpm run build\n```\n\n\u003cbr/\u003e\n\nCopy the build files to /var/bigbluebutton/class-notes\n\n```bash\nmkdir -p /var/bigbluebutton/class-notes\ncp -r build/* /var/bigbluebutton/class-notes\n\n```\n\n\u003cbr/\u003e\n\n## How to\n\nOnce you visit bigbluebutton playback page, you will see class notes button at bottom of the screen if class notes is available. Click on that.\n\nClass notes will be opened in another tab, `https://\u003cyour_bbb_server\u003e/class-notes/?meetingId=\u003cmeetingId\u003e`\n\n## 📝 License\n\n[MIT License](LICENSE.md)\n\nCopyright © 2022 [HigherEdLab.com](https://higheredlab.com/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasyncwebio%2Fbigbluebutton-class-notes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fasyncwebio%2Fbigbluebutton-class-notes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasyncwebio%2Fbigbluebutton-class-notes/lists"}