[FFmpeg-trac] #11525(undetermined:new): 60fps stream from Elgato Facecam Pro is frozen
FFmpeg
trac at avcodec.org
Sat Mar 22 14:43:11 EET 2025
#11525: 60fps stream from Elgato Facecam Pro is frozen
-------------------------------------+-------------------------------------
Reporter: Kirill A. | Type: defect
Korinsky |
Status: new | Priority: normal
Component: | Version:
undetermined | unspecified
Keywords: | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Summary of the bug:
When I use Elgato Facecam Pro is frozen an attempt to consume 60fps stream
from this device lead to frozen picture. 30 fps and adding -noframedrop
helps, but the last one introduced a significant delay for couple of
seconds.
I had captured two video on my laptop on OpenBSD from this device as:
{{{
tmp $ ffmpeg -input_format mjpeg -video_size 3840x2160 -framerate 30 -i
/dev/video1 -codec copy -t 10 framerate-30.mp4
ffmpeg version 6.1.2 Copyright (c) 2000-2024 the FFmpeg developers
built with OpenBSD clang version 16.0.6
configuration: --enable-shared --arch=amd64 --cc=cc --cxx=c++ --enable-
debug --disable-stripping --disable-indev=jack --disable-outdev=sdl2
--disable-vulk
an --enable-fontconfig --enable-frei0r --enable-gpl --enable-ladspa
--enable-libaom --enable-libass --enable-libdav1d --enable-libfontconfig
--enable-libfre
etype --enable-libfribidi --enable-libgsm --enable-libmp3lame --enable-
libopus --enable-libspeex --enable-libtheora --enable-libv4l2 --enable-
libvorbis --en
able-libvpx --enable-libx264 --enable-libx265 --enable-libxml2 --enable-
libxvid --enable-libzimg --enable-nonfree --enable-openssl --enable-
libvidstab --ext
ra-cflags='-I/usr/local/include -I/usr/X11R6/include' --extra-
libs='-L/usr/local/lib -L/usr/X11R6/lib' --extra-ldsoflags=
--mandir=/usr/local/man --objcc=/u
sr/bin/false --optflags='-O2 -pipe -g -Wno-redundant-decls'
libavutil 58. 29.100 / 58. 29.100
libavcodec 60. 31.102 / 60. 31.102
libavformat 60. 16.100 / 60. 16.100
libavdevice 60. 3.100 / 60. 3.100
libavfilter 9. 12.100 / 9. 12.100
libswscale 7. 5.100 / 7. 5.100
libswresample 4. 12.100 / 4. 12.100
libpostproc 57. 3.100 / 57. 3.100
Input #0, video4linux2,v4l2, from '/dev/video1':
Duration: N/A, start: 50567.670002, bitrate: N/A
Stream #0:0: Video: mjpeg (Baseline), yuvj420p(pc,
bt470bg/unknown/unknown), 3840x2160 [SAR 1:1 DAR 16:9], 30 fps, 30 tbr,
1000k tbn
Output #0, mp4, to 'framerate-30.mp4':
Metadata:
encoder : Lavf60.16.100
Stream #0:0: Video: mjpeg (Baseline) (mp4v / 0x7634706D), yuvj420p(pc,
bt470bg/unknown/unknown), 3840x2160 [SAR 1:1 DAR 16:9], q=2-31, 30 fps, 30
tbr, 100
0k tbn
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
[out#0/mp4 @ 0xb2000de8700] video:98822kB audio:0kB subtitle:0kB other
streams:0kB global headers:0kB muxing overhead: 0.004377%
size= 98826kB time=00:00:09.98 bitrate=81120.5kbits/s speed= 1x
tmp $
tmp $ ffmpeg -input_format mjpeg -video_size 3840x2160 -framerate 60 -i
/dev/video1 -codec copy -t 10 framerate-60.mp4
ffmpeg version 6.1.2 Copyright (c) 2000-2024 the FFmpeg developers
built with OpenBSD clang version 16.0.6
configuration: --enable-shared --arch=amd64 --cc=cc --cxx=c++ --enable-
debug --disable-stripping --disable-indev=jack --disable-outdev=sdl2
--disable-vulk
an --enable-fontconfig --enable-frei0r --enable-gpl --enable-ladspa
--enable-libaom --enable-libass --enable-libdav1d --enable-libfontconfig
--enable-libfre
etype --enable-libfribidi --enable-libgsm --enable-libmp3lame --enable-
libopus --enable-libspeex --enable-libtheora --enable-libv4l2 --enable-
libvorbis --en
able-libvpx --enable-libx264 --enable-libx265 --enable-libxml2 --enable-
libxvid --enable-libzimg --enable-nonfree --enable-openssl --enable-
libvidstab --ext
ra-cflags='-I/usr/local/include -I/usr/X11R6/include' --extra-
libs='-L/usr/local/lib -L/usr/X11R6/lib' --extra-ldsoflags=
--mandir=/usr/local/man --objcc=/u
sr/bin/false --optflags='-O2 -pipe -g -Wno-redundant-decls'
libavutil 58. 29.100 / 58. 29.100
libavcodec 60. 31.102 / 60. 31.102
libavformat 60. 16.100 / 60. 16.100
libavdevice 60. 3.100 / 60. 3.100
libavfilter 9. 12.100 / 9. 12.100
libswscale 7. 5.100 / 7. 5.100
libswresample 4. 12.100 / 4. 12.100
libpostproc 57. 3.100 / 57. 3.100
Input #0, video4linux2,v4l2, from '/dev/video1':
Duration: N/A, start: 50588.050002, bitrate: N/A
Stream #0:0: Video: mjpeg (Baseline), yuvj420p(pc,
bt470bg/unknown/unknown), 3840x2160 [SAR 1:1 DAR 16:9], 60 fps, 60 tbr,
1000k tbn
Output #0, mp4, to 'framerate-60.mp4':
Metadata:
encoder : Lavf60.16.100
Stream #0:0: Video: mjpeg (Baseline) (mp4v / 0x7634706D), yuvj420p(pc,
bt470bg/unknown/unknown), 3840x2160 [SAR 1:1 DAR 16:9], q=2-31, 60 fps, 60
tbr, 100
0k tbn
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
[out#0/mp4 @ 0x90d2c605500] video:168313kB audio:0kB subtitle:0kB other
streams:0kB global headers:0kB muxing overhead: 0.004573%
size= 168321kB time=00:00:09.99 bitrate=138026.3kbits/s speed= 1x
tmp $
}}}
Here files:
- https://kirill.korins.ky/pub/ffmpeg-framerate-30.mp4
- https://kirill.korins.ky/pub/ffmpeg-framerate-60.mp4
I had tried Linux as well with the same result, with ffmpeg 7.1.
And on the same setup Jabra PanaCast 20 produces same 4K 60fps strem which
doesn't create any issue.
--
Ticket URL: <https://trac.ffmpeg.org/ticket/11525>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list