On Mon, Jul 20, 2020 at 09:18:19PM +0100, Michael wrote:
> I don't have this webcam so I don't know if it will or won't play nicely with 
> Linux, but at least ffmpeg seems to contain the requisite mjpeg codec:
> 
>  $ ffmpeg -hide_banner -codecs | grep mjpeg
>  DEVIL. mjpeg                Motion JPEG (encoders: mjpeg mjpeg_vaapi )
>  D.VIL. mjpegb               Apple MJPEG-B
>  D.A.L. adpcm_ima_smjpeg     ADPCM IMA Loki SDL MJPEG

MJPEG seems fully supported in FFmpeg;  it  is  the  Logitech  H.264  "internal"
streams in the key and delta frames (APP0 field) that are causing  the  trouble.
FFmpeg has no idea how to interpret them, and thus  throws  loads  of  warnings.

> Again, I don't know what VLC can do with this.  :-/

I have a feeling that the VLC issue is different.  As mentioned in  my  original
e-mail, it almost crashes (infinite UI-blocking loop) when trying to load  these
bloody files.  When I record a video with OBS (Open Broadcaster Software)  using
the separate x264 encoding module, the video is obviously no longer  MJPEG,  and
VLC plays it fine.  (Nonetheless, I would like to play native Logi MJPEG files.)

VLC is supposed to have an MJPEG-demultiplexing module [1, 2], and it  seems  to
be able to find it:

        $ vlc --list | grep mjpeg

        VLC media player 3.0.10 Vetinari (revision 3.0.10-0-g7f145afa84)
          mjpeg                  M-JPEG camera demuxer

... But when I specify `--demux=mjpeg` on the command-line, it cannot be found:
        
        $ vlc --demux=mjpeg mjpeg-test.mp4

        main demux debug: looking for demux module matching "mjpeg": 46 
candidates
        main demux debug: no demux modules matched

[1] https://git.videolan.org/?p=vlc.git;a=blob;f=modules/demux/mjpeg.c#l49
[2] https://wiki.videolan.org/Documentation:Modules/mjpeg/#Demux

-- 

Ashley Dixon
suugaku.co.uk

2A9A 4117
DA96 D18A
8A7B B0D2
A30E BF25
F290 A8AA

Attachment: signature.asc
Description: PGP signature

Reply via email to