Open ramraver opened 2 years ago
Issue still exists even with latest AIR 50.0.1.3 across all platforms. Right now AIR applications cannot use cameras resolutions more than 1920*1080. May be it related to pixel formats or video codecs (yuyv422, nv12, mjpeg, h264, ...). Tested wil multiple 4K cameras with multiple devices with different platforms.
Other (non-AIR) applications can use 4K resolutions.
ffmpeg -list_options true -f dshow -i video="BRIO 4K Stream Edition"
command output (just to get supported resolutions and modes) for Logitech BRIO 4K camera:
[dshow @ 000001f456eacd40] DirectShow video device options (from video devices)
[dshow @ 000001f456eacd40] pixel_format=yuyv422 min s=640x480 fps=5 max s=640x480 fps=30
[dshow @ 000001f456eacd40] pixel_format=yuyv422 min s=640x480 fps=5 max s=640x480 fps=30
[dshow @ 000001f456eacd40] pixel_format=yuyv422 min s=160x120 fps=5 max s=160x120 fps=30
[dshow @ 000001f456eacd40] pixel_format=yuyv422 min s=160x120 fps=5 max s=160x120 fps=30
[dshow @ 000001f456eacd40] pixel_format=yuyv422 min s=176x144 fps=5 max s=176x144 fps=30
[dshow @ 000001f456eacd40] pixel_format=yuyv422 min s=176x144 fps=5 max s=176x144 fps=30
[dshow @ 000001f456eacd40] pixel_format=yuyv422 min s=320x180 fps=5 max s=320x180 fps=30
[dshow @ 000001f456eacd40] pixel_format=yuyv422 min s=320x180 fps=5 max s=320x180 fps=30
[dshow @ 000001f456eacd40] pixel_format=yuyv422 min s=320x240 fps=5 max s=320x240 fps=30
[dshow @ 000001f456eacd40] pixel_format=yuyv422 min s=320x240 fps=5 max s=320x240 fps=30
[dshow @ 000001f456eacd40] pixel_format=yuyv422 min s=352x288 fps=5 max s=352x288 fps=30
[dshow @ 000001f456eacd40] pixel_format=yuyv422 min s=352x288 fps=5 max s=352x288 fps=30
[dshow @ 000001f456eacd40] pixel_format=yuyv422 min s=340x340 fps=30 max s=340x340 fps=30
[dshow @ 000001f456eacd40] pixel_format=yuyv422 min s=340x340 fps=30 max s=340x340 fps=30
[dshow @ 000001f456eacd40] pixel_format=yuyv422 min s=424x240 fps=5 max s=424x240 fps=30
[dshow @ 000001f456eacd40] pixel_format=yuyv422 min s=424x240 fps=5 max s=424x240 fps=30
[dshow @ 000001f456eacd40] pixel_format=yuyv422 min s=440x440 fps=30 max s=440x440 fps=30
[dshow @ 000001f456eacd40] pixel_format=yuyv422 min s=440x440 fps=30 max s=440x440 fps=30
[dshow @ 000001f456eacd40] pixel_format=yuyv422 min s=480x270 fps=5 max s=480x270 fps=30
[dshow @ 000001f456eacd40] pixel_format=yuyv422 min s=480x270 fps=5 max s=480x270 fps=30
[dshow @ 000001f456eacd40] pixel_format=yuyv422 min s=640x360 fps=5 max s=640x360 fps=30
[dshow @ 000001f456eacd40] pixel_format=yuyv422 min s=640x360 fps=5 max s=640x360 fps=30
[dshow @ 000001f456eacd40] pixel_format=yuyv422 min s=800x448 fps=5 max s=800x448 fps=30
[dshow @ 000001f456eacd40] pixel_format=yuyv422 min s=800x448 fps=5 max s=800x448 fps=30
[dshow @ 000001f456eacd40] pixel_format=yuyv422 min s=800x600 fps=5 max s=800x600 fps=30
[dshow @ 000001f456eacd40] pixel_format=yuyv422 min s=800x600 fps=5 max s=800x600 fps=30
[dshow @ 000001f456eacd40] pixel_format=yuyv422 min s=848x480 fps=5 max s=848x480 fps=30
[dshow @ 000001f456eacd40] pixel_format=yuyv422 min s=848x480 fps=5 max s=848x480 fps=30
[dshow @ 000001f456eacd40] pixel_format=yuyv422 min s=960x540 fps=5 max s=960x540 fps=30
[dshow @ 000001f456eacd40] pixel_format=yuyv422 min s=960x540 fps=5 max s=960x540 fps=30
[dshow @ 000001f456eacd40] pixel_format=yuyv422 min s=1024x576 fps=5 max s=1024x576 fps=30
[dshow @ 000001f456eacd40] pixel_format=yuyv422 min s=1024x576 fps=5 max s=1024x576 fps=30
[dshow @ 000001f456eacd40] pixel_format=yuyv422 min s=1280x720 fps=5 max s=1280x720 fps=30
[dshow @ 000001f456eacd40] pixel_format=yuyv422 min s=1280x720 fps=5 max s=1280x720 fps=30
[dshow @ 000001f456eacd40] pixel_format=yuyv422 min s=1600x896 fps=5 max s=1600x896 fps=30
[dshow @ 000001f456eacd40] pixel_format=yuyv422 min s=1600x896 fps=5 max s=1600x896 fps=30
[dshow @ 000001f456eacd40] pixel_format=yuyv422 min s=1920x1080 fps=5 max s=1920x1080 fps=30
[dshow @ 000001f456eacd40] pixel_format=yuyv422 min s=1920x1080 fps=5 max s=1920x1080 fps=30
[dshow @ 000001f456eacd40] vcodec=mjpeg min s=640x480 fps=5 max s=640x480 fps=120
[dshow @ 000001f456eacd40] vcodec=mjpeg min s=640x480 fps=5 max s=640x480 fps=120
[dshow @ 000001f456eacd40] vcodec=mjpeg min s=160x120 fps=5 max s=160x120 fps=30
[dshow @ 000001f456eacd40] vcodec=mjpeg min s=160x120 fps=5 max s=160x120 fps=30
[dshow @ 000001f456eacd40] vcodec=mjpeg min s=176x144 fps=5 max s=176x144 fps=30
[dshow @ 000001f456eacd40] vcodec=mjpeg min s=176x144 fps=5 max s=176x144 fps=30
[dshow @ 000001f456eacd40] vcodec=mjpeg min s=320x180 fps=5 max s=320x180 fps=30
[dshow @ 000001f456eacd40] vcodec=mjpeg min s=320x180 fps=5 max s=320x180 fps=30
[dshow @ 000001f456eacd40] vcodec=mjpeg min s=320x240 fps=5 max s=320x240 fps=30
[dshow @ 000001f456eacd40] vcodec=mjpeg min s=320x240 fps=5 max s=320x240 fps=30
[dshow @ 000001f456eacd40] vcodec=mjpeg min s=352x288 fps=5 max s=352x288 fps=30
[dshow @ 000001f456eacd40] vcodec=mjpeg min s=352x288 fps=5 max s=352x288 fps=30
[dshow @ 000001f456eacd40] vcodec=mjpeg min s=424x240 fps=5 max s=424x240 fps=30
[dshow @ 000001f456eacd40] vcodec=mjpeg min s=424x240 fps=5 max s=424x240 fps=30
[dshow @ 000001f456eacd40] vcodec=mjpeg min s=480x270 fps=5 max s=480x270 fps=30
[dshow @ 000001f456eacd40] vcodec=mjpeg min s=480x270 fps=5 max s=480x270 fps=30
[dshow @ 000001f456eacd40] vcodec=mjpeg min s=640x360 fps=5 max s=640x360 fps=30
[dshow @ 000001f456eacd40] vcodec=mjpeg min s=640x360 fps=5 max s=640x360 fps=30
[dshow @ 000001f456eacd40] vcodec=mjpeg min s=800x448 fps=5 max s=800x448 fps=30
[dshow @ 000001f456eacd40] vcodec=mjpeg min s=800x448 fps=5 max s=800x448 fps=30
[dshow @ 000001f456eacd40] vcodec=mjpeg min s=800x600 fps=5 max s=800x600 fps=30
[dshow @ 000001f456eacd40] vcodec=mjpeg min s=800x600 fps=5 max s=800x600 fps=30
[dshow @ 000001f456eacd40] vcodec=mjpeg min s=848x480 fps=5 max s=848x480 fps=30
[dshow @ 000001f456eacd40] vcodec=mjpeg min s=848x480 fps=5 max s=848x480 fps=30
[dshow @ 000001f456eacd40] vcodec=mjpeg min s=960x540 fps=5 max s=960x540 fps=30
[dshow @ 000001f456eacd40] vcodec=mjpeg min s=960x540 fps=5 max s=960x540 fps=30
[dshow @ 000001f456eacd40] vcodec=mjpeg min s=1024x576 fps=5 max s=1024x576 fps=30
[dshow @ 000001f456eacd40] vcodec=mjpeg min s=1024x576 fps=5 max s=1024x576 fps=30
[dshow @ 000001f456eacd40] vcodec=mjpeg min s=1280x720 fps=5 max s=1280x720 fps=90.0001
[dshow @ 000001f456eacd40] vcodec=mjpeg min s=1280x720 fps=5 max s=1280x720 fps=90.0001
[dshow @ 000001f456eacd40] vcodec=mjpeg min s=1600x896 fps=5 max s=1600x896 fps=30
[dshow @ 000001f456eacd40] vcodec=mjpeg min s=1600x896 fps=5 max s=1600x896 fps=30
[dshow @ 000001f456eacd40] vcodec=mjpeg min s=1920x1080 fps=5 max s=1920x1080 fps=60.0002
[dshow @ 000001f456eacd40] vcodec=mjpeg min s=1920x1080 fps=5 max s=1920x1080 fps=60.0002
[dshow @ 000001f456eacd40] vcodec=mjpeg min s=2560x1440 fps=5 max s=2560x1440 fps=30
[dshow @ 000001f456eacd40] vcodec=mjpeg min s=2560x1440 fps=5 max s=2560x1440 fps=30
[dshow @ 000001f456eacd40] vcodec=mjpeg min s=3840x2160 fps=5 max s=3840x2160 fps=30
[dshow @ 000001f456eacd40] vcodec=mjpeg min s=3840x2160 fps=5 max s=3840x2160 fps=30
[dshow @ 000001f456eacd40] vcodec=mjpeg min s=4096x2160 fps=5 max s=4096x2160 fps=30
[dshow @ 000001f456eacd40] vcodec=mjpeg min s=4096x2160 fps=5 max s=4096x2160 fps=30
[dshow @ 000001f456eacd40] pixel_format=nv12 min s=640x480 fps=5 max s=640x480 fps=30
[dshow @ 000001f456eacd40] pixel_format=nv12 min s=640x480 fps=5 max s=640x480 fps=30
[dshow @ 000001f456eacd40] pixel_format=nv12 min s=640x360 fps=5 max s=640x360 fps=30
[dshow @ 000001f456eacd40] pixel_format=nv12 min s=640x360 fps=5 max s=640x360 fps=30
[dshow @ 000001f456eacd40] pixel_format=nv12 min s=1280x720 fps=5 max s=1280x720 fps=30
[dshow @ 000001f456eacd40] pixel_format=nv12 min s=1280x720 fps=5 max s=1280x720 fps=30
[dshow @ 000001f456eacd40] pixel_format=nv12 min s=1920x1080 fps=5 max s=1920x1080 fps=30
[dshow @ 000001f456eacd40] pixel_format=nv12 min s=1920x1080 fps=5 max s=1920x1080 fps=30
ffmpeg -list_options true -f dshow -i video="Prestigio Solutions PanoCAM"
command output (just to get supported resolutions and modes) for Prestigio Panoramic VC Camera:
[dshow @ 0000018af4e8cec0] DirectShow video device options (from video devices)
[dshow @ 0000018af4e8cec0] pixel_format=yuyv422 min s=640x360 fps=10 max s=640x360 fps=30
[dshow @ 0000018af4e8cec0] pixel_format=yuyv422 min s=640x360 fps=10 max s=640x360 fps=30
[dshow @ 0000018af4e8cec0] pixel_format=yuyv422 min s=640x480 fps=10 max s=640x480 fps=30
[dshow @ 0000018af4e8cec0] pixel_format=yuyv422 min s=640x480 fps=10 max s=640x480 fps=30
[dshow @ 0000018af4e8cec0] pixel_format=yuyv422 min s=320x240 fps=10 max s=320x240 fps=30
[dshow @ 0000018af4e8cec0] pixel_format=yuyv422 min s=320x240 fps=10 max s=320x240 fps=30
[dshow @ 0000018af4e8cec0] pixel_format=yuyv422 min s=480x270 fps=10 max s=480x270 fps=30
[dshow @ 0000018af4e8cec0] pixel_format=yuyv422 min s=480x270 fps=10 max s=480x270 fps=30
[dshow @ 0000018af4e8cec0] pixel_format=yuyv422 min s=352x288 fps=10 max s=352x288 fps=30
[dshow @ 0000018af4e8cec0] pixel_format=yuyv422 min s=352x288 fps=10 max s=352x288 fps=30
[dshow @ 0000018af4e8cec0] vcodec=mjpeg min s=1920x1080 fps=10 max s=1920x1080 fps=30
[dshow @ 0000018af4e8cec0] vcodec=mjpeg min s=1920x1080 fps=10 max s=1920x1080 fps=30
[dshow @ 0000018af4e8cec0] vcodec=mjpeg min s=1280x720 fps=10 max s=1280x720 fps=30
[dshow @ 0000018af4e8cec0] vcodec=mjpeg min s=1280x720 fps=10 max s=1280x720 fps=30
[dshow @ 0000018af4e8cec0] vcodec=mjpeg min s=1024x576 fps=10 max s=1024x576 fps=30
[dshow @ 0000018af4e8cec0] vcodec=mjpeg min s=1024x576 fps=10 max s=1024x576 fps=30
[dshow @ 0000018af4e8cec0] vcodec=mjpeg min s=960x544 fps=10 max s=960x544 fps=30
[dshow @ 0000018af4e8cec0] vcodec=mjpeg min s=960x544 fps=10 max s=960x544 fps=30
[dshow @ 0000018af4e8cec0] vcodec=mjpeg min s=640x480 fps=10 max s=640x480 fps=30
[dshow @ 0000018af4e8cec0] vcodec=mjpeg min s=640x480 fps=10 max s=640x480 fps=30
[dshow @ 0000018af4e8cec0] vcodec=mjpeg min s=640x360 fps=10 max s=640x360 fps=30
[dshow @ 0000018af4e8cec0] vcodec=mjpeg min s=640x360 fps=10 max s=640x360 fps=30
[dshow @ 0000018af4e8cec0] vcodec=mjpeg min s=3840x2160 fps=10 max s=3840x2160 fps=24
[dshow @ 0000018af4e8cec0] vcodec=mjpeg min s=3840x2160 fps=10 max s=3840x2160 fps=24
[dshow @ 0000018af4e8cec0] vcodec=mjpeg min s=3840x962 fps=10 max s=3840x962 fps=30
[dshow @ 0000018af4e8cec0] vcodec=mjpeg min s=3840x962 fps=10 max s=3840x962 fps=30
[dshow @ 0000018af4e8cec0] vcodec=mjpeg min s=3840x1376 fps=10 max s=3840x1376 fps=30
[dshow @ 0000018af4e8cec0] vcodec=mjpeg min s=3840x1376 fps=10 max s=3840x1376 fps=30
[dshow @ 0000018af4e8cec0] vcodec=mjpeg min s=2560x1440 fps=10 max s=2560x1440 fps=30
[dshow @ 0000018af4e8cec0] vcodec=mjpeg min s=2560x1440 fps=10 max s=2560x1440 fps=30
[dshow @ 0000018af4e8cec0] vcodec=h264 min s=1280x720 fps=10 max s=1280x720 fps=30
[dshow @ 0000018af4e8cec0] vcodec=h264 min s=1280x720 fps=10 max s=1280x720 fps=30
[dshow @ 0000018af4e8cec0] vcodec=h264 min s=1024x576 fps=10 max s=1024x576 fps=30
[dshow @ 0000018af4e8cec0] vcodec=h264 min s=1024x576 fps=10 max s=1024x576 fps=30
[dshow @ 0000018af4e8cec0] vcodec=h264 min s=960x544 fps=10 max s=960x544 fps=30
[dshow @ 0000018af4e8cec0] vcodec=h264 min s=960x544 fps=10 max s=960x544 fps=30
[dshow @ 0000018af4e8cec0] vcodec=h264 min s=640x480 fps=10 max s=640x480 fps=30
[dshow @ 0000018af4e8cec0] vcodec=h264 min s=640x480 fps=10 max s=640x480 fps=30
[dshow @ 0000018af4e8cec0] vcodec=h264 min s=640x360 fps=10 max s=640x360 fps=30
[dshow @ 0000018af4e8cec0] vcodec=h264 min s=640x360 fps=10 max s=640x360 fps=30
Related issues: https://github.com/airsdk/Adobe-Runtime-Support/issues/1895 https://github.com/airsdk/Adobe-Runtime-Support/issues/1777
Also AIR cannot use camera framerate more than 30 fps right now - there is also issue.
I guess Air just returns the wrong resolutions from the active camera. There is a difference in quality if I display a 4K camera source compared to a FHD source. Furthermore Antialiasing may have an effect on the quality. Cheers, Kai
@ajwfrost With latest AIR versions for Windows, macOS and iOS cameras with 4K basically supported. But still have issues: https://github.com/airsdk/Adobe-Runtime-Support/issues/2699 https://github.com/airsdk/Adobe-Runtime-Support/issues/2693 https://github.com/airsdk/Adobe-Runtime-Support/issues/2691 https://github.com/airsdk/Adobe-Runtime-Support/issues/2687
@itlancer - any clue if the 4k camera is supported on Windows now? Thanks.
@raresn AIR SDK 50.2.2.1 updated the limits so that it's possible to have a camera opened at 4k resolution on Windows, macOS and iOS - but this isn't yet the case for Linux and Android, and there are a few other related issues still as referenced above...
@ajwfrost idk now i missed that in the release notes... thank you! for me this is actually good because we have a small project on windows :)
@raresn AIR SDK 50.2.2.1 updated the limits so that it's possible to have a camera opened at 4k resolution on Windows, macOS and iOS - but this isn't yet the case for Linux and Android, and there are a few other related issues still as referenced above...
@ajwfrost Good to see that something is happening, but it took quite a while... What about NDI support Andrew? Things like 4k and NDI should have priority to be adressed in a development framework like Air.
We had someone looking into NDI and it does seem like this sort of integration is possible, although it may not be the most streamlined/performant of approaches.. although there do seem to be a number of options, so we would try to match the NDI output with whatever the current AIR render mode is. There may be some restrictions/issues though (I think our developer had got normal (software) rendering sorted but was struggling with DirectShow).
Trying to get a bit more focus onto this multimedia area again, we've been doing things in patches/bursts but one of the key next steps that will unblock a number of different capabilities is the same sort of functionality as we're looking at for this..
thanks
Any news on this Andrew? Thanks
We had someone looking into NDI and it does seem like this sort of integration is possible, although it may not be the most streamlined/performant of approaches.. although there do seem to be a number of options, so we would try to match the NDI output with whatever the current AIR render mode is. There may be some restrictions/issues though (I think our developer had got normal (software) rendering sorted but was struggling with DirectShow).
Trying to get a bit more focus onto this multimedia area again, we've been doing things in patches/bursts but one of the key next steps that will unblock a number of different capabilities is the same sort of functionality as we're looking at for this..
thanks
any news on this Andrew?
I would highly appreciate 4k support for the camera class (for PC/Mac)