Giter Club home page Giter Club logo

Comments (14)

hipersayanX avatar hipersayanX commented on September 21, 2024 1

Right now, no. I'm quite busy with the Android port of Webcamoid, I'll take a look of all bugs (including this) once I finish with that. Mean while you or anyone else can start hacking with the code or the system, solutions and PRs are very welcome 😃

from akvcam.

hipersayanX avatar hipersayanX commented on September 21, 2024 1

This issue was fixed in 1.0.2.

from akvcam.

bigtobster avatar bigtobster commented on September 21, 2024 1

That worked perfectly. Problem solved.
For anyone else with this issue, I ran a Kernel update, restarted, rebuilt akvcam from scratch, installed with DKMS, copied the config.ini exactly as @hipersayanX wrote and 100% fixed.
Note that v4l2-compliance gave me some failures on video1 but it didn't seem to affect the overall outcome.
Many thanks @hipersayanX - you the damn boss

from akvcam.

hipersayanX avatar hipersayanX commented on September 21, 2024

What is the content of /etc/akvcam/config.ini?

from akvcam.

bigtobster avatar bigtobster commented on September 21, 2024
$ cat /etc/akvcam/config.ini
[Cameras]
cameras/size = 2

cameras/1/type = output
cameras/1/mode = mmap, userptr, rw
cameras/1/description = Virtual Camera (output device)
cameras/1/formats = 2

cameras/2/type = capture
cameras/2/mode = mmap, rw
cameras/2/description = Canon XJ4123R Webcam
; cameras/2/description = Virtual Camera (capture device)
cameras/2/formats = 1, 2

[Formats]
formats/size = 2

formats/1/format = RGB24
formats/1/width = 640
formats/1/height = 480
formats/1/fps = 30

formats/2/format = RGB24, YUY2
formats/2/width = 640
formats/2/height = 480
formats/2/fps = 20/1, 15/2

[Connections]
connections/size = 1
connections/1/connection = 1:2

from akvcam.

hipersayanX avatar hipersayanX commented on September 21, 2024

The configuration seems ok, and the width is multiple of 32, the only thing that is wrong is that FFmpeg only support rw method, so it must be cameras/2/mode = rw.

from akvcam.

bigtobster avatar bigtobster commented on September 21, 2024

Thanks.

New settings file:

$ sudo cat /etc/akvcam/config.ini 
[Cameras]
cameras/size = 2

cameras/1/type = output
cameras/1/mode = mmap, userptr, rw
cameras/1/description = Virtual Camera (output device)
cameras/1/formats = 2

cameras/2/type = capture
cameras/2/mode = rw
cameras/2/description = Canon XJ4123R Webcam
; cameras/2/description = Virtual Camera (capture device)
cameras/2/formats = 1, 2

[Formats]
formats/size = 2

formats/1/format = RGB24
formats/1/width = 640
formats/1/height = 480
formats/1/fps = 30

formats/2/format = RGB24, YUY2
formats/2/width = 640
formats/2/height = 480
formats/2/fps = 20/1, 15/2

[Connections]
connections/size = 1
connections/1/connection = 1:2

Issue now is Permission Denied (or similar when used through ANY browser).

To reload the config, I ran the below:

sudo rmmod /var/lib/dkms/akvcam/5.1.8-300/5.1.8-300.fc30.x86_64/x86_64/module/akvcam.ko.xz
sudo modprobe videodev
sudo insmod /var/lib/dkms/akvcam/5.1.8-300/5.1.8-300.fc30.x86_64/x86_64/module/akvcam.ko.xz
sudo insmod /var/lib/dkms/akvcam/5.1.8-300/5.1.8-300.fc30.x86_64/x86_64/module/akvcam.ko.xz

Devices look like this:

$ ll /dev/video*                                                                              
crw-rw-rw-+ 1 root video 81, 0 Jun 16 15:14 /dev/video0
crw-rw-rw-+ 1 root video 81, 1 Jun 16 15:14 /dev/video1

Nothing useful in /var/log/messages

Jun 16 15:09:31 sephiroth kernel: akvcam: loading out-of-tree module taints kernel.
Jun 16 15:09:31 sephiroth kernel: akvcam: module verification failed: signature and/or required key missing - tainting kernel
Jun 16 15:09:31 sephiroth systemd-modules-load[992]: Inserted module 'akvcam'

from akvcam.

hipersayanX avatar hipersayanX commented on September 21, 2024
Jun 16 15:09:31 sephiroth kernel: akvcam: loading out-of-tree module taints kernel.
Jun 16 15:09:31 sephiroth kernel: akvcam: module verification failed: signature and/or required key missing - tainting kernel
Jun 16 15:09:31 sephiroth systemd-modules-load[992]: Inserted module 'akvcam'

Could that error be related to this?

from akvcam.

bigtobster avatar bigtobster commented on September 21, 2024

So I executed

sudo depmod -a

Rebooted. The result was this in /var/log/messages

Jun 18 11:59:33 sephiroth systemd-modules-load[324]: Failed to find module 'akvcam'
Jun 18 11:59:42 sephiroth systemd-modules-load[951]: Failed to find module 'akvcam'
Jun 18 11:59:42 sephiroth systemd-modules-load[1102]: Failed to find module 'akvcam'
Jun 18 11:59:42 sephiroth systemd-modules-load[1112]: Failed to find module 'akvcam'
Jun 18 11:59:44 sephiroth sh[1279]: make -C /usr/lib/modules/5.1.9-300.fc30.x86_64/build M=/var/lib/dkms/akvcam/5.1.8-300/build clean
Jun 18 11:59:46 sephiroth sh[1279]: { make -j8 KERNELRELEASE=5.1.9-300.fc30.x86_64 KERNEL_DIR=/lib/modules/5.1.9-300.fc30.x86_64/build all; } >> /var/lib/dkms/akvcam/5.1.8-300/build/make.log 2>&1
Jun 18 11:59:51 sephiroth sh[1279]: make -C /usr/lib/modules/5.1.9-300.fc30.x86_64/build M=/var/lib/dkms/akvcam/5.1.8-300/build clean
Jun 18 11:59:51 sephiroth sh[1279]:  CLEAN   /var/lib/dkms/akvcam/5.1.8-300/build/.tmp_versions
Jun 18 11:59:51 sephiroth sh[1279]:  CLEAN   /var/lib/dkms/akvcam/5.1.8-300/build/Module.symvers
Jun 18 11:59:51 sephiroth sh[1279]: akvcam.ko.xz:
Jun 18 12:00:03 sephiroth kernel: akvcam: loading out-of-tree module taints kernel.
Jun 18 12:00:03 sephiroth kernel: akvcam: module verification failed: signature and/or required key missing - tainting kernel
Jun 18 12:00:03 sephiroth systemd-modules-load[4494]: Inserted module 'akvcam'

So something definitely happened with depmod but whatever it is didn't solve the problem.

Also, the user now has the video group.

$ groups
toby wheel video

The devices are now accessed only be group and root.

$ ll /dev/video*
crw-rw----+ 1 root video 81, 0 Jun 18 12:00 /dev/video0
crw-rw----+ 1 root video 81, 1 Jun 18 12:00 /dev/video1

I've also confirmed that VLC continues to read video1 correctly when casting. This remains a Browser-Only issue both before and after depmod. VLC running as same user.

IMO those warnings in /var/log/messages are just warnings that the module is untested/certificated on the main Kernel. It otherwise seems to be loading correctly.

Finally, I did also check that there is no IPC lock on the device. It appears not:

$ fuser /dev/video1

Note that even with Chrome on a site which requests the video1 camera, fuser still returns 0 processes.

from akvcam.

bigtobster avatar bigtobster commented on September 21, 2024

Sorry to bump... any thoughts on this? Happy to help test :) Just need something to try :)

from akvcam.

bigtobster avatar bigtobster commented on September 21, 2024

Understood! Many thanks!! Good luck with the Android port and I'll see what I can do with this in the meantime.

from akvcam.

bigtobster avatar bigtobster commented on September 21, 2024

I'm experiencing the same issue on Master branch. It's essentially Permission Denied when using akvcam on browsers but it works 100% fine on VLC etc. Any idea why this would happen with all browsers and not local apps? My feeling is that AKVCam is fine but my setup is stupid. Maybe a firewall issue? If any hints come to mind, please let me know. Otherwise I'll look into permissions stuff and post back here if I get it working.

from akvcam.

hipersayanX avatar hipersayanX commented on September 21, 2024

Still the same problem? I've tested in Firefox, Chrome and Opera in Arch and it's working fine. Did you have checked you /etc/akvcam/config.ini file?

Maybe a firewall issue? If any hints come to mind, please let me know. Otherwise I'll look into permissions stuff and post back here if I get it working.

No, the problem is not related to any firewall or permission settings for sure.

from akvcam.

hipersayanX avatar hipersayanX commented on September 21, 2024

Try with this config.ini:

[Cameras]
cameras\1\description=Virtual Camera (out)
cameras\1\formats=1, 2, 3, 4, 5, 6
cameras\1\mode=rw
cameras\1\type=output
cameras\2\description=Virtual Camera
cameras\2\formats=7, 8, 9, 10, 11, 12
cameras\2\mode=mmap, userptr
cameras\2\type=capture
cameras\size=2

[Connections]
connections\1\connection=1:2
connections\size=1

[Formats]
formats\size=12
formats\1\format=RGB24
formats\1\width=640
formats\1\height=480
formats\1\fps=30/1
formats\2\format=RGB24
formats\2\height=120
formats\2\width=160
formats\2\fps=30/1
formats\3\format=RGB24
formats\3\height=240
formats\3\width=320
formats\3\fps=30/1
formats\4\format=RGB24
formats\4\height=600
formats\4\width=800
formats\4\fps=30/1
formats\5\format=RGB24
formats\5\height=720
formats\5\width=1280
formats\5\fps=30/1
formats\6\format=RGB24
formats\6\height=1080
formats\6\width=1920
formats\6\fps=30/1
formats\7\format=YUY2, UYVY
formats\7\width=640
formats\7\height=480
formats\7\fps=30/1
formats\8\format=YUY2, UYVY
formats\8\width=160
formats\8\height=120
formats\8\fps=30/1
formats\9\format=YUY2, UYVY
formats\9\width=320
formats\9\height=240
formats\9\fps=30/1
formats\10\format=YUY2, UYVY
formats\10\width=800
formats\10\height=600
formats\10\fps=30/1
formats\11\format=YUY2, UYVY
formats\11\width=1280
formats\11\height=720
formats\11\fps=30/1
formats\12\format=YUY2, UYVY
formats\12\width=1920
formats\12\height=1080
formats\12\fps=30/1

from akvcam.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.