So just for kicks, I tried using ffmpeg to convert a reasonably high-bitrate HD Theora+Vorbis .ogv[1] to MJPEG+FLAC .mkv.

[1] https://commons.wikimedia.org/wiki/File%3AAlaskan_Huskies_-_Sled_Dogs_-_Ivalo_2013.ogv

Conversion test command:

for qual in 2 4 8 16 31
do
  ffmpeg -i 'Alaskan_Huskies_-_Sled_Dogs_-_Ivalo_2013.ogv' -c:v mjpeg -q:v $qual -c:a flac q$qual-alaskan-huskies.mkv
done

The results play in VLC and look pretty good at quality levels 2 (best) through 8 (middling), with a bitrate ranging from around 50-20 megabits/s; past 8 it starts looking a bit uggy.


An MJPEG .mkv file can also be remuxed to .avi or .mov containers with no further loss of video quality by copying the MJPEG frames as-is (or one could produce an MJPEG .avi or .mov directly). This .mov file plays in QuickTime Player on OS X 10.10 and in Windows Media Player on Windows 8.1:

  ffmpeg -i q2-alaskan-huskies.mkv -c:v copy -c:a pcm_s16le alaskan-huskies.mov

If there's no patent impediment to using the QuickTime/MP4 *container* format with MJPEG and PCM audio... might want to seriously consider that as an archival format that should be usable directly in existing editing software rather than fiddling with .mkv.

(I don't know if MJPEG can handle 10-bit video or full 4:4:4 chroma sampling in an interoperable way, though, and something else might get better compression ratios while maintaining quality.)

I'd put the actual demo files up for download as samples, but they're huge and I'm low on space on my personal server. ;)

-- brion



On Fri, Nov 7, 2014 at 2:56 PM, Brian Wolff <bawolff@gmail.com> wrote:
On 11/7/14, George Chriss <gschriss@gmail.com> wrote:
> On Tue, November 4, 2014 5:55 pm, Brion Vibber wrote:
>> Hmm, is Motion-JPEG no longer a thing, or does it not scale to the
>> quality
>> or bitrates needed nowadays? Used to be pretty standard back in the days
>> I
>> was fiddling with video editing 10-15 years ago (MJPEG would be packaged
>> usually in .avi or .mov depending on the platform's preferred video
>> container).
>
> Motion-JPEG is a thing to the extent that IP cameras deliver
> JPEG-over-RTSP/RTP -- a fair number of cameras on-market do, others do
> on-the-fly MP4 streaming, and some do both.  Thus, saving the incoming
> M-JPEG stream is means of (virtually) lossless recording.  Likewise if you
> have HW acceleration available to do on-the-fly JPEG conversion from raw
> bayer recording modes.
>
> The LibrePlanet 2013 videos hosted on media.libreplanet.org were recording
> in JPEG+Vorbis-in-Matroska (18FPS) then converted to WebM for upload.
> There's no corresponding container binding I'm aware of for JPEG-in-Ogg but
> in theory this can be done without much fuss.  In any case the
> video/editing quality, command-line tools, and patent status (IANAL) is
> really quite suitable for use in the free software community but widespread
> adoption is another issue altogether.  The format also works well within
> Pitivi.
>
> There's arbitrary JPEG-in-Matroska upload restrictions on popular video
> hosting services: the backend ffmpeg binary is able to decode and convert
> just fine but the format hasn't been explicitly whitelisted due to
> _______.  I would be happy to see JPEG-in-Matroska adoption by the WMF and
> community.
>
> Sincerely,
> George
>

I think it would make sense to enable mkv contained video, limited to
free codecs. In addition to MJPEG, there is also FFV1 (which based on
my googling) is a lossless codec serving a similar niche as MJPEG2000
(and hence MJPEG and "mox" maybe?), but also starting to gain some
popularity in the video archiving world (If "edit retention" is the
magic trigger word for getting things done on wikipedia, "glam" is
probably the magic word for getting stuff done related to media,
albeit not anywhere near as strongly).

The only issue is that mkv can also be used for non-free codecs [1],
so from a usability prespective it might confuse users if only some
mkv files are allowed (I wish people would use a unique extension for
each <container, video codec, audio codec> triple, make life so less
confusing).

--bawolff

[1] http://www.matroska.org/technical/specs/codecid/index.html

_______________________________________________
Wikivideo-l mailing list
Wikivideo-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikivideo-l