#1 Le 21/01/2019, à 20:59
- xanmoo
Camera PS3 eye bloquée à 60 fps [Slow motion]
Bonjour,
J'essaie de réaliser une capture avec une camera PS3 eye :
$ lsusb
...
Bus 001 Device 004: ID 1415:2000 Nam Tai E&E Products Ltd. or OmniVision Technologies, Inc. Sony Playstation Eye
...
à 60 fps avec Guvcview, le fichier obtenu ne semble pas contenir grand chose (~400 ko).
Avec Qt V4L2, en raw (320x240 @60fps, yuv 4.2.2) j'arrive à obtenir un fichier beaucoup plus lourd (92 Mo), lisible avec Vooya (VLC n'arrive pas à l'ouvrir) sauf que c'est un bazar infâme dans les frames (Il fallait choisir l'option : interleaved 4:2:2 dans Data Container)
L'objectif serait d'enregistrer à 120 fps ou plus. Avec guvcviewer, en peut choisir jusqu'à 187 fps mais cela ne change rien dans le flux scotché à 60fps.
Faut-il vraiment compiler un module pour le noyau? Les post faisant référence à la compilation d'un noyau étant anciens, je pensais que sous 16.04 ce genre de fonction serait supportée hors de la boite. L'auteur du module "video" estcelui qui a fait le patch pour atteindre les 125 fps :
~$ modinfo gspca-ov534
filename: /lib/modules/4.15.0-43-generic/kernel/drivers/media/usb/gspca/gspca_ov534.ko
license: GPL
description: GSPCA/OV534 USB Camera Driver
author: Antonio Ospite <ospite@studenti.unina.it>
srcversion: 62DB21DF6682D70696D9745
alias: usb:v06F8p3002d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v1415p2000d*dc*dsc*dp*ic*isc*ip*in*
depends: gspca_main,videodev
retpoline: Y
intree: Y
name: gspca_ov534
vermagic: 4.15.0-43-generic SMP mod_unload
Pourtant cela devrait être possible:
~$ v4l2-ctl --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
Index : 0
Type : Video Capture
Pixel Format: 'YUYV'
Name : YUYV 4:2:2
Size: Discrete 320x240
Interval: Discrete 0.005s (187.000 fps)
Interval: Discrete 0.007s (150.000 fps)
Interval: Discrete 0.007s (137.000 fps)
Interval: Discrete 0.008s (125.000 fps)
Interval: Discrete 0.010s (100.000 fps)
Interval: Discrete 0.013s (75.000 fps)
Interval: Discrete 0.017s (60.000 fps)
Interval: Discrete 0.020s (50.000 fps)
Interval: Discrete 0.027s (37.000 fps)
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 640x480
Interval: Discrete 0.017s (60.000 fps)
Interval: Discrete 0.020s (50.000 fps)
Interval: Discrete 0.025s (40.000 fps)
Interval: Discrete 0.033s (30.000 fps)
Interval: Discrete 0.067s (15.000 fps)
Le flux video est enregisté sur un ssd, le cpu est un xeon E5520 @2.3 GHz (suit-il la cadence?)
Peut-être enregistrer sur un RAM disk pourrait améliorer.
On trouve pas mal de ref +/- anciennes sur PS3 Eye et linux:
Scotché à 90 fps avec un raspberry pi (2014)
https://www.raspberrypi.org/forums/view … p?t=193033
http://lkml.iu.edu/hypermail/linux/kern … 01236.html
plus récemment:
https://github.com/bensondaled/pseyepy
Dernière modification par xanmoo (Le 22/01/2019, à 17:27)
Portable IBM Thinkpad R50e 2 Go | 40 Go: MX Linux 19.4
Portable IBM Thinkpad T430 8 Go | 240 Go: endeavour OS
Dell Precision T5500, Xeon x5570, 24Go, GTX 960- 4Go, SSD 120Go, Ubuntu 22.04
http://dip4fish.blogspot.com/
Hors ligne
#2 Le 22/01/2019, à 17:57
- xanmoo
Re : Camera PS3 eye bloquée à 60 fps [Slow motion]
En faisant comme pour l'auteur du post 'raspberry pi', j'obtiens:
$ v4l2-ctl --set-fmt-video=width=320,height=240
jeanpat@Dell-T5500:~$ v4l2-ctl --set-parm 100
Frame rate set to 100.000 fps
jeanpat@Dell-T5500:~$
jeanpat@Dell-T5500:~$ ffmpeg -f video4linux2 -input_format yuyv422 -i /dev/video0 -vcodec copy test100fps.mkv
ffmpeg version 2.8.15-0ubuntu0.16.04.1 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.10) 20160609
configuration: --prefix=/usr --extra-version=0ubuntu0.16.04.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv
WARNING: library configuration mismatch
avcodec configuration: --prefix=/usr --extra-version=0ubuntu0.16.04.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv --enable-version3 --disable-doc --disable-programs --disable-avdevice --disable-avfilter --disable-avformat --disable-avresample --disable-postproc --disable-swscale --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libvo_aacenc --enable-libvo_amrwbenc
libavutil 54. 31.100 / 54. 31.100
libavcodec 56. 60.100 / 56. 60.100
libavformat 56. 40.101 / 56. 40.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 40.101 / 5. 40.101
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.101 / 1. 2.101
libpostproc 53. 3.100 / 53. 3.100
Input #0, video4linux2,v4l2, from '/dev/video0':
Duration: N/A, start: 11992.950481, bitrate: 122880 kb/s
Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 320x240, 122880 kb/s, 100 fps, 100 tbr, 1000k tbn, 1000k tbc
[matroska @ 0x1c90100] Codec for stream 0 does not use global headers but container format requires global headers
Output #0, matroska, to 'test100fps.mkv':
Metadata:
encoder : Lavf56.40.101
Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 320x240, q=2-31, 122880 kb/s, 100 fps, 100 tbr, 1k tbn, 1000k tbc
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
frame= 50 fps=0.0 q=-1.0 size= 7502kB time=00:00:00.50 bitrate=122908.2kbitframe= 101 fps=100 q=-1.0 size= 15153kB time=00:00:01.01 bitrate=122782.1kbitframe= 151 fps= 99 q=-1.0 size= 22654kB time=00:00:01.51 bitrate=122820.8kbitframe= 202 fps=100 q=-1.0 size= 30305kB time=00:00:02.02 bitrate=122779.9kbitframe= 250 fps= 99 q=-1.0 size= 37506kB time=00:00:02.52 bitrate=121828.9kbitframe= 300 fps= 99 q=-1.0 size= 45008kB time=00:00:03.02 bitrate=121965.6kbitframe= 351 fps= 99 q=-1.0 size= 52659kB time=00:00:03.53 bitrate=122100.4kbitframe= 401 fps= 99 q=-1.0 size= 60160kB time=00:00:04.03 bitrate=122199.4kbitframe= 450 fps= 99 q=-1.0 size= 67511kB time=00:00:04.54 bitrate=121710.1kbitframe= 500 fps= 99 q=-1.0 size= 75012kB time=00:00:05.04 bitrate=121803.9kbitframe= 550 fps= 99 q=-1.0 size= 82513kB time=00:00:05.54 bitrate=121902.6kbitframe= 601 fps= 99 q=-1.0 size= 90165kB time=00:00:06.05 bitrate=121986.6kbitframe= 649 fps= 99 q=-1.0 size= 97366kB time=00:00:06.55 bitrate=121662.6kbitframe= 699 fps= 99 q=-1.0 size= 104867kB time=00:00:07.05 bitrate=121750.3kbitframe= 750 fps= 99 q=-1.0 size= 112518kB time=00:00:07.56 bitrate=121827.7kbitframe= 800 fps= 99 q=-1.0 size= 120019kB time=00:00:08.06 bitrate=121879.0kbitframe= 849 fps= 99 q=-1.0 size= 127370kB time=00:00:08.57 bitrate=121653.1kbitframe= 899 fps= 99 q=-1.0 size= 134872kB time=00:00:09.07 bitrate=121708.3kbitframe= 949 fps= 99 q=-1.0 size= 142373kB time=00:00:09.57 bitrate=121770.5kbitframe= 1000 fps= 99 q=-1.0 size= 150024kB time=00:00:10.08 bitrate=121827.6kbitframe= 1048 fps= 99 q=-1.0 size= 157225kB time=00:00:10.58 bitrate=121634.5kbitframe= 1098 fps= 99 q=-1.0 size= 164726kB time=00:00:11.08 bitrate=121691.6kbitframe= 1149 fps= 99 q=-1.0 size= 172377kB time=00:00:11.60 bitrate=121734.2kbitframe= 1199 fps= 99 q=-1.0 size= 179879kB time=00:00:12.10 bitrate=121782.3kbitframe= 1248 fps= 99 q=-1.0 size= 187230kB time=00:00:12.61 bitrate=121632.6kbitframe= 1298 fps= 99 q=-1.0 size= 194731kB time=00:00:13.11 bitrate=121671.6kbitframe= 1349 fps= 99 q=-1.0 size= 202382kB time=00:00:13.62 bitrate=121717.5kbitframe= 1399 fps= 99 q=-1.0 size= 209883kB time=00:00:14.12 bitrate=121750.8kbitframe= 1448 fps= 99 q=-1.0 size= 217234kB time=00:00:14.63 bitrate=121622.8kbitframe= 1498 fps= 99 q=-1.0 size= 224736kB time=00:00:15.13 bitrate=121656.9kbitframe= 1549 fps= 99 q=-1.0 size= 232387kB time=00:00:15.64 bitrate=121697.4kbitframe= 1599 fps= 99 q=-1.0 size= 239888kB time=00:00:16.14 bitrate=121734.7kbitframe= 1649 fps= 99 q=-1.0 size= 247389kB time=00:00:16.65 bitrate=121689.2kbitframe= 1695 fps= 99 q=-1.0 Lsize= 254323kB time=00:00:17.11 bitrate=121737.5kbits/s
video:254250kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.028813%
et finalement un fichier mkv de 260 Mo d'une durée de 17 s
* vlc ne reconnait pas le codec !
* Mais le lecteur video de base si! et a lecture est normale.
*Vooya arrive à l'ouvrir et indique 1695 frames* mais à la lecture, c'est hideux (avidemux idem)
donc 100 frames par sec ...
Je pensais naïvement que la lecture d'une vidéo rapide donnerait du slow motion ... reste à ralentir le lecteur video ...(edit) avec SlowmoVideo
Dernière modification par xanmoo (Le 22/01/2019, à 18:50)
Portable IBM Thinkpad R50e 2 Go | 40 Go: MX Linux 19.4
Portable IBM Thinkpad T430 8 Go | 240 Go: endeavour OS
Dell Precision T5500, Xeon x5570, 24Go, GTX 960- 4Go, SSD 120Go, Ubuntu 22.04
http://dip4fish.blogspot.com/
Hors ligne