Skip to content

Commit

Permalink
feat: support audio-video mismatch. audio segmentation follows video
Browse files Browse the repository at this point in the history
  • Loading branch information
tobbee committed Oct 12, 2023
1 parent 70b2325 commit b94f3e6
Show file tree
Hide file tree
Showing 14 changed files with 1,013 additions and 240 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ coverage.*
*.out

# Dependency directories (remove the comment below to include it)
# vendor/
vendor/
1 change: 0 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- HTTP 410 Gone response for segments before timeShiftBufferDepth
- limited methods in OPTIONS response


## [0.8.0] - 2023-09-22

### Added
Expand Down
18 changes: 14 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -133,15 +133,14 @@ the 1970 Epoch start, and makes it possible to test time-dependent requests in a

Install Go 1.19 or later.

Optionally, create a local `vendor` directory to keep a local copy of
all dependencies.

Then run

```sh
> go mod tidy
```

(or `go mod vendor`)

to fetch and install all dependencies.

To build `dashfetcher` and `livesim2` you can use the `Makefile` like
Expand All @@ -150,7 +149,7 @@ To build `dashfetcher` and `livesim2` you can use the `Makefile` like
> make build
```

to create binaries in the /out directory with embedded version numbers.
to create binaries in the `/out` directory with embedded version numbers.

During development it may be easier to use the usual go commands:

Expand Down Expand Up @@ -179,12 +178,23 @@ and set the `port` to 443.`

## Content

The content must be a DASH VoD asset in `isoff-live` format
(individual segment files) with either `SegmentTimeline with $Time$` or
`SegmentTemplate with $Number$`. The video segment duration must
be constant and an integral number of milliseconds. Audio output segments will be
adjusted to start at, or less than one audio frame after, each video segment start.

There are multiple ways to get content to the livesim2 server.

1. Use the bundled test content (only 8s long)
2. Fetch content that was used with [livesim1][1] from
github at [livesim-content][livesim-content]
3. Use the `dashfetcher` tool to download a DASH asset
4. Copy an existing VoD asset in `isoff-live`

There is special representation data that can be used for quicker loading of the
assets. The generation of such data is controlled via the `writerepdata` and
`repdataroot` configuration parameters.

### Bundled test streams with the livesim2 server

Expand Down
Loading

0 comments on commit b94f3e6

Please sign in to comment.