{"id":21829890,"url":"https://github.com/andreia/php-sdk-dolby-api","last_synced_at":"2025-08-20T22:32:23.946Z","repository":{"id":109909996,"uuid":"609707536","full_name":"andreia/php-sdk-dolby-api","owner":"andreia","description":"PHP SDK for Dolby API","archived":false,"fork":false,"pushed_at":"2025-02-15T23:27:18.000Z","size":50,"stargazers_count":40,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-27T09:49:16.837Z","etag":null,"topics":["api","dolby","php","sdk"],"latest_commit_sha":null,"homepage":"","language":"PHP","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/andreia.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["andreia"]}},"created_at":"2023-03-05T01:31:18.000Z","updated_at":"2025-03-08T22:32:57.000Z","dependencies_parsed_at":null,"dependency_job_id":"ff4f19f8-99af-4375-a922-8dd9fd474b35","html_url":"https://github.com/andreia/php-sdk-dolby-api","commit_stats":{"total_commits":3,"total_committers":1,"mean_commits":3.0,"dds":0.0,"last_synced_commit":"57a957498e664ea139834eabee6aa345b41c314b"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/andreia/php-sdk-dolby-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreia%2Fphp-sdk-dolby-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreia%2Fphp-sdk-dolby-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreia%2Fphp-sdk-dolby-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreia%2Fphp-sdk-dolby-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andreia","download_url":"https://codeload.github.com/andreia/php-sdk-dolby-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreia%2Fphp-sdk-dolby-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271397965,"owners_count":24752641,"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","status":"online","status_checked_at":"2025-08-20T02:00:09.606Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["api","dolby","php","sdk"],"created_at":"2024-11-27T18:32:57.232Z","updated_at":"2025-08-20T22:32:23.572Z","avatar_url":"https://github.com/andreia.png","language":"PHP","funding_links":["https://github.com/sponsors/andreia"],"categories":[],"sub_categories":[],"readme":"# PHP SDK for Dolby API\n\nProvides a PHP wrapper for [Dolby API](https://docs.dolby.io/).\n\n## Installation\n\nInstalling via Composer:\n\n```bash\ncomposer require andreia/php-sdk-dolby-api\n```\n\n## Usage\n\n### Instantiate the API class\n\n```php\nuse DolbyApi\\DolbyApi;\n\n$dolbyApi = new DolbyApi('your-api-token');\n```\n\n### Media APIs\n\nMedia API \nhttps://docs.dolby.io/media-apis/docs\n\n```php\n$dolbyApi-\u003eapi('media')\n```\n\n#### [Enhance API](https://docs.dolby.io/media-apis/docs/enhance-api-guide)\n\n[Start Enhancing](https://docs.dolby.io/media-apis/reference/media-enhance-post)\n\n```php\n$dolbyApi-\u003eapi('media')-\u003eenhance('input-string', 'output-string');\n```\n\nE.g.:\n```php\n$startEnhance = $dolbyApi-\u003eapi('media')-\u003eenhance('https://dolbyio.s3-us-west-1.amazonaws.com/public/shelby/tunnel.original.mp4', 'dlb://example_out');\n\n$startEnhance-\u003ebody(); // \"{\"job_id\":\"5970da3d-cdbc-4128-b2f8-21ab61573d2e\"}\"\n$startEnhance-\u003ejson(); // decoded body: [ \"job_id\" =\u003e \"44fccc05-54cc-4bda-84ba-a8c9ee4b8335\"]\n$startEnhance-\u003estatus(); // 200\n```\n\n[Get Enhance Results](https://docs.dolby.io/media-apis/reference/media-enhance-get)\n\n```php\n$dolbyApi-\u003eapi('media')-\u003eenhanceStatus('job-id');\n```\n\nE.g.:\n```php\n$enhanceStatus = $dolbyApi-\u003eapi('media')-\u003eenhanceStatus('44fccc05-54cc-4bda-84ba-a8c9ee4b8335');\n$enhanceStatus-\u003ebody(); // {\"path\":\"/media/enhance\",\"status\":\"Success\",\"progress\":100,\"api_version\":\"v1.1.2\",\"result\":{}}\"\n```\n\n#### Input and Output API\n\n**Input**\n\n[Get Upload URL](https://docs.dolby.io/media-apis/reference/media-input-post)\n\n```php\n$uploadUrl = $dolbyApi-\u003eapi('media')-\u003egetUploadUrl('your-dlb-url');\n```\n\nE.g.:\n```php\n$uploadUrl = $dolbyApi-\u003eapi('media')-\u003egetUploadUrl('dlb://input/file.wav');\n$uploadUrl-\u003ebody(); // {\"url\":\"https://media-api-proxfyprug.s3-accelerate.amazonaws.com/1129d723-42e6-40c6-a35d-07986d1be4af/input/file.wav?X-Amz-Algorithm=AWS4-HMAC-SHA256\u0026X-Amz-Content-Sha256=UNSIGNED-PAYLOAD\u0026X-Amz-Credential=ASIA2N2ZL3VQGKHMR3VL%2F20230228%2Fus-west-2%2Fs3%2Faws4_request\u0026X-Amz-Date=20230228T184217Z\u0026X-Amz-Expires=3600\u0026X-Amz-Security-Token=IQoJb3a79hu6%2B52SmSMc...CN20ld5RdKNOCNX%2BH%2BV8%3D\u0026X-Amz-Signature=d866b39b6...54008d18970\u0026X-Amz-SignedHeaders=host\u0026x-id=PutObject\"} \n```\n\n**Output**\n\n[Get Download URL](https://docs.dolby.io/media-apis/reference/media-output-post)\n\n```php\n$mediaDownloadResponse = $dolbyApi-\u003eapi('media')-\u003egetDownloadUrl('your-dlb-url');\n```\n\nE.g:\n```php\n$mediaDownloadResponse = $dolbyApi-\u003eapi('media')-\u003egetDownloadUrl('dlb://example_out');\n$mediaDownloadResponse-\u003ebody(); // {\"url\":\"https://media-api-proxfyprug.s3-accelerate.amazonaws.com/1129d723-42e6-40c6-a35d-07986d1be4af/example_out?X-Amz-Algorithm=AWS4-HMAC-SHA256\u0026X-Amz-Content-Sha256=UNSIGNED-PAYLOAD\u0026X-Amz-Credential=ASIA2N2ZL3VQJGFYC2XN%2F20230228%2Fus-west-2%2Fs3%2Faws4_request\u0026X-Amz-Date=20230228T180833Z\u0026X-Amz-Expires=3600\u0026X-Amz-Security-Token=IQoJb3JpZ2luX2V..XFAHFKaFjPaCd%2Bk%3D\u0026X-Amz-Signature=2cd8a66224c...3614e79d65d0fb2\u0026X-Amz-SignedHeaders=host\u0026x-id=GetObject\"}\n```\n\nE.g. response with error:\n```php\n[\n  \"type\" =\u003e \"/problems/validation-error\"\n  \"title\" =\u003e \"Your request parameters didn't validate\"\n  \"status\" =\u003e 400\n  \"instance\" =\u003e \"/media/output\"\n  \"detail\" =\u003e \"Request body contains invalid json\"\n]\n```\n\n#### [Auto Diagnose API](https://docs.dolby.io/media-apis/docs/diagnose-api-guide)\n\n[Start Diagnosing](https://docs.dolby.io/media-apis/reference/media-diagnose-post)\n\n```php\n$diagnoseResponse = $dolbyApi-\u003eapi('media')-\u003ediagnose('input-string', 'content-array');\n```\n\nE.g.:\n```php\n$diagnoseResponse = $dolbyApi-\u003eapi('media')-\u003ediagnose('https://dolbyio.s3-us-west-1.amazonaws.com/public/shelby/tunnel.original.mp4', ['type' =\u003e 'mobile_phone']);\n$diagnoseResponse-\u003ebody(); // \"{\"job_id\":\"671230t0-e785-4472-b4w3-c57fa31u645b\"}\"\n```\n\n[Get Diagnose Results](https://docs.dolby.io/media-apis/reference/media-diagnose-get)\n\n```php\n$diagnoseStatusResponse = $dolbyApi-\u003eapi('media')-\u003ediagnoseStatus('job-id');\n```\n\nE.g.:\n```php\n$diagnoseStatusResponse = $dolbyApi-\u003eapi('media')-\u003ediagnoseStatus('174230d0-e785-4472-b4a3-c57fa31f665b');\n$diagnoseStatusResponse-\u003ebody();  // \"{\"path\":\"/media/diagnose\",\"status\":\"Success\",\"progress\":100,\"api_version\":\"b1.0\",\"result\":{\"media_info\":{\"container\":{\"kind\":\"mp4\",\"duration\":10.45,\"bitrate\":822169,\"size\":1073958},\"audio\":{\"codec\":\"aac\",\"channels\":2,\"sample_rate\":44100,\"duration\":10.45,\"bitrate\":96000},\"video\":{\"codec\":\"h264\",\"frame_rate\":30,\"height\":360,\"width\":640,\"duration\":10.45,\"bitrate\":711452}},\"audio\":{\"quality_score\":{\"average\":3.7,\"distribution\":[{\"lower_bound\":0,\"upper_bound\":1,\"duration\":0,\"percentage\":0},{\"lower_bound\":1,\"upper_bound\":2,\"duration\":0,\"percentage\":0},{\"lower_bound\":2,\"upper_bound\":3,\"duration\":2.5,\"percentage\":26.3},{\"lower_bound\":3,\"upper_bound\":4,\"duration\":3,\"percentage\":31.6},{\"lower_bound\":4,\"upper_bound\":5,\"duration\":4,\"percentage\":42.1},{\"lower_bound\":5,\"upper_bound\":6,\"duration\":0,\"percentage\":0},{\"lower_bound\":6,\"upper_bound\":7,\"duration\":0,\"percentage\":0},{\"lower_bound\":7,\"upper_bound\":8,\"duration\":0,\"percentage\":0},{\"lower_bound\":8,\"upper_bound\":9,\"duration\":0,\"percentage\":0},{\"lower_bound\":9,\"upper_bound\":10,\"duration\":0,\"percentage\":0}],\"worst_segment\":{\"start\":3.5,\"end\":8.5,\"score\":3.3}},\"noise_score\":{\"average\":0.9,\"distribution\":[{\"lower_bound\":0,\"upper_bound\":1,\"duration\":7,\"percentage\":73.7},{\"lower_bound\":1,\"upper_bound\":2,\"duration\":0.5,\"percentage\":5.3},{\"lower_bound\":2,\"upper_bound\":3,\"duration\":0.5,\"percentage\":5.3},{\"lower_bound\":3,\"upper_bound\":4,\"duration\":1,\"percentage\":10.5},{\"lower_bound\":4,\"upper_bound\":5,\"duration\":0.5,\"percentage\":5.3},{\"lower_bound\":5,\"upper_bound\":6,\"duration\":0,\"percentage\":0},{\"lower_bound\":6,\"upper_bound\":7,\"duration\":0,\"percentage\":0},{\"lower_bound\":7,\"upper_bound\":8,\"duration\":0,\"percentage\":0},{\"lower_bound\":8,\"upper_bound\":9,\"duration\":0,\"percentage\":0},{\"lower_bound\":9,\"upper_bound\":10,\"duration\":0,\"percentage\":0}]},\"clipping\":{\"events\":0},\"loudness\":{\"measured\":-14.91,\"range\":2.26,\"gating_mode\":\"speech\",\"sample_peak\":-0.82,\"true_peak\":-0.81},\"music\":{\"percentage\":0},\"silence\":{\"percentage\":0,\"at_beginning\":0,\"at_end\":0,\"num_sections\":0,\"silent_channels\":[]},\"speech\":{\"percentage\":100,\"events\":{\"plosive\":6,\"sibilance\":0}}}}}\"\n```\n\n#### [Analyse API](https://docs.dolby.io/media-apis/docs/analyze-api-guide)\n\n[Start Analyzing](https://docs.dolby.io/media-apis/reference/media-analyze-post)\n\n```php\n$analyzeResponse = $dolbyApi-\u003eapi('media')-\u003eanalyze('input-string', 'output-string', ['profile' =\u003e 'selected-profile']);\n```\n\nE.g.:\n```php\n$loudness = [\n    \"profile\" =\u003e \"service_amazon\",\n];\n\n$analyzeResponse = $dolbyApi-\u003eapi('media')-\u003eanalyze('https://dolbyio.s3-us-west-1.amazonaws.com/public/shelby/tunnel.original.mp4', 'dlb://analyze_out', $loudness);\n$analyzeResponse-\u003ebody(); // \"{\"job_id\":\"6202f5dd-21f7-433-8r66-42fta96c9f5e\"}\"\n```\n\n[Get Analyze Status](https://docs.dolby.io/media-apis/reference/media-analyze-get)\n\n```php\n$analyzeStatusResponse = $dolbyApi-\u003eapi('media')-\u003eanalyzeStatus('job-id');\n```\n\nE.g.:\n```php\n$analyzeStatusResponse = $dolbyApi-\u003eapi('media')-\u003eanalyzeStatus('6214f5ed-28t7-4961-8f26-40kcr96c9q5m');\n$analyzeStatusResponse-\u003ebody(); // \"{\"path\":\"/media/analyze\",\"status\":\"Success\",\"progress\":100,\"api_version\":\"b1.4\",\"result\":{}}\"\n```\n\n\n#### [Analyse Speech API](https://docs.dolby.io/media-apis/docs/speech-analytics-api-guide)\n\n[Start Analyzing Speech](https://docs.dolby.io/media-apis/reference/media-analyze-speech-post)\n\n```php\n$analyzeSpeechResponse = $dolbyApi-\u003eapi('media')-\u003eanalyzeSpeech('input-string', 'output-string', [\"url\" =\u003e \"webhook-address-to-be-called-on-complete\"]);\n```\n\nE.g.:\n```php\n$analyzeSpeechResponse = $dolbyApi-\u003eapi('media')-\u003eanalyzeSpeech('https://dolbyio.s3-us-west-1.amazonaws.com/public/shelby/tunnel.original.mp4', 'dlb://analyze_speech_out', [\"url\" =\u003e \"https://webhookaddresstobecalledoncomplete.com/\"]);\n$analyzeSpeechResponse-\u003ebody(); // \"{\"job_id\":\"1ba639sd-d876-46ga-845w-33ec4c5cer00\"}\"\n```\n\n[Get Analyze Speech Status](https://docs.dolby.io/media-apis/reference/media-analyze-speech-get)\n\n```php\n$analyzeSpeechStatusResponse = $dolbyApi-\u003eapi('media')-\u003eanalyzeSpeechStatus('job-id');\n```\n\nE.g.:\n```php\n$analyzeSpeechStatusResponse = $dolbyApi-\u003eapi('media')-\u003eanalyzeSpeechStatus('1ba639sd-d876-46ga-845w-33ec4c5cer00');\n$analyzeSpeechStatusResponse-\u003ebody(); // \"{\"path\":\"/media/analyze/speech\",\"status\":\"Success\",\"progress\":100,\"api_version\":\"b1.0\",\"result\":{}}\"\n```\n\n#### [Analyse Music API](https://docs.dolby.io/media-apis/docs/analyze-music-api-guide)\n\n[Start Analyzing Music](https://docs.dolby.io/media-apis/reference/media-analyze-music-post)\n\n```php\n$analyzeMusicResponse = $dolbyApi-\u003eapi('media')-\u003eanalyzeMusic('input-string', 'output-string', [\"url\" =\u003e \"webhook-address-to-be-called-on-complete\"]);\n```\n\nE.g.:\n```php\n$analyzeMusicResponse = $dolbyApi-\u003eapi('media')-\u003eanalyzeMusic('https://dolbyio.s3-us-west-1.amazonaws.com/public/shelby/tunnel.original.mp4', 'dlb://analyze_music_out', [\"url\" =\u003e \"https://webhookaddresstobecalledoncomplete.com/\"]);\n$analyzeMusicResponse-\u003ebody(); // \"{\"job_id\":\"0c1fae6e-39e5-4a36-a076-bf3315d5179f\"}\"\n```\n\n[Get Analyze Music Status](https://docs.dolby.io/media-apis/reference/media-analyze-music-get)\n\n```php\n$analyzeMusicStatusResponse = $dolbyApi-\u003eapi('media')-\u003eanalyzeMusicStatus('job-id');\n```\n\nE.g.:\n```php\n$analyzeMusicStatusResponse = $dolbyApi-\u003eapi('media')-\u003eanalyzeMusicStatus('0c1faw6e-39e5-4a36-a056-af3615e5189f');\n$analyzeMusicStatusResponse-\u003ebody(); // \"{\"path\":\"/media/analyze/music\",\"status\":\"Success\",\"progress\":100,\"api_version\":\"b1.0\",\"result\":{}}\"\n```\n\n#### [Transcode API](https://docs.dolby.io/media-apis/docs/transcode-api-guide)\n\n[Start Transcoding](https://docs.dolby.io/media-apis/reference/media-transcode-post)\n\n```php\n$transcodingResponse = $dolbyApi-\u003eapi('media')-\u003etranscode('inputs-array', 'outputs-array', 'optional-storage-array', 'optional-on-complete-array');\n```\n\nE.g.:\n```php\n$inputs = [\n    'source' =\u003e 'https://dolbyio.s3-us-west-1.amazonaws.com/public/shelby/indoors.original.mp4'\n];\n\n$outputs = [\n    \"id\" =\u003e \"my_mp4\",\n    \"destination\" =\u003e \"dlb://out/airplane-transcoded.mp4\",\n    \"kind\" =\u003e \"mp4\",\n];\n\n$transcodingResponse = $dolbyApi-\u003eapi('media')-\u003etranscode($inputs, $outputs);\n$transcodingResponse-\u003ebody(); // \"{\"job_id\":\"0c1fae6e-39e5-4a36-a076-bf3315d5179f\"}\"\n```\n\n[Get Transcode Results](https://docs.dolby.io/media-apis/reference/media-transcode-get)\n\n```php\n$transcodeResultsResponse = $dolbyApi-\u003eapi('media')-\u003etranscodeResults('job-id');\n```\n\nE.g.:\n```php\n$transcodeResultsResponse = $dolbyApi-\u003eapi('media')-\u003etranscodeResults('0c1fae6e-39e5-4a36-a076-bf3315d5179f');\n$transcodeResultsResponse-\u003ebody(); // {\"path\":\"/media/transcode\",\"status\":\"Success\",\"progress\":100,\"api_version\":\"v1.7\",\"result\":{}}\n```\n\n#### [Music Mastering API](https://docs.dolby.io/media-apis/docs/music-mastering-api-guide)\n\nTODO\n\n\n### Communication APIs\n\nTODO\n\n### Streaming APIs\n\nTODO\n\n## Sponsor\n\n[💚️ Become a Sponsor](https://github.com/sponsors/andreia)\n\n## Testing\n\n```bash\n./vendor/bin/pest\n```\n\n## Changelog\n\nPlease see [CHANGELOG](CHANGELOG.md) for more information what has changed recently.\n\n## Contributing\n\nContributions are welcome! :)\n\n## License\n\nThe MIT License (MIT). Read [License](LICENSE) for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandreia%2Fphp-sdk-dolby-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandreia%2Fphp-sdk-dolby-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandreia%2Fphp-sdk-dolby-api/lists"}