3Speak needs IPFS

I just uploaded my first video to 3Speak video site. It was definitively lesson in patience, but it finally worked. Video got stuck Queued for encoding for few hours (actually slightly over 2). This is improvement from yesterday because I was not even able to finish upload.

I understand common video site workflow: user uploads whole video source file and site will re-encode it for lower bitrates. This is standard nowadays and user expects video site working that way. In 3Speak case there is room for improvement: Because queue times are so high please improve status reporting with information about current video position in encoding queue.

Think about another upload method - IPFS peer to peer upload like dTube has. It is for advanced users caring about having unstoppable peer to peer video distribution.

IPFS upload works nicely:

  1. user encodes video for selected lower resolutions at home. You don’t have to encode for every low resolution - I did 720p and 480p.
  2. Then you have to upload video files to IPFS.
  3. It can be done by running IPFS node yourself and uploading it to local node using webui
  4. There are paid IPFS upload (pinning) services like - one loved, Pinata, Temporal where you can get after registration few Gigabytes of space for free.
  5. and even some completely free ones like global upload, usually not much reliable.
  6. After you got your video stuff uploaded to IPFS you will get back hash. If you upload the same file again you will get the same hash - IPFS deduplicates content.
  7. Then fill these hashes into dTube upload form and you are done. No waiting for re-encoding and you can have full HD source that comes handy if someone wants to reuse your footage.

I uploaded 720P footage and 3Speak seems to even upscale it to 1080p - this is waste of CPU time. Why try to upscale video on server, player will do it for free. If video source bitrate is within reasonable limits for target video resolution then 3Speak should not reencode uploaded video at all, drastically speeding the upload process.