Hello and thank your for a wonderful tool.
python2 ./set_v4l2loopback_screen.py -s 1
Executing ffmpeg cmd: ffmpeg -f x11grab -framerate 30 -video_size 1920x1080 -i :0.0+0,0 -f v4l2 -vcodec rawvideo -pix_fmt rgb24 /dev/video2
ffmpeg version 4.4.6 Copyright (c) 2000-2025 the FFmpeg developers
built with gcc 15.2.0 (GCC)
configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --docdir=/usr/doc/ffmpeg-4.4.6/html --mandir=/usr/man --disable-debug --enable-shared --disable-static --enable-gpl --enable-version3 --enable-avresample --disable-doc --arch=x86_64 --enable-nonfree --enable-libfdk-aac --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcelt --enable-libdc1394 --enable-libflite --enable-frei0r --enable-libgme --enable-libgsm --enable-libiec61883 --enable-libilbc --enable-libmodplug --enable-openal --enable-libopus --enable-librtmp --enable-libsnappy --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-libmp3lame --enable-opencl --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-opengl --enable-libopenjpeg --enable-libpulse --enable-librubberband --enable-libsmbclient --enable-libtesseract --enable-libxml2 --enable-librsvg --enable-vulkan --enable-libjack --enable-libglslang --enable-libdrm --enable-libaom --enable-lv2 --enable-libdav1d --enable-librabbitmq --enable-libcodec2 --enable-libsoxr --enable-libsrt --enable-libzimg --enable-vapoursynth
libavutil 56. 70.100 / 56. 70.100
libavcodec 58.134.100 / 58.134.100
libavformat 58. 76.100 / 58. 76.100
libavdevice 58. 13.100 / 58. 13.100
libavfilter 7.110.100 / 7.110.100
libavresample 4. 0. 0 / 4. 0. 0
libswscale 5. 9.100 / 5. 9.100
libswresample 3. 9.100 / 3. 9.100
libpostproc 55. 9.100 / 55. 9.100
[x11grab @ 0xb6d8740] Stream #0: not enough frames to estimate rate; consider increasing probesize
Input #0, x11grab, from ':0.0+0,0':
Duration: N/A, start: 1781655686.222032, bitrate: 1990656 kb/s
Stream #0:0: Video: rawvideo (BGR[0] / 0x524742), bgr0, 1920x1080, 1990656 kb/s, 30 fps, 1000k tbr, 1000k tbn, 1000k tbc
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> rawvideo (native))
Press [q] to stop, [?] for help
Output #0, video4linux2,v4l2, to '/dev/video2':
Metadata:
encoder : Lavf58.76.100
Stream #0:0: Video: rawvideo (RGB[24] / 0x18424752), rgb24(pc, gbr/unknown/unknown, progressive), 1920x1080, q=2-31, 1492992 kb/s, 30 fps, 30 tbn
Metadata:
encoder : Lavc58.134.100 rawvideo
frame= 3095 fps= 30 q=-0.0 Lsize=N/A time=00:01:43.16 bitrate=N/A dup=1 drop=0 speed= 1x
video:18802125kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Exiting normally, received signal 2.
$ python3 ./set_v4l2loopback_screen.py -s 1
Traceback (most recent call last):
File "./set_v4l2loopback_screen.py", line 105, in <module>
main()
File "./set_v4l2loopback_screen.py", line 89, in main
v4l2loopback_dev = get_v4l2loopback_dev()
File "./set_v4l2loopback_screen.py", line 54, in get_v4l2loopback_dev
drv_name = buf_drv.tostring().decode().replace('\x00', '')
AttributeError: 'array.array' object has no attribute 'tostring'
Hello and thank your for a wonderful tool.
The python 2 version works as expected:
The python 3 version does not: