{"id":20156137,"url":"https://github.com/openfun/videofront-to-marsha","last_synced_at":"2026-04-14T02:30:58.465Z","repository":{"id":79716952,"uuid":"164834173","full_name":"openfun/videofront-to-marsha","owner":"openfun","description":"A small Python \"click\" script to automate the transfer of videos from VideoFront to Marsha","archived":false,"fork":false,"pushed_at":"2023-05-22T21:53:04.000Z","size":44,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-03T01:44:49.558Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","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/openfun.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":"2019-01-09T09:43:43.000Z","updated_at":"2019-10-24T07:33:08.000Z","dependencies_parsed_at":"2025-01-13T12:42:25.491Z","dependency_job_id":"ecc1376f-ae6d-4b11-95ea-e9638b07dbce","html_url":"https://github.com/openfun/videofront-to-marsha","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/openfun/videofront-to-marsha","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openfun%2Fvideofront-to-marsha","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openfun%2Fvideofront-to-marsha/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openfun%2Fvideofront-to-marsha/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openfun%2Fvideofront-to-marsha/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openfun","download_url":"https://codeload.github.com/openfun/videofront-to-marsha/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openfun%2Fvideofront-to-marsha/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31779942,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T02:24:21.117Z","status":"ssl_error","status_checked_at":"2026-04-14T02:24:20.627Z","response_time":153,"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":[],"created_at":"2024-11-13T23:37:43.961Z","updated_at":"2026-04-14T02:30:58.442Z","avatar_url":"https://github.com/openfun.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## VideoFront to Marsha\n\nA small [click](https://click.palletsprojects.com) project to automate the\ntransfer of videos and subtitles from your VideoFront S3 bucket to Marsha.\n\n## Getting started\n\n### Prerequisites\n\nThe transfer script runs in Docker. Make sure you have a recent version of\nDocker installed on your laptop:\n\n```bash\n$ docker -v\n  Docker version 18.09.0, build 4d60db4\n```\n\n⚠️ You may need to run the following commands with `sudo` but this can be\navoided by assigning your user to the `docker` group.\n\n### Manifest file\n\nYou need to generate a manifest of the videos you want to transfer. It should\nbe a csv file of the form:\n\n```\ncourse_key;xblock_id;videofront_key;uuid\ncourse/edufree/01007;1234564390634859b246ff75d2c7ba24;videos/00RcKZhbiBUt/HD.mp4;1e93eac2-1acb-45b4-8dfc-700c1af6c031\n.../...\n```\n\nwhere:\n- course key: the course identifier that will be associated to the playlist in Marsha. It\n    is common to all the videos of a same course,\n- xblock_id: the unique identifier of the LTI Xblock in which the Marsha video is declared\n    in Open edX.\n- videofront_key: the key, in VideoFront's AWS S3 bucket, under which we find the file of\n    the video. We will use this key to copy the file directly from VideoFront's S3 bucket to\n    Marsha's S3 bucket.\n- uuid: the unique ID with which the video will be created in Marsha. It is the UUID you\n    used in the randomly generated LTI launch url of your XBlock of the form:\n    https://marsha.education/lti/videos/1e93eac2-1acb-45b4-8dfc-700c1af6c031\n\nPlace your manifest in the `files` directory where Docker can find it. Don't worry, it will\nbe git-ignored.\n\n### Transfer script\n\nBuild the Docker image of the project and initialize an environment file:\n\n    $ make build\n\nYou should now see a new file `env.d/local`. Replace each setting by your credentials as\nsuggested in the file.\n\nRun the script against your manifest file:\n\n    $ bin/vf2m transfer.py my_manifest.csv\n\n## License\n\nThis work is released under the MIT License (see [LICENSE](./LICENSE)).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenfun%2Fvideofront-to-marsha","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenfun%2Fvideofront-to-marsha","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenfun%2Fvideofront-to-marsha/lists"}