Skip to content

Technical Plugin AWS_S3

Daniel Neto edited this page Oct 29, 2026 · 1 revision

Technical: AWS_S3 plugin

Transfers media to S3-compatible storage and generates backend-aware delivery URLs.

Audience: developers, advanced administrators and AI-assisted diagnosis. Plugin catalog.

Source baseline

  • Review date: 2026-10-29. Method: static source analysis; runtime/provider behavior was not exercised.
  • Code ownership: independently versioned plugin repository.
  • Reported version: 5.0.
  • Source revision: 602b344e5aab59809fb158e571d7e1b5491badad.
  • Entry class file: AWS_S3.php.

Confirm the installed plugin version independently of the Streamer version. Configuration defaults below are not a dump of this installation's saved settings.

Behavior and operational checks

Check object existence, stored path, endpoint/bucket selection and the generated media URL independently. S3-compatible services can require different endpoint and path-style settings. Completion hooks and playback delivery are distinct parts of this integration.

Dependencies

No literal dependency declaration was extracted. This does not prove the plugin is standalone.

Hook integration

Override Implementation
getTags() AWS_S3.php:13
xsendfilePreVideoPlay() AWS_S3.php:76
getPluginMenu() AWS_S3.php:314
getFooterCode() AWS_S3.php:324
onEncoderNotifyIsDone($videos_id) AWS_S3.php:344
onUploadIsDone($videos_id) AWS_S3.php:349

Configuration assignments

These are direct assignments inside getEmptyDataObject(), not evaluated effective defaults. Stored plugins.object_data, globals, structured values and conditional branches may alter runtime behavior. Private/default credential values are omitted.

Field Literal default or expression type Literal source label/help Evidence
region 'us-west-2' — source
bucket_name "avideo" — source
key Private setting; value omitted — source
secret Private setting; value omitted — source
endpoint "" — source
profile "" — source
useS3DirectLink true — source
presignedRequestSecondsTimeout 43200 — source
CDN_Link "" — source
makeMyFilesPublicRead false — source

Files and request surface

This inventory distinguishes implementation files from an API specification. Includes, templates, callbacks and CLI workers are not interchangeable HTTP endpoints. Request-field names below are direct source references, not a complete schema or permission declaration.

File Source role Direct request fields observed
AWS_S3.php plugin entry class file
test.php PHP page/include/worker; inspect caller —
transfer.php PHP page/include/worker; inspect caller action

Data and migrations

No CREATE TABLE names were extracted from available plugin SQL. The plugin can still use core tables, PHP-created schema or another component's data. Apply installation/update behavior through the owning plugin; this reference is not a script for running historical migrations manually.

Main-file named symbols

Visibility and implementation semantics must be checked in source. Nonempty string defaults are represented as . This is a symbol reference, not a stable public API promise.

Function or method Source
getTags() 13
getDescription() 19
getName() 24
getUUID() 29
getPluginVersion() 34
getEmptyDataObject() 39
getS3ClientParameters() 57
xsendfilePreVideoPlay() 76
getAddress($filename) 101
getURL($filename) 120
getFilesize($filename) 153
removeFiles($filename) 183
removeFilePath($fileName) 195
move_uploaded_file($tmp_name, $filename) 206
copy_to_s3($tmp_name, $filename) 232
copy_from_s3($filename, $destination) 295
getPluginMenu() 314
getFooterCode() 324
onEncoderNotifyIsDone($videos_id) 344
onUploadIsDone($videos_id) 349
processNewVideo($videos_id) 354

Diagnostics and validation

  1. Check the installed/enabled version and the dependencies/settings above.
  2. Identify the actual failing page, request, callback or worker and correlate its timestamp with the AVideo log.
  3. Follow the linked method and caller. Check business-state changes and output artifacts as well as HTTP status.
  4. Reproduce the relevant workflow in a test environment. External provider, Encoder, live-server, storage, payment and authenticated flows require their real integrations.

Shared diagnostic workflow. This page is not a security audit or a claim of end-to-end validation.

Clone this wiki locally