There were a fair number of folks interested in video chatting at
Wikimania! A few quick updates:
* An experimental 'Schnittserver' ('Clip server') project has been in the
works for a while with some funding from ze Germans; currently sitting at
http://wikimedia.meltvideo.com/ (uses OAuth, has a temporary SSL cert, UI
is very primitive!) It is currently usable already for converting MP4 etc
source footage to WebM!
The Schnittserver can also do server-side rendering of projects using the
'melt' format such as those created with Kdenlive <https://kdenlive.org/>
and Shotcut <http://www.shotcut.org/> -- this allows uploading your
original footage (usually in some sort of MP4/H.264 flavor) and sharing the
editing project via WebM proxy clips, without generational loss on the
final rendering.
Once rendered, your final WebM output can be published up to Commons.
I would love to see some more support for this project, including adding a
better web front-end for managing projects/clips and even editing...
* Mozilla has an in-browser media editor thing called Popcorn.js
<http://popcornjs.org/>; they're unfortunately reducing investment in the
project, but there's some talk amon people working on it and on our end
that Wikimedia might be interested in helping adapt it to work with the
Schnittserver or some future replacement for it.
Unfortunately I missed the session with the person working on Popcorn.js,
will have to catch up later on it!
* I'm very close to what I consider a 1.0 release of ogv.js
<https://github.com/brion/ogv.js/>, my JavaScript shim to play Ogg (and
experimentally WebM) video and audio in Safari and MS IE/Edge without
plugins.
Recently fixed some major sound sync bugs on slower devices, and am
finishing up controls which will be used in the mobile view (when not using
the full TimedMediaHandler / MwEmbedPlayer interface which we still have on
the desktop).
Demo of playback at
https://brionv.com/misc/ogv.js/demo2/
A slightly older version of ogv.js is also running on
https://ogvjs-testing.wmflabs.org/ with integration into TimedMediaHandler;
I'll update those patches with my 1.0 release next week or so.
* Infrastructure issues:
I had a talk with Faidon about video requirements on the low-level
infrastructure layer; there are some things we need to work on before we
really push video:
- seeking/streaming a file with Range subsets causes requests to bypass the
Varnish cache layer, potentially causing huge performance problems if
there's a usage spike!
- very large files can't be sharded cleanly over multiple servers, which
makes for further performance bottlenecks on popular files again
- VERY large files (>4G or so) can't be stored at all; which is a problem
for high-quality uploads of things like long Wikimania talks!
For derivative transcodes, we can bypass some of these problems by chunking
the output into multiple files of limited length and rigging up 'gapless
playback', as can be done for HLS or MPEG-DASH-style live streaming. I'm
pretty sure I can work out how to do this in the ogv.js player (for Safari
and IE) as well as in the native <video> element playback for Chrome and
Firefox via Media Source Extensions
<https://developer.mozilla.org/en-US/Apps/Build/Audio_and_video_delivery/Live_streaming_web_audio_and_video#Media_Source_Extensions_(MSE)>.
Assuming it works with the standard DASH profile for WebM, this is
something we can easily make work on Android as well using Google's
ExoPlayer <https://developer.android.com/guide/topics/media/exoplayer.html>.
DASH playback will also make it easier to use adaptive source switching to
handle limited bandwidth or CPU resources.
However we still need to be able to deal with source files which may be
potentially quite large...
* List and phab projects!
As a reminder there's a wikivideo-l list:
https://lists.wikimedia.org/mailman/listinfo/wikivideo-l
and a Wikimedia-Video project tag in phabricator:
https://phabricator.wikimedia.org/tag/wikimedia-video/
Folks who are interested in pushing further work on video, please feel free
to join up. There's a lot of potential awesomeness!
-- brion