Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 : sparky linux (debian testing avec noyau non PAE), CPU intel
Dell Precision T5500, Xeon 5520, 12Go, GTX 960- 4Go,  SSD 120Go, Ubuntu 16.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 : sparky linux (debian testing avec noyau non PAE), CPU intel
Dell Precision T5500, Xeon 5520, 12Go, GTX 960- 4Go,  SSD 120Go, Ubuntu 16.04
http://dip4fish.blogspot.com/

Hors ligne