Summary
This release includes support for multi-orchestrator node setups, more robust winning ticket management for orchestrators, a number of new transcoding features (fractional FPS, H264 profiles, GOP length) and a few updates/bug fixes.
Thanks to everyone that submitted bug reports and assisted in testing!
Features
Broadcaster
- Set orchestrator request timeout based on segment duration (#1477)
- This feature gives broadcasters more flexibility in sending variable duration segments for transcoding. The current duration cap is 5 minutes
- Add support for requesting fractional FPS for transcoding (#1525 livepeer/lpms#192)
- See the docs for information on specifying a fractional FPS using a webhook
- Add support for requesting H264 profiles for transcoding (#1542 livepeer/lpms#196)
- See the docs for information on specifying H264 profiles using a webhook
- Add support for requesting a GOP length for transcoding
- See the docs for information on specifying GOP lengths using a webhook (#1551 livepeer/lpms#198)
- Export deposit/reserve metrics via Prometheus (#1541)
- This feature will enable Prometheus integrations to leverage deposit/reserve data for monitoring/alerting
Orchestrator
- Allow multiple orchestrator nodes using their own addresses to accept payments on behalf of a single on-chain registered address (#1476)
- See the docs for information on running multiple orchestrator nodes
- Use a database for more robust winning ticket storage, submission and retries (#1493)
- Allow orchestrator nodes to submit winning tickets to a node running a ticket redemption service (#1495 #1545 #1521)
- This feature allows orchestrator nodes to be run with Ethereum addresses without any funds since the orchestrator node will not need to submit any transactions
- See the docs for information on how the ticket redemption service works
- See the multi orchestrator docs for information on how to run multiple orchestrator nodes with a ticket redemption service
- Set remote transcoder request timeout based on segment duration (#1511)
- This feature gives orchestrators that use remote transcoders more flexibility in transcoding variable duration segments
- Add support for transcoding with fractional FPS (#1525 livepeer/lpms#192)
- Add support for transcoding with H264 profiles (#1542 livepeer/lpms#196)
- Add support for transcoding with a set GOP length (#1551 livepeer/lpms#198)
- Add a
-reward
flag that can be used to explicitly enable/disable the reward service which automatically triggers reward calls (to mint LPT rewards) each round that a node is active- See the docs for information on
-reward
flag usage
- See the docs for information on
- Clear the stored ticket sender nonces tracked per broadcaster after an expiration time which avoids continuous memory usage growth as the orchestrator receives tickets from different broadcasters (#1526)
Bug Fixes
Broadcaster
- Fix a bug where the fee estimated for a segment when using FPS passthrough (i.e. use the same FPS as the source for the transcoded rendition) was 0 (#1508)
Orchestrator
- Fix a bug where transcoders were unable to handle segments with a single frame (#1502 livepeer/lpms#189)
- Fix a bug where the transcoder load balancing cost estimated for a segment when using FPS passthrough (i.e. use the same FPS as the source for the transcoded rendition) was 0 (#1508)
- Fix a bug where a winning ticket would never be redeemed if an initial redemption transaction failed due to an uninitialized round (#1493)
- Update the gas cost estimate for a ticket redemption transaction to more accurately reflect the actual gas cost for the transaction (#1553)
Verifying Release
md5 hashes for release binaries:
livepeer
(Linux): 0dceaae80750f52d762d549fb3248c0alivepeer_cli
(Linux): 62caf581949a659238aa84eb3db65ee3livepeer
(Darwin): c00289045c5a38e982503607702b96a3livepeer_cli
(Darwin): 1b0575938ef4d3e342f30db0c1384a5elivepeer.exe
(Windows): 8f9c05319a50039fc08a4b37a13a3b67livepeer_cli.exe
(Windows): 6e3ae7406c9a4b3654a79e7fe727edab
Generate the md5 hash:
md5sum livepeer
md5sum livepeer_cli
sha256 hashes for release binaries:
livepeer
(Linux): 3589a93df98cb782f1f5ff8c85f4ae2696c9bf1815d661742d8e3589ee35b6dblivepeer_cli
(Linux): d662489d2ff712374971a981b4e84796bdc3bf7192f892cf187cdea80029eff3livepeer
(Darwin): 5dd6c9dfb5282f64c480e1d72e0980597fc963b22be3f8d19769f5c41af455aalivepeer_cli
(Darwin): fc0e422aded2e95e9fc6df882e3c8890c12d533d79ecab13ddb193d41fbdc55elivepeer.exe
(Windows): 226c44d8e6d1d94774bf4a554b68be92764fa80f4baa3c51304e74083cd11858livepeer_cli.exe
(Windows): e2158c55e320edc93d3f5226669e4b10d76a2acf43b982de64408ad3be5b62ba
Generate the sha256 hash:
shasum -a 256 livepeer
shasum -a 256 livepeer_cli