livepeer / grants

⚠️ DEPRECATED ⚠️ Please visit the new homepage at https://livepeer.notion.site/Livepeer-Grants-Program-f91071b5030d4c31ad4dd08e7c026526
44 stars 7 forks source link

Fanstastic, a decentralized social network for content creators. #85

Closed furstmartin closed 1 year ago

furstmartin commented 2 years ago

Give a 3 sentence description about this proposal.

Fanstastic is a decentralized social network for content creators, based on polygon network, with livepeer and lens protocol.

Describe the problem you are solving.

We are solving how people monetize treir content, but also we give everyone privacy and censorship resistance.

Describe the solution you are proposing.

We develop a mobile app, where everyone could be creator, which you can monetize your content by tipping, suscription and also NFT.

Describe the scope of the project including a rough timeline and milestones

We are going to release on Ethereum Sao Pablo the 10th of September, with livepeer protocol, showing an streaming alive, the 1st of october we will open de app for more people to use it, and on the 1st of november with lens protocol onboard we will release for everyone.

Please estimate hours spent on project based on the above

We have being building since October 2020.

https://www.figma.com/proto/nsSmJkl8BIYPoY6wrFYflo/APP?node-id=17%3A1190

https://user-images.githubusercontent.com/52321004/185707611-514c6f33-d4b3-499b-ae94-39b1bc327e72.mp4

Fanstastic_compressed (2) (1).pdf

furstmartin commented 2 years ago

Coding to create streaming

const onStartStreaming = useCallback(

(uuid: string) => {

  createStream.mutate({

    name: uuid,

    profiles: [

      {fps: 0, name: '240p0', width: 240, height: 426, bitrate: 250000},

      {fps: 0, name: '360p0', width: 360, height: 640, bitrate: 800000},

      {fps: 0, name: '480p0', width: 480, height: 854, bitrate: 1600000},

      {fps: 0, name: '720p0', width: 720, height: 1280, bitrate: 3000000},

    ],

    record: true,

  });

},

[createStream],

);

Inicialization

useEffect(() => {

if (streamKey) {

  cameraViewRef.current?.start();

}

}, [streamKey, cameraViewRef]);

visualization

<NodePlayerView

              style={{height: height, width: width}}

              ref={playerRef}

              inputUrl={

                post.statusPost === [StatusStreamingEnum.LIVE](https://statusstreamingenum.live/)

                  ? https://cdn.livepeer.com/hls/${post.streamingPlaybackId}/index.m3u8

                  : post.streamingRecordingId

              }

              scaleMode={'ScaleAspectFill'}

              bufferTime={300}

              maxBufferTime={1000}

              autoplay={true}

              onStatus={(event: number) => {

                if (event === 1103) {

                  stopLive();

                } else if (event === 1001) {

                  setIsVisibleModal(false);

                }

              }}

            />

Some live that we generated

f8814847-b6cd-42bf-84f6-8c72b009770c

903bde47-6881-435b-8777-f70aa781bf6b

nelsorya commented 2 years ago

Hey @furstmartin, thanks for putting this together. This sounds like a very interesting use case. After looking over your proposal, I'm afraid we have decided we do not feel Livepeer Grants can fund this as we feel this is more of an application than a public good that can make it easier for developers to build on Livepeer.