Hi all,

I'd like to share a Toolforge tool I've built for uploading
device-recorded videos to Wikimedia Commons: clip2commons.

  https://clip2commons.toolforge.org/

It encodes locally in the browser using the WebCodecs API and uploads
via the official MediaWiki API.


WHY ANOTHER TOOL

This is intended to complement, not replace, video2commons.
video2commons handles URL imports (YouTube, archive.org, etc.) and
remains the right tool for that workflow.

clip2commons covers a different case: a video file already on the
user's device that needs to reach Commons. For that case, the
existing options are:

  - video2commons (file upload mode): the file goes to a Toolforge
    encoder pool that is shared and currently overstretched
    (Community Wishlist W447, W392, W443, W512, W523, W536 are open
    about v2c stability or capability gaps).
  - UploadWizard: accepts files up to 5 GB chunked, but does not
    convert formats. iPhone .mov and many Android .mp4 files fail
    TimedMediaHandler post-upload or upload as patent-encumbered
    formats.
  - Manual ffmpeg + UploadWizard: works for those who can do it,
    but is outside what most uploaders are willing or able to manage.

clip2commons does the WebM/VP9 conversion in the browser via
WebCodecs, then uploads chunk-by-chunk to commons.wikimedia.org.
There is no shared queue, no server-side encoder pool, and no
infrastructure that needs maintenance to keep the tool running.
The only resource constraint is the user's own device.


VALIDATION

End-to-end test, 1-2 Mbps connection, 683 MB 1080x1920 portrait
(Original) file (6 min 13 s):

  - In-browser encode: 15 min 20 s
  - Total wall-clock (encode + upload combined): ~16 minutes
  - Final file: 163 MB, VP9/Opus, 1080x1920
  - Result on Commons:

https://commons.wikimedia.org/wiki/File:Wiki_Script_Publisher_Presentation_at_Developer_Skill_Development_Program_India_01.webm


PROVENANCE / LICENSING UI

The "Release rights" step mirrors UploadWizard's question tree
exactly: same root choice (own work vs. someone else), same
sub-questions for "contains the work of others" and "not protected
by copyright law", same hard blocks for "I don't know" and
"copyright-protected", same VRT-pending workflow for permission
uploads, same set of accepted CC license templates per branch.

This was deliberate. Files uploaded through clip2commons should be
indistinguishable in policy terms from files uploaded through
UploadWizard or video2commons. The wikitext output uses the
standard {{Information}} + {{self}} / bare-license-template
structure with [[Category:Uploaded with clip2commons]].


BROWSER SUPPORT

Verified working (full encode + upload):
  - Google Chrome (desktop and mobile)
  - Microsoft Edge (desktop only)
  - Brave
  - DuckDuckGo browser
  - Samsung Internet
  - Dolphin
  - Bing browser
  - Opera Mini (already-WebM/VP9 files only)

Limited mode (already-WebM/VP9 files; cannot re-encode):
  - Firefox (desktop and mobile)
  - Safari (encoder support coming in 26.1)

Not currently supported:
  - Microsoft Edge on Android (WebCodecs implementation incompatible)
  - Opera (decoder errors at encode start)
  - Yandex
  - Tor Browser (WebCodecs disabled as fingerprinting protection)

Browsers in the "limited mode" or "not supported" lists show a
clear banner up front instead of letting the user start a doomed
upload. video2commons remains the recommended fallback for those
browsers.


KNOWN LIMITS

  - No URL imports. video2commons remains the right tool for that.
  - Hard cap: 1 GB / 1 hour input file. Larger files risk OOM during
    in-browser encode on memory-limited devices.
  - Encode time depends on the device. Modern hardware encodes at
    roughly 0.2x to 1x video duration; older devices can be slower.


FEEDBACK WELCOME

This is beta. Bug reports, policy / wikitext / copy review, and
testing on devices and connections I do not have are all welcome.

  - GitLab issues:
     https://gitlab.wikimedia.org/toolforge-repos/clip2commons (MIT)
  - My talk page:
    https://meta.wikimedia.org/wiki/User_talk:Dev_Jadiya

Thanks,
Dev Jadiya
_______________________________________________
Wikimedia-l mailing list -- [email protected], guidelines at: 
https://meta.wikimedia.org/wiki/Mailing_lists/Guidelines and 
https://meta.wikimedia.org/wiki/Wikimedia-l
Public archives at 
https://lists.wikimedia.org/hyperkitty/list/[email protected]/message/T5AN5AX3QSJF7PUPCBCFIYRGHUBLVSTA/
To unsubscribe send an email to [email protected]

Reply via email to