J'ai une webcam Logitech C930e sur /dev/video0
. Je peux utiliser ceci pour faire des conférences vidéo (par exemple Jitsi). Cependant, la vidéo de cette webcam est trop élevée et trop large. J'aimerais avoir une version "recadrée" de /dev/video0
Cela ne montre pas la photo de la mer sur le mur.
Tout d'abord, j'ai essayé de définir v4l2
options pour y parvenir, mais n'a pas réussi:
$ v4l2-ctl -d /dev/video0 --get-cropcap
Crop Capability Video Capture:
Bounds : Left 0, Top 0, Width 640, Height 360
Default : Left 0, Top 0, Width 640, Height 360
Pixel Aspect: 1/1
$ v4l2-ctl -d /dev/video0 --get-selection target=crop_bounds
Selection: crop_bounds, Left 0, Top 0, Width 640, Height 360, Flags:
$ v4l2-ctl -d /dev/video0 --set-selection target=crop_bounds,flags=crop,top=10,left=10,width=100,height=100
VIDIOC_S_SELECTION: failed: Inappropriate ioctl for device
Après cela, j'ai suivi une autre idée: j'ai essayé d'utiliser v4l2loopback
Pour créer un autre appareil /dev/video2
. Après cela, j'aurais essayé d'utiliser ffmpeg
pour se connecter /dev/video0
à /dev/video2
(voir https://github.com/umlaeute/v4l2loopback/wiki et https://video.stackexchange.com/questions/4563/how-can--crop -A-Vidéo-with-ffmpeg ).
Alors maintenant, je suis à court d'idées. Quelqu'un peut-il donner des conseils?
Les lignes ci-dessous Créer un appareil vidéo de bouclage /dev/video5
. Après que ffmpeg
est utilisé pour connecter /dev/video0
à /dev/video5
, mais cultiver et hflip le ruisseau sur son chemin.
Sudo apt-get install v4l2loopback-dkms
Sudo modprobe v4l2loopback video_nr=5
ffmpeg -i /dev/video0 -f v4l2 -pix_fmt yuv420p -filter:v "hflip,crop=400:400:0:0" /dev/video5