ভিডিও ও সাইট

ভিডিও আপলোড ও ইম্পোর্ট

এই অধ্যায়টি এখনও অনুবাদ হয়নি, তাই ইংরেজিতে দেখানো হচ্ছে।

এই পাতায়

Members publish at /upload (the Upload button in the Studio). A video can come from the member's own device or from a link to another site. Until the last step it is a draft: it is on nobody's channel and in no list.

Who may upload

Admin → Settings → Content decides:

  • Uploads open - off pauses new uploads for everybody but administrators.
  • Approve before publishing - a new video waits as Waiting until you set it to Published on Admin → Videos (the state menu on its row, or the bulk action Publish).
  • Confirm e-mail addresses - a member cannot upload until the confirmation link has been opened.
  • Largest upload (MB) - the site-wide size limit (512 MB on a new install).

The member's role must also have the right Upload videos (Admin → Users → Roles).

The four steps

1. Upload. Two tabs: Upload a file (drag a file in or press Select file) and Import from a link. A chosen file starts going up at once, so the member can type the details while it travels. The progress line shows the percentage, megabytes sent, speed, time left and how many connections are in use.

2. Details. Title (required), Description, Thumbnail, Category and Tags. In the description, links become links, #hashtags become tags, and lines such as 0:00 Introduction become chapters on the watch page. Beside the form: a preview, the video's link and the file name.

3. Video elements. Let people comment, For grown-ups only (the player asks the viewer's age first - see Videos for grown-ups in the Watch page chapter), Never allow downloading, and Monetize this video when the channel may earn (see Advertising & Monetization). Administrators also see Feature it on the front page. Plugins add their own fields here: Shorts adds Decide for me / Video / Short / Video and Short, and the AIO Player adds Ad breaks and Cards.

4. Visibility. Public, Unlisted (only people with the link) or Private (only the uploader), the Geo-Blocking boxes (see The watch page), and Publish it later. Then Publish.

Big files: uploads in pieces

A file is sent in pieces, several at a time, and put together under uploads/tmp. The pieces go straight to chunk.php as plain PUT requests: no form, no session, and PHP's upload_max_filesize and post_max_size do not apply, so a host with a 64 MB limit still takes a 4 GB video. Pieces start at 8 MB and grow up to 32 MB on a good line (always under Cloudflare's 100 MB request limit). A piece that fails is sent again.

When a server refuses PUT, the pieces go to chunk.php as a form; when that fails too, they go through the upload page itself. Two settings on Admin → Settings → Content:

  • Size of one piece (MB) - used when PUT is refused, and then capped by the server's own limits; 4-16 MB suits most hosts.
  • Pieces sent at once - 1 to 8, on every road; a small server may prefer 2.

Pieces nobody finished are deleted after a day. uploads/ must be writable.

On the Import from a link tab (or /upload?import=1), paste the address and press Fetch. A card shows what the other site gives: site, author, title, description, tags, picture and length. Use this video takes it into steps 2-4; Try another link starts again.

Known by name: YouTube, Vimeo, Dailymotion, Facebook, TikTok, Instagram, X (Twitter), Twitch, OK.ru, VK Video, Bilibili, Rumble, Streamable and Odysee. A direct .mp4, .webm or .m3u8 address works too, and so does any page that offers an embeddable video.

Only the picture is copied to your server (into uploads/thumbs). The video itself plays from where it is, so it is not converted; a video from a site such as YouTube also gets no Download button. YouTube Shorts, Instagram and Facebook Reels and TikTok links come in as upright videos.

Importing a whole YouTube channel

The link Import a whole YouTube channel, with its Shorts and playlists on the import tab opens /import-channel. Its settings are in the card Importing a whole YouTube channel on Admin → Settings → Content:

SettingWhat it does
Who may import a whole channelOnly the site team (default) or Every member who may upload.
Videos made in one turn1-50 per step (default 15).
YouTube Data API key (optional)With a key: exact dates, descriptions and tags. Without one the channel's own pages are read: titles, lengths and approximate dates, and it may stop working the day YouTube changes those pages.

How it goes:

  1. Paste the channel address (https://www.youtube.com/@name or .../channel/UC...) and press Look it up.
  2. Tick what to bring: Videos, Shorts, Live streams (past) and each playlist (tick all / none).
  3. Choose the Category, Who can see them, and whether to Make the playlists here too, with the videos in the same order. Without an API key there is also Fetch each video's description and tags as well (about a second more per video).
  4. Press Start importing.

The page counts what was found, imported, already here and failed. You can close it: the Channel imports cron job carries on. Stop pauses a running import; Carry on resumes one under Your imports. A video the channel already has is not imported twice, subscribers are not notified of each one, and each member runs one import at a time. When the member's daily upload limit is reached, the import stops and can be carried on the next day.

Drafts and planned videos

An upload left before Publish is a draft. The Planned videos cron job removes unfinished drafts after a day, together with their files.

With Publish it later, the member picks a date and time on their own device's clock. The video stays a draft until then. It goes live at that moment: the site checks once a minute while pages are being opened, and the same cron job checks too. The Studio shows Planned: with the date; the date can be changed on the video's Edit page.

Thumbnails

In step 2 the member can upload a picture (JPEG, PNG, WebP or GIF; 1280 x 720 looks best) or pick one of three frames from the video when FFmpeg is set up. Their own picture has a bin to take it off again, and an imported video keeps the other site's picture as a choice. When nobody chooses, the site takes a frame by itself (Take a thumbnail on Admin → Media & FFmpeg, see Video conversion).

Limits that come from packages

On Admin → Packages a package can grant a bigger Largest upload (MB), limit Uploads a day, cap the Highest resolution made, and put the member's uploads first in the queue (Converted first). See Members.

Chat with Faruk
Faruk's Assistant Online — AI Powered