{"id":18427214,"url":"https://github.com/fjebaker/reecho","last_synced_at":"2025-04-13T19:38:58.437Z","repository":{"id":50173908,"uuid":"250575380","full_name":"fjebaker/ReEcho","owner":"fjebaker","description":"Python and ffmpeg wrapper for downloading lecture streams from echo360.","archived":false,"fork":false,"pushed_at":"2022-12-08T03:54:29.000Z","size":47,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-05T01:07:01.120Z","etag":null,"topics":["download","echo","echo360","lectures","python","zoom"],"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/fjebaker.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}},"created_at":"2020-03-27T15:46:22.000Z","updated_at":"2020-04-07T09:32:40.000Z","dependencies_parsed_at":"2023-01-25T07:31:06.761Z","dependency_job_id":null,"html_url":"https://github.com/fjebaker/ReEcho","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fjebaker%2FReEcho","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fjebaker%2FReEcho/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fjebaker%2FReEcho/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fjebaker%2FReEcho/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fjebaker","download_url":"https://codeload.github.com/fjebaker/ReEcho/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248769563,"owners_count":21158838,"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":["download","echo","echo360","lectures","python","zoom"],"created_at":"2024-11-06T05:09:56.891Z","updated_at":"2025-04-13T19:38:58.392Z","avatar_url":"https://github.com/fjebaker.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ReEcho: an echo360 lecture downloader\n\n![sample-output](https://github.com/Dustpancake/ReEcho/blob/master/header.png)\n\n### Features:\n\n- Lesson selector for a given course\n- Fast and high quality download\n- Audio and video muxing\n- Creates a `.mp4` file of your lecture\n\n### Setting up the environment\nThis program requires command line `ffmpeg` and `python3.7+`. Tested on OSX and Linux. I have **strong doubts** it would work on Windows in its current form.\n\nFor installing `ffmpeg`, see [this link](https://ffmpeg.org/download.html). On OSX, you can use brew if you have it:\n```\nbrew install ffmpeg\n```\nTo set up the python environment, I recommend using a virtual environment:\n```\npython3 -m venv venv\nsource venv/bin/activate\npip install -r requirements.txt\n```\n\n## Usage\nTo use the program, you need to provide a 'curlfile', i.e. a file containing the relevant curl command to access the home page of your lecture course.\n\nThe easiest way to obtain this is to login and visit the `home` of echo360 for your course. Open the Network tab of the developer tools, and refresh the page. The top entry should read something like \n```\nStatus\tMethod\tDomain\t\t\t\tFile \t\tCause\n----------------------------------------------------------------------\t\n200\t\tGET\t\techo360.org.uk \t\thome \t\tdocument\t...\n...\n```\nRight click on this, and under `Copy` select `Copy as cURL`. Paste this into a file, name it whatever you like, and then execute the downloader using\n```\npython . ./[path_to_curl_file]\n```\n\nThe downloader script will use the cookie headers to automatically login as your user account, and display your courses.\n\n## Notes\nThis has only been tested on the **one** course I have access to, which as of date of writing only has **one** lesson upload. I've tried my best to anticipate the generalization of the code, but there be errors since I had a very limited range of tests available. Please contact me with logs so I can patch them.\n\nThanks and enjoy :)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffjebaker%2Freecho","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffjebaker%2Freecho","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffjebaker%2Freecho/lists"}