Install the Mintlify CLI to preview the documentation changes locally. To install, use the following command
npm i -g mintlify
Run the following command at the root of your documentation (where mint.json is)
mintlify dev
Livepeer documentation
Home Page: https://docs.livepeer.org
License: MIT License
Install the Mintlify CLI to preview the documentation changes locally. To install, use the following command
npm i -g mintlify
Run the following command at the root of your documentation (where mint.json is)
mintlify dev
Ex. -rpc -rpcapi eth,net,web3
Might need -rpcaddr <RPC_ADDR>
if the node is on a remote machine.
Develop a strategy in creating and publishing docs so that,
Links are dynamically updated throughout the document
Problem:
There can be several methods for links within the documentation to be updated
Purpose: We want to make sure that if a document is renamed or moved around within docusaurus, that all links within pages referring to content in that document are automatically updated.
Acceptance Criteria
Example:
In the “Rinkeby Testnet” section it might be helpful to put “livepeer -rinkeby” in a block that looks like it should be ran from the command line. This would differentiate it from the sentence and make it standout. Example:
In your terminal run:
$ livepeer -rinkeby
When using the test network, you may want to direct the user to documentation that will help them in the event rinkeby cannot issue ETH to their address. https://faucet.rinkeby.io/ kept saying “URL doesn't link to supported services”, when I try to get test ETH.
https://docs.livepeer.org/installation/connect-to-ethereum#supported-networks
Currently the /video-miners section of the docs is pitched in terms of helping GPU operators "increase profits by transcoding video on GPUs while mining". This implies that you need to be mining, and might evem put off operators who don't wish to engage in PoW, as it isn't immediately clear that you can transcoded without also mining.
AFAIK there are not so many Os who also mine, plus the economics may even work without hashing at the same time as transcoding. Thus, it feels like this section needs a refresh.
Factor in the upcoming switch-off of PoW on Ethereum, GPU operators are going to be looking for ways to re-purpose their hardware.
Clearly, Ethereum isn't the only network that needs hashing, but there is perhaps an opportunity to expand on the green credentials, e.g. "using GPUs for their intended purpose i.e. processing graphics (what a radical concept /s)" instead of "proof-of-waste".
Discuss?
After installing sphinx, whenever I try to transpile the docs to html I find that I get this error:
Extension error:
Could not import recommonmark.parser (needed for source parser) (exception: No module named recommonmark.parser)
Makefile:20: recipe for target 'html' failed
make: *** [html] Error 2
Would it be better for the installation instructions to recommend using a virtual environment and installing required packages from a requirements.txt file for doc development?
Example:
pip install -r requirements.txt
Create a use case document with metrics.
Purpose: So that a new user can see how, based on a concrete use case, metrics can be beneficial.
Objectives: Provides a template based on a concrete example with steps a participant can follow to benefit from their metrics and make adjustments/solutions
Criteria:
For me, there is an important shift in mindset which needs to happen. A shift towards encouraging developers to build live video applications which interact directly with the public network. i.e. instead of building against a proprietary api exposing arbitrary and limited functionality.
The following approach can be positively described as approaches to building on Livepeer. It doesn't involve any crypto until the app scales, and also doesn't require a used dox the self with username/email/credit card etc.
It is motivated by the idea of cultivating a more diverse active set of Broadcasters than currently exists, and reduce Orchestrators' over-reliance on a single source of live content and fees.
i) run a B/Mist in offchain mode (no username/password, no crypto expertise needed, no cost) it's as easy as running ./livepeer -broadcaster
or whatever the MistServer equivalent is, and how many competent devs couldn't do that? This gives them full access to a livestreaming node which they can even build from source and tinker with under the hood.
ii) if/when needed (i.e. if/when the B's upstream bandwidth gets saturated by too many outgoing streams), configure their own CDN to distribute content more cost-effectively. This isn't beyond the capabilities of most developers, and is effectively what .com does.
iii) run a self-hosted O/T in offchain mode (still no crypto needed, doesn't even need an -ethUrl). This can even start with CPU transcoding to begin, and add a GPU if/when more than a few incoming streams start coming in.
iv) if/when required (i.e. if/when the O/T's transcoding capacity get saturated by too many incoming streams), connect to Rinkeby testnet, then if necessary to Mainnet (requires deposit/reserve). This became much more feasible since the switch to Arbitrum in terms of reserve deposit for PM tickets, and paves a way towards diversifying the active Broadcaster set, which can only be a good thing for the public network in the long run. It will also help to inform any work done on evolving the fee mechanism, to make sure we don't make it prohibitive for small independent Bs to feed the Os with source video content and fees.
This approach may be slightly more complex than just getting a free account with .com API, but it sets a developer on a path where they are entirely self-reliant and self-sovereign. Overall, it feels like a far more coherent and authentic approach for a project which aims to be the world's open video infrastructure, compared with "sign up for an account with this US-based corporation".
This is instead of proposing that developers build to an arbitrary API with limited functionality, where they need to rely on a centralised team to share their priorities, which isn't a scalable approach to serve all developers building video apps for the metaverse, and introduces points of failure (.com itself).
I appreciate this is some kind of strategy question, but I would be interested in hearing views of others.
Users should be able to view historical test results per orchestrator, but that is not available in the leaderboard frontend yet. Until that is available in the frontend, we should at least describe how someone can view those test results by using the API endpoint directly in the leaderboard FAQ.
As suggested in: livepeer/go-livepeer#308 (comment)
We should have a get started with OBS doc that explains the detailed settings to use in OBS to use Livepeer.
The two links in boardcasting section regarding running the node are broken.
When converting this doc to html there are some warnings saying:
#8 Is the following document supposed to be included in the html?
docs/docs/source/configuringOBSandLivepeer.md: WARNING: document isn't included in any toctree
Could include internal/external references for what one needs to know about blockchain to leverage Livepeer.
Shortened version of quickstart
Linking to existing instructions in livepeer
Add information about best practices editing docs,
https://docs.livepeer.org/installation/install-livepeer/binary-release#windows
e.g.,
mv
does not workWe have observed quite a lot of orchestrators returning OrchestratorCapped errors and it is likely that these orchestrators are using the default -maxSessions
value (10). If this is the case, then the orchestrators' transcoding capacity is being under utilized. We should add a guide for setting session limits that can use livepeer_bench.
The initial approach for setting session limits might involve:
The above would just be a rough way to get started setting session limits and we would want to note that the approach assumes a fixed/common ABR ladder, but you could follow the same steps given different ABR ladders as well.
Check and update the token.md with correct information regarding Arbitrum.
https://github.com/livepeer/docs/blob/main/docs/protocol/core-concepts/token.md
There should be a page in the documentation that makes the current limitations of the system clear to potential developers. These limitations will be lifted as we make progress on our roadmap. But right now it isn't clear to a developer coming into the network what they can and can not do.
Update glossary to aggregate all terms in glossaries/terminologies
in order to
have a single source of terminology across documentation
have an ample glossary
consolidate choose your role and roles and responsibilities
so that:
Currently we have the following repositories of content for Livepeer:
It is unclear to me the distinct purpose of each of these repositories, and what content belongs where.
This issue proposes an audit of what content currently lives where (the "as is"), in order to inform some decision making about what content should live where (the "to be").
It could be helpful to have some examples in the configuration payment parameters section of the SF public testnet docs for the PM calculator script. For example, the docs could present the price per pixel output of the script when targeting a specific frequency for winning tickets in clock time for a few input values for the desired ticket EV and projected gas price.
The default blockPollingInterval
exceeds Infura's 100k requests/day. Since most orchestrators rely on Infura's free tier, we should recommend orchestrators set the blockPollingInterval
to 12 seconds (-blockPollingInterval 12
) to avoid exceeding Infura's request per day limit.
Update Installation instructions
We should create a tutorial based on the Livepeer media player.
Sections:
Extend/write up an annotated list of components/capabilities
So that people who are new to Livepeer can be informed of the architecture/components and capabilities of the Livepeer offering,
Update "Intro" with a minimally robust Welcome page:
Develop a video streaming primer so that orchestrators and anyone on Livepeer can have a good foundation of technical knowledge about video streaming.
Rationale:
Video streaming is highly complex.
We want our orchestrators and anyone on Livepeer to have the knowledge to maximize the potential of Livepeer.
initial sketch of goals
Write-up a quick start to get up and running with Livepeer as a
Video Miner in just a few (3)steps
Update Activation guide in Getting Started
Once livepeer/go-livepeer#1693 is completed, we should add a note to the "How To Benchmark Transcoding" pre-reqs that you can also download a release binary as well.
Document the changes introduced in livepeer/go-livepeer#1778
I'm looking at https://livepeer.readthedocs.io/en/latest/developers.html which comes from https://github.com/livepeer/docs/blob/master/docs/source/developers.rst
There's a bit which says:
Setting up a development enviroment can be done by following
these instructions
_.
The link "these instructions" takes you to the same page - i.e. if someone wanted to set up a development environment, they would not get to it.
Perhaps it would encourage more developers to "develop on Livepeer" if these instructions existed?
Objective: develop tutorial/business use case for fees,
so to orchestrators understand how fees work
-set expectations for setting fees
-provides expectations about fees
Create/figure out how to incorporate a use case library for general information as well as provide visibility about specific use cases for each role:
In some instances the use cases are under Role/Concepts. Use cases can also be presented for general purposes,
So that participants are informed of how LP can be leveraged
Provide instructions/information about opening ports, e.g. 8935 for orchestrators to be able to start a node
While running an orchestrator behind a NAT (i.e. behind a home router) is not advised, it could be worthwhile to add an additional note that this can be possible via hairpinning which has done by at least one orchestrator operator already.
The steps that the orchestrator operator took were:
Add a second rule to the SNAT chain that looks like this:
13119 786268 DNAT tcp -- * * 0.0.0.0/0 <EXTERNAL_IP> tcp dpt:8935 to:10.0.0.10
2 120 SNAT tcp -- * * 10.0.0.10 10.0.0.10 to:<EXTERNAL_IP>
By running a command like this:
iptables -t nat -A POSTROUTING -p tcp -s 10.0.0.10 -d 10.0.0.10 -j SNAT --to-source <EXTERNAL_IP>
this guide should walk tokenholders through the process of delegating their LPT to an Orchestrator. Please include screenshots!
Update Testnet instructions:
https://docs.livepeer.org/video-miners/getting-started/testing/testnet
change the names of the Overviews to the name of the landing page and readers will get overview information on the landing page,
So that when clicking on the landing page, instead of having to click through the sections, they can navigate directly to the content they want
The purpose of this is to:
e.g. Protocol
- Overview
- Core Concepts
- - Overview
- - Ecosystem Participants
- - Livepeer Tokens, etc.
- - ...
- - ...
- - ...
A patch is required to release NVIDIAs GPU restrictions on concurrent streams.
Provide instructions to patch the NVIDIA GPU so that:
add and update Windows instructions from:
https://hub.docker.com/r/livepeer/go-livepeer
to:
https://docs.livepeer.org/installation/install-livepeer/docker
So that stakeholders using Windows can install Livepeer with Docker
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.