livepeer / livepeer/task-runner

Set proper metadata in transcode task output MP4

Open
#18 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Go
Stars
3
Forks
1
PR merge metrics
No merged PRs in 30d

Description

The output task is currently creating a video file that has no major_brand whatsoever in the MP4 container.
It also misses a lot of other metadata in the file, and browsers can't even play it back (they just prompt for
a download instead).

This is also a problem because the only way of detecting .mp4 vs .mov files is by checking the `major_brand`
of the `ffprobe` output.

[Here](https://livepeercdn.com/asset/216fnrl21vng3ney/video.json) is an example of such `ffprobe` output
not including a major brand, which was run on an asset transcoded by our own task. This is the problematic part:
```json
"tags": {
**"major_brand": "",**
"minor_version": "",
"compatible_brands": "",
"creation_time": "2020-01-10T19:37:32.000000Z"
}
```

This kind of blocks #17 since we can't start depending on a field which we generate broken values ourselves.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the transcode task that produces the MP4 and compare its output with the linked ffprobe JSON, focusing on the missing major_brand and related metadata. Confirm completion by producing an MP4 whose ffprobe tags are populated and that browsers play rather than download it.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
backend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.