History: PeerTube
Source of version: 62
Copy to clipboard
{DIV(class="row")} {DIV(class="col-sm-12 text-center fs-6 fw-normal lh-base")} {img type="src" src="https://docs.joinpeertube.org/brand-light.png" imalign="center" styleimage="display:block;margin:0 auto 1rem auto;max-width:380px;height:auto"} [https://joinpeertube.org|PeerTube] is a free, open-source, decentralized video platform. Launched in 2018, PeerTube was created as an ethical alternative to centralized platforms like YouTube or Vimeo. Each PeerTube server (called an instance) is independent, with its own rules and moderation, but can connect to other instances. PeerTube also uses peer-to-peer technology (WebRTC/HLS) so viewers share video pieces with each other, reducing the load on the hosting server. This makes it possible for small communities and organizations to host their own platform without huge infrastructure costs. PeerTube is not intended to replace mainstream platforms, but to provide a parallel, community-owned, ad-free network that respects users’ freedom and privacy. Developed by [https://framasoft.org|Framasoft] {img type="src" src="https://docs.joinpeertube.org/assets/framasoft.C62tEb1y.png" imalign="center" styleimage="display:block;margin:0.5rem auto 0 auto;max-width:120px;height:auto"} __PeerTube integrates with Tiki to allow:__ Uploading and managing videos directly within Tiki Embedding PeerTube videos in wiki pages and trackers Applying Tiki’s permission system for fine-grained access control {DIV} {DIV} {DIV(class="row")} {DIV(class="col-sm-12")} {img type="fileId" fileId="2230" imalign="center" styleimage="display:block;margin:1rem auto 0 auto;width:100%;max-width:100%;height:auto" desc="PeerTube video list screenshot"} {DIV} {DIV} --- !!!PeerTube options || __Option__ | __Description__ | __Default__ PeerTube video management | Integration with the PeerTube video platform | Disabled [https://doc.tiki.org/PluginPeerTube|Plugin PeerTube Video] | Display a PeerTube video via the {peertube} wiki plugin (oEmbed) | Disabled PeerTube Video (tracker field) | Display a series of attached PeerTube videos in tracker items | Disabled PeerTube service URL | Your PeerTube instance URL (e.g., https://videos.example.com/). A trailing “/” is added automatically if missing. | None Username | PeerTube account username used for uploads/API actions | None Password | PeerTube account password used for uploads/API actions | None PeerTube player ID (optional) | Player configuration ID if you use a custom PeerTube player | None || __Note: __The PeerTube local OAuth client (client_id/client_secret) is auto-discovered by Tiki from /api/v1/oauth-clients/local. No admin input required. --- !!! Why Use PeerTube Instead of...? * ...YouTube/Vimeo? ** No ads or tracking; self-host or choose your instance ** ActivityPub federation — your channel can be followed across the Fediverse (other PeerTube/Mastodon servers) without relying on one company. ** Tight Tiki integration — reuse Tiki groups/permissions and keep a consistent UI; embeds feel native and sign-in flows stay within your site. * ...Tiki File Gallery? ** Transcoding & adaptive streaming — PeerTube auto-creates multiple qualities and streams via HLS/WebRTC, working well on mobile and slow connections. ** Federation & analytics — videos can be discovered across instances, with built-in stats (views, watch time) and moderation tools. ** File Gallery is storage-first — great for keeping files, but it doesn’t transcode, stream adaptively, or federate; for a smooth “watch” experience, use PeerTube. --- !!! New in Tiki 30.x * New feature flag: -+feature_peertube+- * New prefs: -+peertube_service_url+-, -+peertube_username+-, -+peertube_password+- * New permission: -+tiki_p_admin_peertub+- (+ existing: upload/list/view/edit/delete/download) * New pages: ** -+tiki-list_peertube_entries.php+- (list, sort, search, actions) ** -+tiki-peertube_upload.php+- (channel, title, description, privacy) ** -+tiki-peertube_video.php+- (view/manage/delete) * New wiki plugin: [https://doc.tiki.org/PluginPeerTube|PluginPeerTube] ''(oEmbed)'' * New tracker field: PeerTube Video (trackerfield_peertube) * Admin UI: connection test & guidance; menu entries under -+Video+- {DIV(class="text-muted small fst-italic text-center")} {icon name="info-circle"} Admin UI – Video PeerTube: connection test & prefs {DIV} {img type="fileId" fileId="2236" imalign="center" class="img-fluid w-100 mx-auto d-block mt-3" desc="Admin Dashboard — Video icon"} --- !!! Getting Started: Tiki - PeerTube {TABS(name="peertube_tabset" tabs="Features|Configuration|Integration|Embed|Glossary")} * List / thumbnails of videos from your PeerTube instance * Search & sort (title, created/published date, privacy) * Privacy badges, duration, views; quick actions (view / download / edit / delete) * Uses Tiki permissions (list/upload/view/edit/delete) ///// * Go to __Admin » Video » PeerTube__ * Enable __PeerTube video management__ and the plugin/field if needed * Set: __service URL__, __client id/secret__, __username__, __password__ * Save, then use the video list to verify {img type="fileId" fileId="2235" imalign="center" class="img-fluid w-100 mx-auto d-block mt-3" desc="Admin UI – PeerTube tab"} ///// * Menu entries under __PeerTube Video__: __List PeerTube Media__, __Upload PeerTube Video__ * Tracker field: __PeerTube Video__ to attach one or more videos to items * Pages: -+tiki-list_peertube_entries.php+-, -+tiki-peertube_upload.php+-, -+tiki-peertube_video.php+- {img type="fileId" fileId="2234" imalign="center" class="img-fluid w-100 mx-auto d-block mt-3" desc="Video menu — PeerTube section"} ///// * Embed inside wiki pages with ((PluginPeerTube)) {CODE()} {peertube url="https://videos.example.com/w/abc123"} {CODE} * Optional params: -+width+-, -+height+-, -+start+-, -+allowFullScreen+-, etc. ///// __Instance__: a PeerTube server that can federate with others. __Channel__: where videos are uploaded for an account. __Video ID__: -+uuid+- / -+shortUUID+- used by Tiki to reference a video. __Privacy__: -+Public+-, -+Unlisted+-, -+Private+-, -+Internal+-, -+Password+-. __ActivityPub__: protocol enabling federation across the Fediverse. __oEmbed__: used by the plugin to embed a video from its URL. {TABS} --- !!! Requirements & Compatibility * Tiki ≥ 30.x (feature_peertube) * PeerTube ≥ 6.x (API v1, local OAuth client) * HTTPS recommended; default CORS is fine * PHP cURL enabled * Docs: [https://docs.joinpeertube.org/api-rest-reference.html|PeerTube REST API Reference] --- !!! Authentication / Local OAuth client Tiki auto-discovers the PeerTube local OAuth client (-+client_id/client_secret+-) from -+/api/v1/oauth-clients/local.+- These credentials identify the consumer application (the browser) and are public on the instance by design. You do not need to store or enter them manually in Tiki. __API examples (for reference)__ {CODE()} # 1) Get local OAuth client (client_id / client_secret) curl -s https://YOUR_INSTANCE/api/v1/oauth-clients/local # 2) Exchange for an access token (password grant) curl -X POST https://YOUR_INSTANCE/api/v1/users/token \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "client_id=YOUR_CLIENT_ID" \ -d "client_secret=YOUR_CLIENT_SECRET" \ -d "grant_type=password" \ -d "username=YOUR_SERVICE_USERNAME" \ -d "password=YOUR_SERVICE_PASSWORD" {CODE} --- !!! Permissions mapping || __Permission__ | __Purpose__ tiki_p_admin_peertube | Administer the PeerTube integration tiki_p_list_videos | List videos tiki_p_view_videos | View video details tiki_p_upload_videos | Upload videos tiki_p_edit_videos | Edit metadata tiki_p_delete_videos | Delete videos || --- !!! Troubleshooting (common errors) * __Preference `trackerfield_peertube` is not define__ This usually means caches weren’t cleared. __Fix:__ Setting → Tiki Cache/Sys Admin → __Clear all caches__ Or CLI: `php console.php cache:clear` * __Connection Status = error__ → Check peertube_service_url (with/without trailing `/`; Tiki will add it). Ensure the instance is reachable and not blocked by a proxy/firewall. * __401 / invalid_grant __→ Wrong username/password or server clock drift. Sync time (NTP) on both servers. * __413 / upload too large__ → Increase -+upload_max_filesize+- and -+post_max_size+- (PHP) plus web server limits (Nginx/Apache). Also check PeerTube’s upload limit. * __“Internal” privacy __→ Video may not embed in Tiki due to PeerTube privacy rules. --- !!! Show a video ''Here is an example of how to use the PeerTube plugin (oEmbed under the hood):'' {CODE()} {peertube url="https://videos.evoludata.com/w/2aGghaFr12Cg1Nj1ckqznH" allowFullScreen="y" bg="#000000" border="#ff0000" borderRadius="y" } {CODE} {oembed url="https://videos.evoludata.com/w/2aGghaFr12Cg1Nj1ckqznH" background="000000" border="ff0000" allowFullScreen="y"} !!! Notes & Limitations * PeerTube handles __transcoding__ and __adaptive streaming __(HLS/WebRTC); Tiki __File Gallery__ is storage-first (not optimized for streaming). * __WebTorrent__ was removed in PeerTube v6; P2P is now __HLS/WebRTC__ only. * Always embed using the full watch URL (the -+/w/shortUUID+- form). --- !! Related pages * ((PluginPeerTube)) | ((PluginOembed)) | ((Trackers))
History
Information | Version | |||||
---|---|---|---|---|---|---|
Olivier Kango | 67 | |||||
Olivier Kango | 66 | |||||
Olivier Kango | 65 | |||||
Olivier Kango | 64 | |||||
Olivier Kango | 63 | |||||
Olivier Kango | 62 | |||||
Olivier Kango | 61 | |||||
Olivier Kango | 60 | |||||
Olivier Kango | 59 | |||||
Olivier Kango | 58 | |||||
Olivier Kango | 57 | |||||
Olivier Kango | 56 | |||||
Olivier Kango | 55 | |||||
Olivier Kango | 54 | |||||
Olivier Kango | 53 | |||||
Olivier Kango | 52 | |||||
Olivier Kango | 51 | |||||
Olivier Kango | 50 | |||||
Olivier Kango | 49 | |||||
Olivier Kango | 48 | |||||
Olivier Kango | 47 | |||||
Olivier Kango | 46 | |||||
Olivier Kango | 45 | |||||
Olivier Kango | 44 | |||||
Olivier Kango | 43 | |||||
Olivier Kango | 42 | |||||
Olivier Kango | 41 | |||||
Olivier Kango | 40 | |||||
Olivier Kango | 39 | |||||
Olivier Kango | 38 | |||||
Olivier Kango | 37 | |||||
Olivier Kango | 36 | |||||
Olivier Kango | 35 | |||||
Olivier Kango | 34 | |||||
Olivier Kango | 33 | |||||
Olivier Kango | 32 | |||||
Olivier Kango | 31 | |||||
Olivier Kango | 30 | |||||
Olivier Kango | 29 | |||||
Olivier Kango | 28 | |||||
Olivier Kango | 27 | |||||
Olivier Kango | 26 | |||||
Olivier Kango | 25 | |||||
Olivier Kango | 24 | |||||
Olivier Kango | 23 | |||||
Olivier Kango | 22 | |||||
Olivier Kango | 21 | |||||
Olivier Kango | 20 | |||||
Olivier Kango | 19 | |||||
Olivier Kango | 18 |