First off, we truly appreciate all of your support and apologize for not being able to reply to everyone’s comments. On the other hand, we’re excited about the enthusiastic interest you’ve expressed and, as we write, we’re highly engaged with your queries regarding the product features and technical implementations. Therefore, we will use this post to answer some of the more common questions, explain features that will be included in the first beta version of DLive, and share our current technical implementation progress. We’re also offering a Great Ideas Challenge with SBD as the prize, so make sure you read all the way through.
If you don’t know what DLive is, here is the introduction link.
[@dlive/dlive-the-first-decentralized-live-streaming-platform-on-steem]
UI Design
Style Guide
Prototype
1. Homepage--Login--Go Live
2. Homepage--Content Page--Theater Mode--Donation--Follow
Features & Tech Stack
Login
Generally, you log into Steem-based apps with your posting keys. In addition, to save you from relogging, your posting keys and usernames are somehow saved by those Steem-based apps. At the beginning of the project, to accelerate development speed, we considered storing postings keys locally with secure and encrypted cookies or localstorage in browsers, as some other Steem-based apps are doing. However, your security is always our top priority. We want to ensure you that DLive provides a robust and secure environment for live streaming broadcasters and viewers without putting your security at risk.
Thus, instead of asking you to trust DLive, we follow the advice from Steemit Corp and use SteemConnect to manage your logins. SteemConnect is a trusted 3rd party, ran officially by SteemIt Corp, allowing you to manage your logins to steem-based apps. With SteemConnect, we do not have any access to any privates keys or password. We only use an access token provided by SteemConnect to verify you and perform posting actions on your behalf.
Voting
The voting system on DLive will be the same as it is on Steemit. you will be able to upvote and downvote contents including live streaming. Downvote will be presented as “Report” on DLive.
Donations
You will be able to show their appreciation to broadcasters by transferring STEEM or SBD. Normally you’ll need to enter your active key before accessing your wallet and on dapps, that might give away your active key to malicious developers. Thus, we use SteemConnect v2 without revealing your active key or password, and you could sign a link for the donation.
Sync with Steemit.com
All contents on DLive are synchronized with Steem blockchain; therefore, when you post or repost a content on DLive, it also posts the content on your accounts on Steemit.com or busy.org. As the content is broadcasted on Steem blockchain, your content could gain tractions from other Steem-base platforms such as steemit.com. For example, non-DLive users could see and join the interactions during a live streaming just on steemit.com through the corresponding post.
Chatroom
You could express freely while watching a live streaming broadcast by posting in its chatroom. Messages in the chat windows during live streaming is counted as comments for this live streaming. When a user enter the chatroom, recent messages will be displayed to the user. Chat history will synchronize to Steem blockchain and could be seen on other Steem-based websites or apps as comments.
Live Streaming Service
Decentralized live streaming technology has been on our radar for a while. Livepeer just released their testnet, and IPFS with libp2p could potentially support live streaming. However, none of them are production-ready as of today. Therefore, DLive will launch with Wowza live streaming service and gradually move towards p2p live streaming tech as they mature. Wowza is the leader of live streaming service and has been serving well-known applications like Periscope.
DLive supports most RTMP encoders for live streaming and we recommend using Open Broadcast Software, which is a free and open source software running on Windows, macOS and Linux. Encoders of different format and protocols will be supported in the future. If you have a preference on encoders, please use the survey at the bottom of this article to let us know! We will accommodate your needs as soon as possible.
Live Streams Playback Storage
All your live streams will be stored on Wowza Cloud for 24 hours and will be deleted if you decide not to store them. During this 24 hour period, you can download them as a backup and then upload to DLive for others to rewatch your live streaming. If others like it, you get rewarded again!
However, we have to find a way to store these live streaming playbacks and IPFS is a no-brainer. IPFS is a file system protocol enabling decentralized file storage; however, it comes with a cost. Someone has to seed the videos otherwise they may be lost by IPFS recycle policy.
We rented a web server which runs IPFS daemon nonstop to pin all the videos in case videos go out of fashion and get recycled. Thus all videos will be uploaded to this IPFS node and then broadcasted on the IPFS network.
To maintain this IPFS node dedication to maintaining storage of live streams playback, each DLive user is guaranteed to use at least 1 Gb in storage. Additional space is proportional to the STEEM POWER a user holds. Each user is given 10 Mb for each STEEM Power. Each video is limited to 1 Gb in size. Each user can upload up to 20 videos each week. We may revise these numbers if needed. To prevent intentional abuse, we might have limitations on users with very low reputation.
To seed the videos, we use cloud servers for video storage, currently using Microsoft Azure. In terms of implementation, we use JS-IPFS on Node.js to run IPFS daemon. Right now, the price for seeding the video files is roughly $0.041/Gb/Month. In the future, we may build our dedicated storage servers with an enterprise network to seed the videos. To further utilize the storage more efficiently, we will have a backend program to detect and remove duplicate files on our server. We appreciate your help if you want to seed DLive videos with IPFS to improve our streaming performance.
Bounty Survey
Now that you’ve got the technicals down, we would like to know what you want to see. Since we received so much feedback from our last post, we decided to put a small bounty survey for “Great Idea” contributors. Fifty percent of the funds raised from this article will be given out as a prize, and the rest of the fund, as is customary, will be for DLive developing. You can participate by following the instructions below.
Here are the rules:
- Resteem this article
- Complete the SURVEY fully with no fake answers
- Any account with reputation level less than 30 is not allowed to attend.
Prize:
Following the tradition of Steem, every qualified participants will be rewarded. Eighty percent of the prize will be given to those who win the lottery of great ideas, and Twenty percent will be distributed evenly to every other participant.
So, for example, consider this scenario:
- If this post earns $1,000 in total, $500 will go to Great Ideas contributors
- We will draw the names of 3 people to split $400 and the rest, $100, will be distributed evenly to the remainder of the participants.
Survey URL:
https://goo.gl/forms/LwTWskcG8j9WARKu2
Participants can see their status in the following link:
https://docs.google.com/spreadsheets/d/e/2PACX-1vQNCo63_kFdAgkNNLqEJrAh2sq_UYVxSlFhaQaPSQvbe9HW8l1JtKkFd8v6gExcA9gJqyeckGRSdXrh/pubhtml?gid=679556266&single=true