VLC 2.* Matroska with Motion JPEG not working

For questions and discussion that is NOT (I repeat NOT) specific to a certain Operating System.
thomas_okken
New Cone
New Cone
Posts: 2
Joined: 19 Feb 2012 22:14

VLC 2.* Matroska with Motion JPEG not working

Postby thomas_okken » 19 Feb 2012 22:49

I have an application that captures audio and video from a Logitech c910 webcam and saves it in Matroska files, with the video encoded as Motion JPEG (MJPEG) and the audio encoded as raw 16-bit PCM. These files play correctly in Totem and Banshee on Ubuntu 11.04, but VLC 1.* always had problems decoding the MJPEG frames:

Image

I discovered that ffmpeg used to have the same problem, see http://lscube.org/pipermail/ffmpeg-issu ... 12382.html for example, but this was fixed in August 2011 IIRC. I have confirmed that recent releases of ffmpeg do handle my Matroska files correctly.

When I noticed that VLC 2.0 had been released, I was hoping that it would incorporate the ffmpeg fix and now be able to play my Matroska files as well, but in fact 2.0 does not recognize them at all. I don't get garbled playback; I get nothing. Apparently 2.0 (and also the latest nightly) completely fail to parse the Matroska header.
This is what VLC 1.1.* sees:

Image

...which is correct, and this is what 2.* makes of the same file:

Image

I put a sample file up at http://thomasokken.com/vlc/media-20120109-140030.mkv. There's a human-readable dump of the file's header at http://thomasokken.com/vlc/media-201201 ... 30.mkv.png. (Note that in the actual file, the "segment" element has length "undefined" (since the mkv is generated by a streaming server) but I had to manually edit that to a definite length in order to get EBML Viewer to open it. I made no other changes to the file. The file I uploaded to my web server is the unmodified original.)

N.B. I have verified the "old" behavior (container correctly parsed and streams correctly decoded, but frames garbled because of incompatibility between ffmpeg libs and Logitech camera) in VLC 1.1.13 on Linux, 1.1.11 on Windows, and 1.1.8 on OS X. I observed the "new" behavior (container not correctly parsed; no output at all) in 2.0 on Linux, Windows, and OS X, and in 2.1.0-git-20120217-0011-win32 on Windows.

- Thomas

Jean-Baptiste Kempf
Site Administrator
Site Administrator
Posts: 37523
Joined: 22 Jul 2005 15:29
VLC version: 4.0.0-git
Operating System: Linux, Windows, Mac
Location: Cone, France
Contact:

Re: VLC 2.* Matroska with Motion JPEG not working

Postby Jean-Baptiste Kempf » 20 Feb 2012 01:36

File a bugreport. But if FFmpeg/Libav never merged the patch, this is why.
Jean-Baptiste Kempf
http://www.jbkempf.com/ - http://www.jbkempf.com/blog/category/Videolan
VLC media player developer, VideoLAN President and Sites administrator
If you want an answer to your question, just be specific and precise. Don't use Private Messages.

thomas_okken
New Cone
New Cone
Posts: 2
Joined: 19 Feb 2012 22:14

Re: VLC 2.* Matroska with Motion JPEG not working

Postby thomas_okken » 20 Feb 2012 02:43

File a bugreport. But if FFmpeg/Libav never merged the patch, this is why.
OK, I filed the bug report, ticket #6137.

ffmpeg/libav *did* merge the patch; the recent ffmpeg builds do handle the Logitech MJPEG. The problem with VLC 2.* doesn't seem to be because it doesn't have the latest ffmpeg code, or, rather, there's no way to tell, because VLC 2.* doesn't even seem to parse the Matroska header correctly. If VLC 2.* simply didn't receive the ffmpeg Logitech-MJPEG patch, I'd expect it to play my Matroska files as it did in version 1.1.13, with garbled video but otherwise correctly, but what has happened is that 2.* doesn't play those files *at all*, and the codec info window seems to indicate that it doesn't even parse the container any more.

- Thomas

Jean-Baptiste Kempf
Site Administrator
Site Administrator
Posts: 37523
Joined: 22 Jul 2005 15:29
VLC version: 4.0.0-git
Operating System: Linux, Windows, Mac
Location: Cone, France
Contact:

Re: VLC 2.* Matroska with Motion JPEG not working

Postby Jean-Baptiste Kempf » 20 Feb 2012 13:13

VLC uses latest libavcodec code. But the file provided is completly rejected here by my VLC.
Jean-Baptiste Kempf
http://www.jbkempf.com/ - http://www.jbkempf.com/blog/category/Videolan
VLC media player developer, VideoLAN President and Sites administrator
If you want an answer to your question, just be specific and precise. Don't use Private Messages.


Return to “General VLC media player Troubleshooting”

Who is online

Users browsing this forum: No registered users and 46 guests