livepeer / livepeer/go-livepeer

Allow distinct Pricing for VOD and Live Streams per Broadcaster in `pricePerBroadcaster`

Open
#2,945 10 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

status: triage
Dominant language
Go
Stars
586
Forks
226
Avg merge
1d 17h
Merged PRs (30d)
19

Description

**Problem Statement:**

There's a growing need, as highlighted by [sundara.eth](https://discord.com/channels/423160867534929930/1192511334508667010/1192518469401456701) on Discord, for broadcasters to have the flexibility to set different pricing structures for Video On Demand (VOD) and Live streaming services. Currently, the `pricePerBroadcaster` CLI argument does not support this level of granularity.

**Proposed Solution:**

I propose enhancing the `go-livepeer` binary to support distinct pricing for Video on Demand (VOD) and Live streaming (LIVE). Specifically, it would be beneficial if the binary could interpret the following JSON structure, allowing orchestrators to set separate prices for VOD and Live streaming jobs:

```json
{
"broadcasters": [
{
"ethaddress": "0x68d6FF3938Ff63d2df16567Cb8CA9772e14496F7",
"priceperunit": {"VOD": 10, "LIVE": 50},
"pixelsperunit": 1
}
]
}
```

This JSON structure is intuitive and aligns well with the existing framework, offering a straightforward way for orchestrators to specify their pricing across jobs. Naturally, this feature must be implemented to maintain backward compatibility with the current syntax (e.g., `"priceperunit": 0`).

**Alternative Solutions Considered:**
(Describe any alternative solutions or features you have considered, if any)

**Additional Context:**
(Include any additional context or screenshots about the feature request here, if applicable)

Contributor guide

Open the contributing guide

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 go-livepeer binary's pricePerBroadcaster CLI argument and the existing priceperunit JSON handling. Trace how broadcaster pricing is parsed and applied for VOD and LIVE jobs, while preserving the current numeric syntax. Done means the new per-type pricing structure works and backward compatibility remains intact.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
backend-api-design, cli
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.