peertube-multipart-upload

command module
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 3, 2023 License: MIT Imports: 21 Imported by: 0

README

peertube-multipart-upload

Upload a video to a Peertube instance via a multipart upload using the REST API.

The REST API does offer an API endpoint to upload a video file in a single request, and this is pretty straightforward to implement (in a bash script, for example). However, there are many reasons that a single-request upload may not be ideal for some users. The upload maximum allowed file-size may impact the size of video that can be uploaded in this way. For those with slow internet that is prone to disconnections, having to spend a long time uploading a file just for it to lose connection and have to start from the beginning may be unacceptable.

For these and other reasons, uploading a file in multiple parts is preferable. Files can be uploaded in parts as small as a few megabytes each, and if a part fails that part itself can be tried again without losing too much time. Multipart uploading can also support concurrency, depending on the implementation. Indeed, the Peertube browser application executes a multi-part upload when the user uploads the file.

This script aims to simplify the process of multipart-uploads to be as easy as uploading the file via the browser application or via a single-part upload. It uses environmental variables to declare the required parameters, such as the username and password, and information about the video.

Installation

peertube-multipart-upload can be installed via the go compiler

go install codeberg.org/FiskFan1999/peertube-multipart-upload@07a6e2db728f90a6911d1e3d3f0b7c92e38b9835

On MacOS and Linux, peertube-multipart-upload can be uploaded via homebrew from FiskFan1999's tap

brew tap FiskFan1999/FiskFan1999 https://codeberg.org/FiskFan1999/homebrew-FiskFan1999.git
brew install peertube-multipart-upload
# Also available:
# brew install --head peertube-multipart-upload

It can also be compiled from source in the following way:

  • Install the go compiler from here or by another method.
  • Clone the peertube-multipart-upload repository
  • Change working directory to the repository via and install the binary application via go install. This will install the necessary go modules.
git clone https://codeberg.org/FiskFan1999/peertube-multipart-upload.git
cd peertube-multipart-upload/
go install

Usage

Refer to help.txt or type peertube-multipart-upload help.

Reference

Refer to the Peertube API reference for the documentation of the API calls used internally.

  • Initialize
  • Upload
  • Cancel (Likely won't be implemented, as multipart uploads are automatically canceled after a certain length of time if they are abandoned)

Note that a /api/v1/videos/upload-resumable call will automatically finish the upload when the final part is called.

Support

Discussion and support for FiskFan1999/gemini is available at #fiskfan1999 on irc.hybridirc.com.

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL