{"id":48664588,"url":"https://github.com/appsembler/xblock-video","last_synced_at":"2026-04-10T10:34:35.946Z","repository":{"id":13144293,"uuid":"72230944","full_name":"appsembler/xblock-video","owner":"appsembler","description":"Universal Video XBlock with pluggable backend for many video hosting providers","archived":false,"fork":false,"pushed_at":"2024-02-07T19:37:09.000Z","size":3001,"stargazers_count":18,"open_issues_count":16,"forks_count":50,"subscribers_count":11,"default_branch":"master","last_synced_at":"2024-04-14T11:48:58.738Z","etag":null,"topics":["appsembler","brightcove","edx","open-edx","video","wistia","xblock"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/appsembler.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null}},"created_at":"2016-10-28T18:10:31.000Z","updated_at":"2022-09-01T06:57:50.000Z","dependencies_parsed_at":"2023-01-11T20:19:52.937Z","dependency_job_id":null,"html_url":"https://github.com/appsembler/xblock-video","commit_stats":null,"previous_names":[],"tags_count":37,"template":false,"template_full_name":null,"purl":"pkg:github/appsembler/xblock-video","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appsembler%2Fxblock-video","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appsembler%2Fxblock-video/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appsembler%2Fxblock-video/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appsembler%2Fxblock-video/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/appsembler","download_url":"https://codeload.github.com/appsembler/xblock-video/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appsembler%2Fxblock-video/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31638683,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-10T07:40:12.752Z","status":"ssl_error","status_checked_at":"2026-04-10T07:40:11.664Z","response_time":98,"last_error":"SSL_read: 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":["appsembler","brightcove","edx","open-edx","video","wistia","xblock"],"created_at":"2026-04-10T10:34:35.832Z","updated_at":"2026-04-10T10:34:35.918Z","avatar_url":"https://github.com/appsembler.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# xblock-video\n\n[![Build Status](https://img.shields.io/circleci/project/raccoongang/xblock-video/dev.svg)](https://circleci.com/gh/raccoongang/xblock-video/tree/dev)\n[![Coverage Status](https://img.shields.io/codecov/c/github/raccoongang/xblock-video/dev.svg)](https://codecov.io/gh/raccoongang/xblock-video)\n[![GitHub release](https://img.shields.io/github/release/raccoongang/xblock-video.svg)](https://github.com/raccoongang/xblock-video/releases)\n\nThe Video XBlock is for embedding videos hosted on different video platforms\ninto your Open edX courses.\n\nSupported video platforms:\n\n- Brightcove\n- Html5\n- Vimeo\n- Wistia\n- Youtube\n\nThe idea of crowd-funded universal video-xblock was proposed by @natea\n(Appsembler) at the Open edX Conference 2016 at Stanford. It was well-received\nand several companies offered to sponsor the initial development.\n\nAppsembler initially contracted with Raccoon Gang to build the [wistia-xblock]\nas a prototype ([see the Github repo]), and later created a new Video XBlock\nfeaturing universal pluggable interface with several video hosting providers\nsupport:\n\n[wistia-xblock]: https://appsembler.com/blog/why-open-edx-needs-an-alternative-video-xblock/\n[see the Github repo]: https://github.com/appsembler/xblock-wistia\n\nAppsembler and Raccoon Gang will be co-presenting [a talk about the\nvideo-xblock] at the Open edX Con 2017 in Madrid.\n\n[a talk about the video-xblock]: https://openedx2017.sched.com/event/9zf6/lightning-talks\n\nWe welcome folks from the Open edX community to contribute additional video\nbackends as well as report and fix issues.\n\nThanks to [InterSystems] and [Open University] for sponsoring the initial\nversion of the Video XBlock!\n\n[InterSystems]: https://www.intersystems.com\n[Open University]: https://www.open.ac.uk\n\n## Installation\n\n```shell\nsudo -sHu edxapp\nsource ~/edxapp_env\n# Install VideoXBlock using pip\npip install --process-dependency-links -e \"git+https://github.com/appsembler/xblock-video.git@dev#egg=video_xblock\"\n```\n\n## Enabling in Studio\n\nYou can enable the Video xblock in studio through the advanced\nsettings:\n\n1. From the main page of a specific course, click on *Settings*,\n   *Advanced Settings* in the top menu.\n1. Check for the *Advanced Module List* policy key, and add\n   `\"video_xblock\"` in the policy value list.\n   ![Advanced Module List](doc/img/advanced_settings.png)\n\n1. Click on the *Save changes* button.\n\n## Usage\n\nTo embed a video simply copy \u0026 paste its URL into a `Video URL` field.\n\nSample supported video URLs:\n\n- Brightcove: https://studio.brightcove.com/products/videocloud/media/videos/12345678 or https://studio.brightcove.com/products/videos/12345678\n- HTML5: https://example.com/video.mpeg|mp4|ogg|webm\n- Vimeo: https://vimeo.com/abcd1234\n- Wistia: https://raccoongang.wistia.com/medias/xmpqebzsya\n- Youtube: https://www.youtube.com/watch?v=3_yD_cEKoCk and others.\n\n### Brightcove\n\nTo successfully use videos hosted on Brightcove Videocloud service one must\nprovide valid Brightcove `account_id` associated with the video. To find out\nyour `account_id` go to [Videocloud studio] -\u003e _Admin_ -\u003e _Account Information_.\n\n[Videocloud studio]: https://studio.brightcove.com/products/videocloud/home\n\n#### Connect to Brightcove Platform\n\n1. Grab your [BC_TOKEN] from Brightcove Videocloud:\n   1. Login to [Videocloud Studio] as you normally do.\n   2. With any page in Studio open, open the developer tools for the browser,\n      go to the Console, and paste in the following code:\n\n   ```js\n       var cookiesArray = document.cookie.split(\";\"), cookiesObj = {}, i, tmpArray = [];\n       for (i = 0; i \u003c cookiesArray.length; i++) {\n           tmpArray = cookiesArray[i].split(\"=\");\n           if (tmpArray[0].indexOf('BC_TOKEN') \u003e -1) {\n               cookiesObj.BC_TOKEN = tmpArray[1];\n           }\n       }\n       window.prompt(\"BC_TOKEN:\", cookiesObj.BC_TOKEN);\n   ```\n   and press `\u003creturn\u003e`.\n\n   3. You should see a prompt appear that contains your BC_TOKEN.\n    ![BC_TOKEN sample](https://learning-services-media.brightcove.com/doc-assets/video-cloud-apis/ingest-profiles-api/guides/prompt-with-token-safari.png \"Sample BC_TOKEN\")\n2. Open Video XBlock settings, Advanced tab. Scroll down to `Video API Token` section.\n3. Put `BC_TOKEN` taken from Brightcvove into `Client Token` field.\n4. Click on `Connect to video platform` button.\n\n[Videocloud Studio]: https://studio.brightcove.com/products/videocloud/home\n[BC_TOKEN]: https://docs.brightcove.com/en/video-cloud/media-management/guides/authentication.html\n\n#### Enable content encryption and/or autoquality\n\nGiven you've connected XBlock to Brightcove platform and have a Video XBlock with a video from Brightcove. You can enablevideo content encryption and/or auto-quality.\n\nTo do so:\n1. Go to Advanced settings tab.\n1. Scroll down to `Brightcove content protection` section.\n1. Select `Autoquality` or `Autoquality \u0026 Encryption`.\n1. Click `Re-transcode this video` button.\n\nRe-transcode is performed by Brightcove's Videocloud and takes few minutes. After it's done `Brightcove Video tech info` section will be updated.\n\n### Wistia\n\n#### How to disable captions auto uploading in Wistia plugin\n\n1. Open your Project in Wistia Platform.\n1. Open video which you want to use with Video XBlock.\n1. Click the `Video Actions` drop-down menu -\u003e Select the `Customize` menu item.\n1. On the left side of the screen find the `Captions` menu item.\n1. Turn the trigger to `Off` to disable native captions display in the\n   Video XBlock.\n\n![disable captions in Wistia](doc/img/wistia_1.png)\n\n### Set default values in config files\n\nNow it is possible to indicate prepopulated values for any xblock field\nper site installation (see note below). \n\nSample default settings in `/edx/app/edxapp/cms.env.json`:\n\n```json\n    \"XBLOCK_SETTINGS\": {\n      \"video_xblock\": {\n        \"threeplaymedia_apikey\": \"987654321\",\n        \"account_id\": \"1234567890\"\n      }\n    }\n```\nNote: here above each provided key corresponds to SITE_NAME environment variable value.\n\n### Allowed Handouts file types\n\n+ __images:__ .gif, .ico, .jpg, .jpeg, .png, .tif, .tiff, .bmp, .svg,\n+ __documents:__ .pdf, .txt, .rtf, .csv,\n+ __MSOffice:__ .doc, .docx, .xls, .xlsx, .ppt, .pptx, .pub,\n+ __openOffice:__ .odt, .ods, .odp,\n+ __archives:__ .zip, .7z, .gzip, .tar,\n+ __other:__ .html, .xml, .js, .sjson,\n+ __transcripts:__ .srt, .vtt\n\n## Development\n\nPrereqs: [NodeJS \u003e= 4.0](https://docs.npmjs.com/getting-started/installing-node#updating-npm)\n\nInstall development tools and dependencies:\n\n```shell\n\u003e make tools deps-test\n```\n\nRun quality checks:\n\n```shell\n\u003e make quality\n```\n\nRun tests:\n\n```shell\n\u003e make test\n```\n\nVideoXBlock is bundled with a set of XBlock-SDK Workbench scenarios.\nSee [workbench docs](/video_xblock/workbench/README.md) for details.\n\n## License\n\nThe code in this repository is licensed under the GPL v3 licence unless\notherwise noted.\n\nPlease see `LICENSE` file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fappsembler%2Fxblock-video","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fappsembler%2Fxblock-video","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fappsembler%2Fxblock-video/lists"}