Transcoder une vidéo gratuitement

Alors si vous cherchez à convertir vos vidéos en format .mp4 j'ai peut être une astuce à vous proposez. PeerTube est un logiciel libre d'hébergement de vidéo décentralisé permettant la diffusion en pair à pair, et un média social sur lequel les utilisateurs peuvent envoyer, regarder, commenter, évaluer et partager des vidéos en streaming.

Encoding video

Lors de l'envoi d'une vidéo sur la plateforme, comme sur Youtube, Peertube ce charge de convertir votre vidéo au format mp4, permettant ainsi sa lecture via le navigateur. Ce n'est pas rien car le transcoding d'une vidéo est très lourd pour le CPU / GPU.

Recherche d'une instance

Les instances de Peertube sont multiples mais elles ne feront pas toutes l'affaire. En effet, au sujet des instances, celles-ci peuvent être fermé à l'inscription, l'administrateur peut aussi soumettres un quota journalier et un espace de stockage limité aux utilisateurs, ce qu'on va éviter.

En recherchant rapidement dans cette liste des instances Peertube, je sors 2 instances qui pourraient nous interésser, inscriptions ouvertes et espace de stockage illimité.

API

Je vous mets là rapidement, un script bash pour l'upload de vidéo sur Peertube via une requête curl, vous pouvez l'adapter afin de l'intégrer dans une boucle d'automatisation par exemple.

## DEPENDENCIES: jq
USERNAME="<USERNAME>"
PASSWORD="<PASSWORD>"
FILE_PATH="<FILE_PATH>"
CHANNEL_ID="<CHANNEL_ID>"
NAME="<VIDEO_NAME>"
API="https://p2p.playseye.com/api/v1"

## AUTH
client_id=$(curl -s "$API/oauth-clients/local" | jq -r ".client_id")
client_secret=$(curl -s "$API/oauth-clients/local" | jq -r ".client_secret")
token=$(curl -s "$API/users/token" \
  --data client_id="$client_id" \
  --data client_secret="$client_secret" \
  --data grant_type=password \
  --data username="$USERNAME" \
  --data password="$PASSWORD" \
  | jq -r ".access_token")

## VIDEO UPLOAD
curl -s "$API/videos/upload" \
  -H "Authorization: Bearer $token" \
  --max-time 600 \
  --form videofile=@"$FILE_PATH" \
  --form channelId=$CHANNEL_ID \
  --form name="$NAME"

Le CHANNEL_ID peut être retrouver en faisant une requête sur l'endpoint /video-channels/<CHANNEL_NAME> en remplaçant <CHANNEL_NAME> par le nom de la chaîne.

curl https://p2p.playseye.com/api/v1/videos-channels/slote./ | jq

MarquandT

Ethical Hacker ~ Web Developper ~ File Hosting Provider ~ Crypto Enthusiast ~ Automation Expert Bitcoin donation: 32Uu4NKGnxSPC7UukYXVyRHwbppbQpKVki

703