PHPackages                             kitbrennan90/aws-transcribe-to-webvtt - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. kitbrennan90/aws-transcribe-to-webvtt

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

kitbrennan90/aws-transcribe-to-webvtt
=====================================

PHP package for converting Amazon Web Services Transcribe Service results to a webVTT file

v1.0.1(6y ago)566.6k—2.6%1[1 issues](https://github.com/kitbrennan90/aws-transcribe-to-webvtt/issues)MITPHPPHP &gt;=7.1

Since Jul 3Pushed 5y agoCompare

[ Source](https://github.com/kitbrennan90/aws-transcribe-to-webvtt)[ Packagist](https://packagist.org/packages/kitbrennan90/aws-transcribe-to-webvtt)[ RSS](/packages/kitbrennan90-aws-transcribe-to-webvtt/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (2)Versions (3)Used By (0)

AWS Transcribe to WebVTT
========================

[](#aws-transcribe-to-webvtt)

This PHP package lets you take a JSON output from Amazon Transcribe and convert it into a valid WebVTT file to use as video subtitles.

[![Build Status](https://camo.githubusercontent.com/fbef4a7e9c52cac2b6039f528aba87176b6d56aaf34abef2cfdf780b76558dcc/68747470733a2f2f7472617669732d63692e6f72672f6b69746272656e6e616e39302f6177732d7472616e7363726962652d746f2d7765627674742e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/kitbrennan90/aws-transcribe-to-webvtt)[![Packagist](https://camo.githubusercontent.com/fa0f778a18282c3e1458bb088f7c352167051cd08d8f1478b06c78c2ba0d05b3/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6b69746272656e6e616e39302f6177732d7472616e7363726962652d746f2d7765627674742e737667)](https://camo.githubusercontent.com/fa0f778a18282c3e1458bb088f7c352167051cd08d8f1478b06c78c2ba0d05b3/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6b69746272656e6e616e39302f6177732d7472616e7363726962652d746f2d7765627674742e737667)

### Installation

[](#installation)

You can install this library via Composer. Run the following command: `composer require kitbrennan90/aws-transcribe-to-webvtt`

### Usage

[](#usage)

Getting started could not be easier. Simply initialise the transcriber, set your Amazon Transcribe string, and request an output:

```
use AwsTranscribeToWebVTT\Transcriber;

$transcriber = new Transcriber();
$transcriber->setAwsTranscription($jsonString);
$result = $transcriber->getOutputAsString();
```

### Advanced Options

[](#advanced-options)

#### Set max string length of cues

[](#set-max-string-length-of-cues)

By default, cues will be cut when they reach 30 characters long. You can set your own cutoff with the `setMaxCueStringLength(int $value)` option.

Example (setting cue length at 40 characters):

```
use AwsTranscribeToWebVTT\Transcriber;

$transcriber = new Transcriber();
$transcriber->setAwsTranscription($jsonString)->setMaxCueStringLength(40);
$result = $transcriber->getOutputAsString();
```

#### Set max second length of cues

[](#set-max-second-length-of-cues)

By default, cues will be cut if they will span a period longer than 30 seconds. You can set a custom length in seconds using `setMaxCueTimeLength(int $value)`.

Example (setting cue length at 50 seconds):

```
use AwsTranscribeToWebVTT\Transcriber;

$transcriber = new Transcriber();
$transcriber->setAwsTranscription($jsonString)->setMaxCueTimeLength(50);
$result = $transcriber->getOutputAsString();
```

*Note: the length of a cue is worked out to the nearest second, so a value of 30 will still include cues 30.9 seconds long.*

#### Delay all timings by *n* seconds

[](#delay-all-timings-by-n-seconds)

Sometimes it is useful to postpone all the timings (eg. when you are stitching videos together). Use the `setSecondPostponement(int $value)` to set this option (default is no delay).

Example (delaying all timings by 10 seconds):

```
use AwsTranscribeToWebVTT\Transcriber;

$transcriber = new Transcriber();
$transcriber->setAwsTranscription($jsonString)->setSecondPostponement(10);
$result = $transcriber->getOutputAsString();
```

### Help

[](#help)

This library is a small labour of love. If you have any questions or if you think something is missing, please option an issue and I will answer as quickly as possible.

###  Health Score

32

—

LowBetter than 72% of packages

Maintenance16

Infrequent updates — may be unmaintained

Popularity35

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

2

Last Release

2511d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/b20b074813a9caaa48ad142152597051abe161caffc4d1182f967a35eb6409e4?d=identicon)[kitbrennan](/maintainers/kitbrennan)

---

Top Contributors

[![kitbrennan90](https://avatars.githubusercontent.com/u/1593605?v=4)](https://github.com/kitbrennan90 "kitbrennan90 (5 commits)")

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/kitbrennan90-aws-transcribe-to-webvtt/health.svg)

```
[![Health](https://phpackages.com/badges/kitbrennan90-aws-transcribe-to-webvtt/health.svg)](https://phpackages.com/packages/kitbrennan90-aws-transcribe-to-webvtt)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
