{"id":26714842,"url":"https://github.com/timothydodd/handbrake-scheduler","last_synced_at":"2025-03-27T13:51:13.841Z","repository":{"id":253580114,"uuid":"843922608","full_name":"timothydodd/handbrake-scheduler","owner":"timothydodd","description":"This .NET 8 application is designed to schedule and automate video encoding using HandBrakeCLI","archived":false,"fork":false,"pushed_at":"2024-08-17T20:47:08.000Z","size":21,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-08-17T21:40:33.966Z","etag":null,"topics":["handbrakecli","video-encoding"],"latest_commit_sha":null,"homepage":"","language":"C#","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/timothydodd.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":"2024-08-17T20:33:17.000Z","updated_at":"2024-08-17T21:40:38.160Z","dependencies_parsed_at":"2024-08-17T21:52:02.611Z","dependency_job_id":null,"html_url":"https://github.com/timothydodd/handbrake-scheduler","commit_stats":null,"previous_names":["timothydodd/handbrake-scheduler"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timothydodd%2Fhandbrake-scheduler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timothydodd%2Fhandbrake-scheduler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timothydodd%2Fhandbrake-scheduler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timothydodd%2Fhandbrake-scheduler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/timothydodd","download_url":"https://codeload.github.com/timothydodd/handbrake-scheduler/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245858872,"owners_count":20684057,"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":["handbrakecli","video-encoding"],"created_at":"2025-03-27T13:51:13.164Z","updated_at":"2025-03-27T13:51:13.831Z","avatar_url":"https://github.com/timothydodd.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# HandBrake Encoding Scheduler\n\nThis .NET 8 application is designed to schedule and automate video encoding using HandBrakeCLI. It allows you to specify the input folders, output locations, encoding presets, and schedule encoding during specific parts of the day.\n\n\n## Features\n\n- **Multiple Folder Support:** Configure multiple folders for encoding with individual settings.\n- **Custom Presets:** Use any HandBrake preset for your encoding tasks.\n- **Scheduled Encoding:** Set specific times for the encoding process to run. (this should wake your computer if asleep)\n- **Automated Cleanup:** Option to delete source files after encoding.\n- **Folder Structure Preservation:** Retain the original folder structure in the output directory.\n- **Logging:** Detailed logging for monitoring and troubleshooting.\n\n## Configuration\n\nBelow is an example of the configuration file (`appsettings.json`):\n\n```json\n{\n  \"HandBrake\": {\n    \"HandBrakeCliPath\": \"C:\\\\ProgramData\\\\chocolatey\\\\bin\\\\HandBrakeCLI.exe\",\n    \"Folders\": [\n      {\n        \"InputPath\": \"E:\\\\Videos\\\\TV Shows\\\\\",\n        \"Preset\": \"Fast 1080p30\",\n        \"PreserveFolderStructure\": true,\n        \"DeleteSource\": true,\n        \"OutputPath\": \"G:\\\\videos\\\\TV Shows\\\\\",\n        \"FileExtensions\": [\n          \".mkv\",\n          \".mp4\"\n        ]\n      },\n      {\n        \"InputPath\": \"E:\\\\Videos\\\\Movies\\\\\",\n        \"Preset\": \"HQ 1080p30 Surround\",\n        \"PreserveFolderStructure\": true,\n        \"DeleteSource\": true,\n        \"OutputPath\": \"G:\\\\videos\\\\Movies\\\\\",\n        \"FileExtensions\": [\n          \".mkv\",\n          \".mp4\"\n        ]\n      }\n    ]\n  },\n  \"Schedule\": {\n    \"Enabled\": false,\n    \"StartTime\": \"18:05:00\",\n    \"EndTime\": \"18:10:00\",\n    \"User\": null,\n    \"Password\": null\n  },\n  \"Logging\": {\n    \"LogLevel\": {\n      \"Default\": \"Information\"\n    }\n  }\n}\n\n```\n\n## Key Configuration Settings\nHandBrakeCliPath: Path to the HandBrakeCLI executable.\n\n- Folders: An array of folder configurations where you can define:\n\n    - InputPath: Path to the folder containing videos to encode.\n    - Preset: The HandBrake encoding preset to use.\n    - PreserveFolderStructure: Set to true to maintain the folder structure in the output.\n    - DeleteSource: Set to true to delete the original files after encoding.\n    - OutputPath: Destination folder for encoded videos.\n    - FileExtensions: File types to encode (e.g., .mkv, .mp4).\n- Schedule:\n\n    - Enabled: Set to true to activate scheduled encoding.\n    - StartTime and EndTime: Define the time window for encoding tasks.\n    - User and Password: Optional credentials for secure environments.\n- Logging:\n    - Adjust the log level (Default) to control the verbosity of logs.\n\n## Usage\n1. Setup HandBrakeCLI:\nEnsure that HandBrakeCLI is installed on your system. You can use Chocolatey to install it:\n``` bash\nchoco install handbrake-cli\n```\n2. Configure the Application:\nEdit the appsettings.json file to match your environment and encoding needs.\n\n3. Run the Application:\nLaunch the .NET application to start encoding based on the provided schedule and configuration.\n``` bash\ndotnet run\n```\n\n4. Check Logs:\nLogs are stored in the application directory and can be used to troubleshoot or verify the encoding process.\n\nContributing\nContributions are welcome! Please submit issues or pull requests to help improve this tool.\n\nLicense\nThis project is licensed under the MIT License. See the LICENSE file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimothydodd%2Fhandbrake-scheduler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftimothydodd%2Fhandbrake-scheduler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimothydodd%2Fhandbrake-scheduler/lists"}