Mengunggah ke PeerTube dari baris perintah

30 April 2021 [PeerTube, Programming, Tech]

Dokumentasi API PeerTube memberikan contoh cara mengunggah video, tetapi ada beberapa aspek penting yang hilang, terutama cara menyediakan banyak tag menggunakan masukan yang disandikan formulir, jadi skrip saya yang lebih lengkap ada di bawah. Gunakan seperti ini:

# First, make sure jq is installed
echo "myusername" > username
echo "mypassword" > password
./upload "video_file.mp4"

Kerugian:

  1. Nama pengguna dan kata sandi Anda dapat dilihat melalui ps oleh pengguna di mesin yang sama (tips untuk menghindari hal ini dipersilakan)
  2. Saya tidak tahu cara memasukkan baris baru dalam deskripsi video (sekali lagi, tips diterima)

Anda perlu mengedit skrip untuk memberikan URL server PeerTube Anda sendiri, ID saluran (nomor), deskripsi video, tag, dll. Output dan kesalahan dari skrip akan ditempatkan di curl-out.txt. Baca dokumen API untuk melihat nomor apa yang perlu Anda gunakan untuk kategori, lisensi, dll.

Ini unggahannya:

#!/bin/bash

set -e
set -u

USERNAME="$(cat username)"
PASSWORD="$(cat password)"
FILE_PATH="$1"
CHANNEL_ID=MY_CHANNEL_ID_EG_1234
NAME="${FILE_PATH%.*}"
NAME="${NAME#*/}"

API_PATH="https://MY_PEERTUBE_SERVER_URL/api/v1"
## AUTH
client_id=$(curl -s "${API_PATH}/oauth-clients/local" | jq -r ".client_id")
client_secret=$(curl -s "${API_PATH}/oauth-clients/local" | jq -r ".client_secret")
token=$(curl -s "${API_PATH}/users/token" \
  --data client_id="${client_id}" \
  --data client_secret="${client_secret}" \
  --data grant_type=password \
  --data response_type=code \
  --data username="${USERNAME}" \
  --data password="${PASSWORD}" \
  | jq -r ".access_token")

echo "Uploading ${FILE_PATH}"
curl "${API_PATH}/videos/upload" \
  -H "Authorization: Bearer ${token}" \
  --output curl-out.txt \
  --max-time 6000 \
  --form videofile=@"${FILE_PATH}" \
  --form channelId=${CHANNEL_ID} \
  --form name="$NAME" \
  --form category=15 \
  --form licence=7 \
  --form description="MY_VIDEO_DESCRIPTION" \
  --form language=en \
  --form privacy=1 \
  --form tags="TAG1" \
  --form tags="TAG2" \
  --form tags="TAG3" \
  --form tags="TAG4"

News
Berita Teknologi
Berita Olahraga
Sports news
sports
Motivation
football prediction
technology
Berita Technologi
Berita Terkini
Tempat Wisata
News Flash
Football
Gaming
Game News
Gamers
Jasa Artikel
Jasa Backlink
Agen234
Agen234
Agen234
Resep
Download Film

A gaming center is a dedicated space where people come together to play video games, whether on PCs, consoles, or arcade machines. These centers can offer a range of services, from casual gaming sessions to competitive tournaments.