How to setup 3Speak Video Encoder node?

Hello Hive Community members

FAQ

What kind of system do I need?

Anything which has processing power more than intel i7.

Do I need graphic card?

Not at all.

What kind of internet connection do I need?

You need a wired connection. Wifi would work but you'll get lesser jobs because of fluctuating internet connection.

How much internet speed is required?

Anything above 40 mbps

How much RAM is required?

Anything above 8 GB

What operating system is required?

You can use any operating system - macOS, ubuntu, windows.

What softwares are required?

You need nodejs 16, and ffmpeg installed on your system.

Would VPS work?

I wouldn't recommend. I paid for heavy-weight contabo server for over a year & it does not encode a single video in a day.
But if you want to try, Give it a try. I wouldn't stop you :)

Steps to setup encoder node

Setup PM2 (if you already have PM2, skip this)

  1. Run command npm install pm2 --global

Setup IPFS (if you already have IPFS, skip this)

  1. Open https://dist.ipfs.io/#go-ipfs
  2. Download binary (based on your OS)
  3. Run install.sh command which is inside downloaded zip file.
  4. Go to your work directory e.g. ~/Users/sagar
  5. Run ipfs init - this you would run once in life time.
  6. Run pm2 start "ipfs daemon" --name ipfs - again once in life time.
    Next time onwards, you just need to say pm2 restart ipfs

Setup FFMPEG

Please google yourself - "how to install ffmpeg"

Setup video encoder node

  1. Open terminal & navigate where you want to setup encoder-node
    e.g. ~/Users/sagar/projects
  2. Run git clone https://github.com/spknetwork/video-encoder.git
  3. cd video-encoder
  4. npm install --force
  5. npm run build
  6. pm2 start "npm -- run start" --name video --time --max-memory-restart 6144M -f - once in life time. Next time onwards, you just need to say pm2 restart video

NOTE: Make sure to run pm2 save so that if system restarts, you can bring it back to life.

What to change in ~/.spk-encoder/config file?

Update the gateway_client => gateway_url value. as follows.

  "gateway_client": {
    "gateway_url": "https://encoder-gateway.infra.3speak.tv",
    "queue_max_length": 1,
    "queue_concurrency": 1,
    "async_uploads": false
  },
  "remote_gateway": {
    "api": "https://encoder-gateway.infra.3speak.tv",
    "enabled": true
  },

Update the node name, hive name

  "node": {
    "name": "Sagar M1 macBookPro",
    "privateKey": "Sxxxxxxxxxxxxxxxxxxxxxxx=",
    "cryptoAccounts": {
      "hive": "sagarkothari88"
    },
    "publicKey": "did:key:zxxxxxxxxxxxxxxxxxxxxxxx"
  },

CRITICAL WARNING:

  1. DO NOT TOUCH PRIVATE KEY OR PUBLIC KEYs.
  2. Those are system generated & it shouldn't be touched.
  3. DO NOT PASTE any of your HIVE keys here.

What to do If I restart my system?

pm2 resurrect

More questions?

Ask me in the comments section or ping me on 3speak-discord=>encoder-nodes.

Like the work I do?

  • 👍 Please up-vote my content.
  • 📥 Please follow my hive-blog. @sagarkothari88

Vote me as your hive-witness

H2
H3
H4
Upload from PC
Video gallery
3 columns
2 columns
1 column
24 Comments