You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
peertube-bashscripts/peertube_upload_no_transcod...

71 lines
1.2 KiB

CHANNEL_ID=$1
FILE_PATH=$2
CONF_FILE_PATH=pt.conf
if [ ! -f $CONF_FILE_PATH ]; then echo "Config file not found...." && exit 1; fi
PT_HOST=$(cat $CONF_FILE_PATH | jq -r .host)
PT_TOKEN=$(cat $CONF_FILE_PATH | jq -r .access_token)
# parse args
if [ -z "$1" ] || [ -z "$2" ]; then echo "Usage:\n\tpeertube_upload.sh [channel_id] [file]\n" && exit 1; fi
# check for upload file
if [ ! -f "$FILE_PATH" ]; then echo "Upload file not found...." && exit 1; fi
echo
UPLOAD_NAME=$(basename "$FILE_PATH" | sed 's/\(.*\)\..*/\1/')
echo ....
echo "Host: $PT_HOST"
echo ....
echo
echo "File path: $FILE_PATH"
echo "Uploading file: $UPLOAD_NAME...."
#echo "Name: ${UPLOAD_NAME%%.*}"
echo ....
TMPF=$(mktemp)
echo Uploading....
curl -H "Authorization: Bearer $PT_TOKEN" https://$PT_HOST/api/v1/videos/upload --max-time 600 \
--form videofile=@"$FILE_PATH" \
--form channelId=$CHANNEL_ID \
--form privacy=1 \
--form name="$UPLOAD_NAME" > $TMPF
# 1=Public, 2=Unlisted, 3=Private, 4=Internal
echo
echo ....
if ! $(cat $TMPF | jq -e .error > /dev/null); then
echo [#] ok....
else
echo [#] error.....
echo Error: $(cat $TMPF | jq -r -C .error)
fi
rm $TMPF
echo