pnpm run start
pnpm run rust-peer
-
Test streaming with 'node:fs'
pnpm run stream:base
-
Create helia stream
pnpm run stream:helia
-
Streaming with known cid
pnpm run stream:cid QmPvt66qGviw7T6r6Qe2Lhpgj6YCpexv8gz7SKXEHq4FD3
Run
pnpm test
-
Convert video into a core
pnpm run hypercore:convert
-
Replicate so other peers can also watch it
pnpm run hypercore
-
Other peers can join with the core key
pnpm run hypercore:peer ec429308a714b51a79b583627cc705e6eaf5f6f681a3b7158138ca315dbaea46
-
Create a
movie/
direcory and addmovie.mp4
andthumbnail.png
or.jpg
mkdir movie
-
Add and pin movie to ipfs
ipfs add -r ./movie/ # then ipfs pin add QmPzE1...
Next, You can run
ipfs ls QmPzE1rSLhhVvdfyAZkjAuf8KSCxtKbepPZJ99weKFcZHP
to see the contents of your movies e.gQmVzmsRo6avD1HeBWY3WTUGdqvhya4KK999k77nFZS7i2S 63614462 bigbuck.mp4 QmcgoEmVE3iSbqGS1Pr5Ad5jASMyGFBLA5wfHKKtb1vSRa 582477 thumbnail.png
-
Next, let's can try stream movies ipfs
- IPFS Live Streaming by Yurko,Elon, Benedict and Toronto Mesh - Feed video file into the IPFS and distribute content hash
- OBS Studio
- OpenVPN
- Digital Ocean (Host HLS playlist over HTTP)
- NGINX with RTMP module (Video source from RTMP server)
- FFmpeg (create an HLS stream of chunks)
- IPFS (Add to IPFS) - Publish hash to rewrite m3u8 playlist file to IPNS ()
- Video.js
- Terraform
Additional implementation
You can use FFMpeg to encode Video Stream into chunks and advertise to a gossip network. Possibly an idea to scale the video streaming? - DougAnderson444#7580
- Chunk video into mu8 playlist
- To announce video chunks to a gossip channel via gossip protocol pubsub
-
Create car file
-
Adding swarm to have topics that other peers can join
pnpm run hyperswarm # then other peers can join with, able to chat on terminal pnpm run hyperswarm (topic)
-
Append only persistent messages storage
pnpm run hypercore:writer # then pnpm run hypercore:reader # writer can send messages to writer