{"id":13907638,"url":"https://github.com/softdevca/mootranscode","last_synced_at":"2025-07-18T06:30:32.784Z","repository":{"id":42566144,"uuid":"338499904","full_name":"softdevca/mootranscode","owner":"softdevca","description":"Local audio and video transcoding for Moodle","archived":false,"fork":false,"pushed_at":"2023-10-19T06:12:13.000Z","size":113,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-11T05:54:21.993Z","etag":null,"topics":["audio","moodle","transcode","video"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/softdevca.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}},"created_at":"2021-02-13T04:55:08.000Z","updated_at":"2023-03-15T05:30:07.000Z","dependencies_parsed_at":"2022-09-05T07:40:16.260Z","dependency_job_id":"409f8ba9-b1f2-4ae8-aa9a-60b497f56c41","html_url":"https://github.com/softdevca/mootranscode","commit_stats":{"total_commits":47,"total_committers":2,"mean_commits":23.5,"dds":0.3829787234042553,"last_synced_commit":"7b7294fa6428e76eae0ff764db5cffeefc2bed96"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/softdevca/mootranscode","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softdevca%2Fmootranscode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softdevca%2Fmootranscode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softdevca%2Fmootranscode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softdevca%2Fmootranscode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/softdevca","download_url":"https://codeload.github.com/softdevca/mootranscode/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softdevca%2Fmootranscode/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264943704,"owners_count":23686934,"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":["audio","moodle","transcode","video"],"created_at":"2024-08-06T23:02:03.572Z","updated_at":"2025-07-18T06:30:32.508Z","avatar_url":"https://github.com/softdevca.png","language":"Rust","readme":"# mootranscode\r\n\r\nMootranscode provided local audio and video transcoding for Moodle. It\r\nreplaces the uploaded version of video and audio files with transcoded\r\nversions that can play anywhere. This avoids students needing to be able to\r\nview every possible format, like requiring QuickTime for MOV files on Windows.\r\n\r\nThe following conversions are currently done:\r\n\r\n- video/quicktime (.mov) to MP4 video\r\n- audio/ogg (.ogg) to MP4 audio\r\n\r\nThe MP4 versions of the files should work on any modern platform.\r\n\r\n## Warning\r\n\r\nThis was created as a one-off to solve a particular problem. Your mileage may\r\nvary but contributions are always very welcome.\r\n\r\nThis application has only been tested with Moodle 3.10 running on Ubuntu with\r\nPostgreSQL serving the database.\r\n\r\n## Installation\r\n\r\n[ffmpeg](https://ffmpeg.org/) must be installed to do the heavy lifting.\r\n\r\nCompile the code with\r\n\r\n```\r\n$ cargo build --release\r\n```\r\n\r\nthen move the binary from `target/release/mootrancode` to somewhere convenient\r\nlike `/usr/local/bin/`.\r\n\r\nTo run the application as a service using systemd create a file called\r\n`/etc/systemd/system/mootranscode.service` substituting the name of the\r\nappropriate user:\r\n\r\n```\r\n[Unit]\r\nDescription=Mootranscode\r\nAfter=network.target\r\nStartLimitIntervalSec=0[Service]\r\nType=simple\r\nRestart=always\r\nRestartSec=1\r\nUser=YOUR_USERNAME\r\nExecStart=/usr/local/bin/mootranscode --repeat\r\n\r\n[Install]\r\nWantedBy=multi-user.target\r\n```\r\n\r\nStart the service using:\r\n\r\n```\r\n# systemctl start mootranscode\r\n```\r\n\r\nSet the service to start a boot using:\r\n\r\n```\r\n# systemctl enable mootranscode\r\n```\r\n\r\n## Running\r\n\r\nThe application must be able to read and write files in the Moodle data\r\ndirectory and that the server can read. This may require running as a user\r\nsuch as `moodle` or one in the `www-data` group.\r\n\r\nBy default the application runs once and exits. Continuosly poll the database\r\nfor new files by using the `--repeat` option.\r\n\r\nUnless the current user can connect to the Moodle database without password\r\nauthentication you will need the `--dbpass` option.\r\n\r\nFor a full list of options run:\r\n\r\n```\r\n$ mootranscode -help\r\n```\r\n\r\n## License\r\n\r\nCopyright 2021 Sheldon Young \u003csheldon@softdev.ca\u003e\r\n\r\nLicensed under the Apache License, Version 2.0 (the \"License\");\r\nyou may not use this file except in compliance with the License.\r\nYou may obtain a copy of the License at\r\n\r\n    http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nUnless required by applicable law or agreed to in writing, software\r\ndistributed under the License is distributed on an \"AS IS\" BASIS,\r\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\nSee the License for the specific language governing permissions and\r\nlimitations under the License.\r\n\r\n## History\r\n\r\n- 2022-01-28 Version 0.8\r\n- 2020-02-12 Published to GitHub.\r\n- 2020-02-09 Project started.\r\n","funding_links":[],"categories":["HarmonyOS"],"sub_categories":["Windows Manager"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoftdevca%2Fmootranscode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsoftdevca%2Fmootranscode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoftdevca%2Fmootranscode/lists"}