webcamoid / akvirtualcamera

akvirtualcamera, virtual camera for Mac and Windows
GNU General Public License v3.0
405 stars 52 forks source link

Development progress #3

Closed hipersayanX closed 3 years ago

hipersayanX commented 4 years ago

I've opened this issue to report some ideas and thoughts that come to my mind while working in the virtual camera.

Right now I'm working in the vcam for Mac, I'll use this driver ref1 for experimenting all new features for the virtual camera, and then port the changes to the Windows and Linux drivers.

My biggest problem right now is finding a common interface for communicating with the virtual camera, an interface that does not requires linking to any library or header, an interface that allow me to modify the driver internally as much as I want without breaking compatibility with controlling programs, at least not breaking too much. My first thought was using DirectShow and CoreMediaIO for communicating with the driver and send data to it, while CMIO in theory has the capability of receiving data through CMIOHardwareStream interface, not even AVFoundation seems to make use of that capability.

While working on integrating the driver to Webcamoid I've discovered the even when marking the stream as an input, AVFoundation still list the virtual input device (the device that will receive the frames) as a capture device (the device that will be seen by the target program). The protocol does not seems to be fully implemented by Apple.

Thinking over and over, I come to the conclusion that the best solution for sending frames to the vcam would be setting the stream parameters and telling where I want to send the frames, and then piping the raw frames, doing something like this:

dd if=/dev/urandom bs=921600 count=30 2>/dev/null | AkVCamManager stream /akvcam/video0 RGB24 640 480

That's all for now, the re-design is taking some time but the final result will be a big improvement compared to the old driver :smile:

hipersayanX commented 4 years ago

Video streaming is working fine and is possible to send frames from third party programs. Here is an example using FFmpeg:

AkVirtualCamera in Firefox

The command used is:

#!/bin/sh

export PATH=/Applications/AkVirtualCamera/AkVirtualCamera.plugin/Contents/Resources:${PATH}
ffmpeg -i ~/Movies/popipo.mp4 -pix_fmt rgb24 -f rawvideo - | pv -L 12M | AkVCamManager stream /akvcam/video0 RGB24 480 360
hipersayanX commented 4 years ago

The current road map is more or less like this:

frankipl commented 4 years ago

Hi I would like to use virtual cammera in commercial application for Windows 10. It should take the stream from WebRTC server and feed it to virtual cammera, so the video is available in Skype application. Is this somehow possible with this application ? I tried to compile with Qt 5.13.2 and MinGW32 but it fails with many errors mostly in ipcbridge.cpp Best, Marek

hipersayanX commented 4 years ago

@frankipl

I would like to use virtual cammera in commercial application for Windows 10.

AkVirtualCamera is licensed as GPLv3, it can only be used in other GPLv3 apps or later.

It should take the stream from WebRTC server and feed it to virtual cammera, so the video is available in Skype application. Is this somehow possible with this application ?

With newer versions of Skype this is not possible you need an AVStream driver for that, this works as a DirectShow plugin, it won't be detected.

I tried to compile with Qt 5.13.2 and MinGW32 but it fails with many errors mostly in ipcbridge.cpp

I'm changing the internal API, it won't compile in Windows for now.

frankipl commented 4 years ago

Hi If I still have my client interrested would you consider doing AVStream driver and virtual camera as commercial solution for my project ? Best, Marek

hipersayanX commented 4 years ago

@frankipl

Ok, I've thinking all day about that. Your are interested on using my virtual camera driver on your commercial software, I'm interested on keeping it Free Open Source Software for everyone and preserving my copyright ownership on it. Let's do this:

Same for AkVirtualCamera, same for akvcam. I don't care who pay for it. I haven't thought about the price but it will be proportional to the development time since beginning.

frankipl commented 4 years ago

Hi

Both of your variants are fine for me. I'm waiting for a client to decide, maybe he will find someone else for a whole app, this should take about a week. I will let you know in either case.

Best Marek

nejatafshar commented 4 years ago

What is the equivalent command on Windows? I compiled akvirtualcamera on windows, the problem is I can't stream to virtual camera using FFmpeg on Windows: I have tried:

./ffmpeg.exe -i c:/1.mkv -f rawvideo -pix_fmt rgb24 -s 640x480 - | ./AkVCamManager.exe stream C:/msys64/akvcam/video1 RGB24 640 480

But it gives me conversion error:

Output #0, rawvideo, to 'pipe:': Metadata: encoder : Lavf58.45.100 Stream #0:0: Video: rawvideo (RGB[24] / 0x18424752), rgb24, 640x480, q=2-31, 7372800 kb/s, 1k fps, 1k tbn, 1k tbc >(default) Metadata: DURATION : 00:00:42.105000000 encoder : Lavc58.91.100 rawvideo av_interleaved_write_frame(): Invalid argument Error writing trailer of pipe:: Invalid argument frame= 1 fps=0.0 q=-0.0 Lsize= 900kB time=00:00:00.00 bitrate=7372800.0kbits/s speed=0.0185x video:900kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000000% Conversion failed!

hipersayanX commented 4 years ago

@nejatafshar This part is ok:

./ffmpeg.exe -i c:/1.mkv -f rawvideo -pix_fmt rgb24 -s 640x480 -

This part:

./AkVCamManager.exe stream C:/msys64/akvcam/video1 RGB24 640 480

should be:

./AkVCamManager.exe stream AkVCamVideoDevice0 RGB24 640 480

AkVCamVideoDevice0 must be one of the paths returned by AkVCamManager devices, also this is not necessarily a real path in your file system, it's just fake string that some programs needs for loading the camera. Also, try with one of the latest commits, I've changed the prefix to AkVCamVideoDevice so it does not conflicts with MSYS2.

nejatafshar commented 4 years ago

I built the latest commit, created a virtual camera (it's named AkVCamVideoDevice0 now) and used the command you suggested. Still the same error. Although running command in Windows Power Shell does not give this error and proceeds converting frames but I am not able to see video in virtual web cam. Any idea what is the problem?

hipersayanX commented 4 years ago

@nejatafshar Once you added the device and the format you must run AkVCamManager update in an administrator CMD in both x86 an x64, that could be the problem. Also, you must install the assistant, otherwise you won't be able to communicate with the clients. Anyway, I did not tested it enough, I must still integrate the new plugin to Webcamoid, document it, and most probably will change the build system to CMake, so there are a lot of work to do yet.

Edit

I'll also need to figure out how I will integrate the AVStream driver with the DirectShow plugin, will see how far I can go with it :thinking:

ayunami2000 commented 3 years ago

I'm getting the same error, even with AkVCamVideoDevice0. The picture shows up just fine and all, but ffmpeg doesn't seem to want to stream to it. Also, don't replace | with > like I did because that just overwrites AkVCamManager.exe (I just installed it again to another directory, copied it back over, then deleted that directory to fix)

Here's a line worth noting: image "Invalid pixel format"

My command is:

ffmpeg -i D:\Documents\webcamoid_virtcam\unable_to_locate_the_funny.mp4 -f rawvideo -vcodec rawvideo -s 1280x720 -pix_fmt rgb24 -r 30 -an - | AkVCamManager.exe stream AkVCamVideoDevice0 rgb24 1280 720

And my virt cam device is: image

EEEEEDDDDDIIIIITTTTTT

after capitalizing the RGB24 in the AkVCamManager.exe portion, it had a different error image

hipersayanX commented 3 years ago

@ayunami2000 check if you have the AkVCamAssistant service running.

ayunami2000 commented 3 years ago

Wait so if the service isn't running, will the preview still work? Because that was still working but I'm not sure about the assistant part

On Sun, Nov 22, 2020 at 6:12 PM hipersayanX notifications@github.com wrote:

@ayunami2000 https://github.com/ayunami2000 check if you have the AkVCamAssistant service running https://www.thewindowsclub.com/open-windows-services.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/webcamoid/akvirtualcamera/issues/3#issuecomment-731863300, or unsubscribe https://github.com/notifications/unsubscribe-auth/AF5DB4FZG2L2D5HZ4IZ5VP3SRGLEJANCNFSM4QBBQH7Q .

hipersayanX commented 3 years ago

Wait so if the service isn't running, will the preview still work? Because that was still working but I'm not sure about the assistant part

The virtual camera will work without the service, but it won't be able to communicate with the producer client. Is like using a web page without connecting to a internet server.

ayunami2000 commented 3 years ago

Oh well that might be the issue, when I get a chance I'll see if that fixes it!

On Sun, Nov 22, 2020 at 6:17 PM hipersayanX notifications@github.com wrote:

Wait so if the service isn't running, will the preview still work? Because that was still working but I'm not sure about the assistant part

The virtual camera will work without the service, but it won't be able to communicate with the producer client.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/webcamoid/akvirtualcamera/issues/3#issuecomment-731864053, or unsubscribe https://github.com/notifications/unsubscribe-auth/AF5DB4ENH6LXLNQYASAAN2DSRGL2LANCNFSM4QBBQH7Q .

hipersayanX commented 3 years ago

@ayunami2000 if the service is not installed, from an administrator CMD run:

AkVCamAssistant --install
ayunami2000 commented 3 years ago

The service seems to have broken camera usage in both chrome and firefox. Firefox just crashes while chrome just doesn't load cameras. At least zoom can still use my default camera. Also, webcamoid is no longer launching at all.... I tried restarting as well.

ayunami2000 commented 3 years ago

image

ayunami2000 commented 3 years ago

hold on now these are here lol image

ayunami2000 commented 3 years ago

bruh image

edit: image

hipersayanX commented 3 years ago

@ayunami2000

The service seems to have broken camera usage in both chrome and firefox. Firefox just crashes while chrome just doesn't load cameras. At least zoom can still use my default camera. Also, webcamoid is no longer launching at all.... I tried restarting as well.

Have you solved this problem?

I'm busy working in akvcam, but I'll try to fix that bugs once I finish with it.

ayunami2000 commented 3 years ago

Right now, the issue that I am experiencing is that AkVCamManager seems to hang, but only sometimes, but this impedes my ability to use it with webcamoid because it always hangs for some unknown reason.

image

this screenshot contains "terminate called without an active exception"

sometimes it says that^^ but other times it will just hang and after ~15-20 seconds time out. While it's hanging webcamoid does not respond, and once it times out these happen:

bruh image

edit: image

AkVCamManager only has these issues when AkVCamAssistant is installed. (AkVCamAssistant.exe -i) Webcamoid does not launch while AkVCamManager is hanging, so the only way I was able to actually get to these screens was by 1) installing AkVCamAssistant, 2) updating AkVCamManager (might be optional), 3) launching Webcamoid, 4) uninstalling AkVCamAssistant, 5) updating AkVCamManager (might be optional), 6) (webcamoid will now open itself AND list devices in the video sources), 7) install AkVCamAssistant in an attempt to get webcamoid to work, 8) update AkVCamManager (it sometimes hangs here), 9) try to select or create a source for webcamoid to output to (it always hangs here at some point in the process). 10) fails

Here's a screenshot of step 9: image

(waiting ~15-30 seconds between steps)

Here's step 10: image

I've had to use task manager to kill the hanging AkVCamManager's

note: sometimes AkVCamAssistant also hangs, specifically when I am uninstalling it. If I just ctrl+c out and run it again then it seems to succeed in uninstalling the 2nd time

ayunami2000 commented 3 years ago

Here's my entire console through those steps where you can see some of the pieces described above:

First I install AkVCamAssistant and update AkVCamManager:

D:\AkVirtualCamera.plugin\x64>AkVCamAssistant.exe -i
[2020-11-25 14:15:56.107, 1, src/preferences.cpp (92)] debug: std::string AkVCam::Preferences::readString(const string&, const string&)
[2020-11-25 14:15:56.108, 1, src/preferences.cpp (569)] debug: bool AkVCam::Preferences::readValue(const string&, DWORD, PVOID, LPDWORD)
[2020-11-25 14:15:56.122, 1, src/preferences.cpp (573)] debug: SubKey: SOFTWARE\Webcamoid\VirtualCamera\
[2020-11-25 14:15:56.122, 1, src/preferences.cpp (574)] debug: Value: logfile

D:\AkVirtualCamera.plugin\x64>AkVCamManager.exe update
[2020-11-25 14:16:00.194, 1, src/messageserver.cpp (125)] debug: bool AkVCam::MessageServer::start(bool)
[2020-11-25 14:16:00.195, 1, src/messageserver.cpp (134)] info: Starting mode send
[2020-11-25 14:16:00.197, 1, src/ipcbridge.cpp (140)] debug: [2020-11-25 14:16:00.197, 2, src/messageserver.cpp (361)] info: Pipe Available: \\.\pipe\AkVCamAssistant
bool AkVCam::IpcBridge::registerPeer()
[2020-11-25 14:16:00.198, 2, src/ipcbridge.cpp (835)] debug: static void AkVCam::IpcBridgePrivate::pipeStateChanged(void*, AkVCam::MessageServer::PipeState)
[2020-11-25 14:16:00.199, 1, src/ipcbridge.cpp (155)] info: Recommended port name: AkVCam_Client0
[2020-11-25 14:16:00.199, 2, src/ipcbridge.cpp (840)] info: Server Available
[2020-11-25 14:16:00.200, 1, src/messageserver.cpp (125)] debug: bool AkVCam::MessageServer::start(bool)
[2020-11-25 14:16:00.200, 2, src/ipcbridge.cpp (140)] debug: bool AkVCam::IpcBridge::registerPeer()
[2020-11-25 14:16:00.201, 1, src/messageserver.cpp (129)] info: Starting mode receive
[2020-11-25 14:16:00.202, 2, src/ipcbridge.cpp (155)] info: Recommended port name: AkVCam_Client1
[2020-11-25 14:16:00.203, 2, src/messageserver.cpp (125)] debug: bool AkVCam::MessageServer::start(bool)
[2020-11-25 14:16:00.203, 1, src/ipcbridge.cpp (174)] info: Registering port name: AkVCam_Client0
[2020-11-25 14:16:00.203, 2, src/messageserver.cpp (129)] info: Starting mode receive
[2020-11-25 14:16:00.204, 1, src/ipcbridge.cpp (192)] info: Peer registered as terminate called without an active exception
AkVCam_Client0
[2020-11-25 14:16:00.214, 1, src/ipcbridge.cpp (549)] debug: void AkVCam::IpcBridge::updateDevices()
[2020-11-25 14:16:00.216, 1, src/utils.cpp (59)] debug: std::string AkVCam::locatePluginPath()
[2020-11-25 14:16:00.218, 1, src/ipcbridge.cpp (551)] debug: Plugin path: D:\AkVirtualCamera.plugin\x64
[2020-11-25 14:16:00.221, 1, src/ipcbridge.cpp (557)] debug: Plugin binary: D:\AkVirtualCamera.plugin\x64\AkVirtualCamera.dll
[2020-11-25 14:16:00.223, 1, src/preferences.cpp (92)] debug: std::string AkVCam::Preferences::readString(const string&, const string&)
[2020-11-25 14:16:00.223, 1, src/preferences.cpp (569)] debug: bool AkVCam::Preferences::readValue(const string&, DWORD, PVOID, LPDWORD)
[2020-11-25 14:16:00.224, 1, src/preferences.cpp (573)] debug: SubKey: SOFTWARE\Webcamoid\VirtualCamera\
[2020-11-25 14:16:00.224, 1, src/preferences.cpp (574)] debug: Value: logfile
[2020-11-25 14:16:00.225, 1, src/plugininterface.cpp (362)] info: Sending debug output to C:\Users\spwil\AppData\Local\Temp\\AkVirtualCamera.log
[2020-11-25 14:16:00.239, 1, src/ipcbridge.cpp (199)] debug: void AkVCam::IpcBridge::unregisterPeer()

here, I launch webcamoid and it hangs, so I uninstall the service:

D:\AkVirtualCamera.plugin\x64>AkVCamAssistant.exe -u
[2020-11-25 14:16:17.716, 1, src/preferences.cpp (92)] debug: std::string AkVCam::Preferences::readString(const string&, const string&)
[2020-11-25 14:16:17.718, 1, src/preferences.cpp (569)] debug: bool AkVCam::Preferences::readValue(const string&, DWORD, PVOID, LPDWORD)
[2020-11-25 14:16:17.718, 1, src/preferences.cpp (573)] debug: SubKey: SOFTWARE\Webcamoid\VirtualCamera\
[2020-11-25 14:16:17.719, 1, src/preferences.cpp (574)] debug: Value: logfile

this is where I was going to AkVCamManager.exe update but webcamoid opened itself anyways so I guess it updated on its' own

also I just realized that this also has this line: [2020-11-25 14:16:00.204, 1, src/ipcbridge.cpp (192)] info: Peer registered as terminate called without an active exception AkVCam_Client0 clearly terminate called without active exception[newline] was thrown into the logging

aaaanyways, now that webcamoid is open and listing output devices (If I don't do this then nothing will happen if I try adding sources because no service is running):

D:\AkVirtualCamera.plugin\x64>AkVCamAssistant.exe -i
[2020-11-25 14:17:48.603, 1, src/preferences.cpp (92)] debug: std::string AkVCam::Preferences::readString(const string&, const string&)
[2020-11-25 14:17:48.605, 1, src/preferences.cpp (569)] debug: bool AkVCam::Preferences::readValue(const string&, DWORD, PVOID, LPDWORD)
[2020-11-25 14:17:48.607, 1, src/preferences.cpp (573)] debug: SubKey: SOFTWARE\Webcamoid\VirtualCamera\
[2020-11-25 14:17:48.608, 1, src/preferences.cpp (574)] debug: Value: logfile

D:\AkVirtualCamera.plugin\x64>AkVCamManager.exe update
[2020-11-25 14:17:50.231, 1, src/messageserver.cpp (125)] debug: bool AkVCam::MessageServer::start(bool)
[2020-11-25 14:17:50.231, 1, src/messageserver.cpp (134)] info: Starting mode send
[2020-11-25 14:17:50.234, 1, src/ipcbridge.cpp (140)] debug: bool AkVCam::IpcBridge::registerPeer()
[2020-11-25 14:17:50.235, 2, src/messageserver.cpp (361)] info: [2020-11-25 14:17:50.236, 1, src/ipcbridge.cpp (155)] info: Recommended port name: Pipe Available: \\.\pipe\AkVCamAssistant
AkVCam_Client0[2020-11-25 14:17:50.243, 2, src/ipcbridge.cpp (835)] debug: static void AkVCam::IpcBridgePrivate::pipeStateChanged(void*, AkVCam::MessageServer::PipeState)

[2020-11-25 14:17:50.251, 2, src/ipcbridge.cpp (840)] info: Server Available
[2020-11-25 14:17:50.260, 2, src/ipcbridge.cpp (140)] debug: bool AkVCam::IpcBridge::registerPeer()
[2020-11-25 14:17:50.260, 1, src/messageserver.cpp (125)] debug: bool AkVCam::MessageServer::start(bool)
[2020-11-25 14:17:50.262, 2, src/ipcbridge.cpp (155)] info: Recommended port name: AkVCam_Client1
[2020-11-25 14:17:50.263, 1, src/messageserver.cpp (129)] info: Starting mode receive
[2020-11-25 14:17:50.263, 2, src/messageserver.cpp (125)] debug: bool AkVCam::MessageServer::start(bool)
[2020-11-25 14:17:50.265, 2, src/messageserver.cpp (129)] info: [2020-11-25 14:17:50.265, 1, src/ipcbridge.cpp (174)] info: Registering port name: AkVCam_Client0
Starting mode receive
[2020-11-25 14:17:50.271, 1, src/ipcbridge.cpp (192)] info: Peer registered as AkVCam_Client0
terminate called without an active exception
[2020-11-25 14:17:50.273, 1, src/ipcbridge.cpp (549)] debug: void AkVCam::IpcBridge::updateDevices()
[2020-11-25 14:17:50.274, 1, src/utils.cpp (59)] debug: std::string AkVCam::locatePluginPath()
[2020-11-25 14:17:50.275, 1, src/ipcbridge.cpp (551)] debug: Plugin path: D:\AkVirtualCamera.plugin\x64
[2020-11-25 14:17:50.280, 1, src/ipcbridge.cpp (557)] debug: Plugin binary: D:\AkVirtualCamera.plugin\x64\AkVirtualCamera.dll
[2020-11-25 14:17:50.291, 1, src/preferences.cpp (92)] debug: std::string AkVCam::Preferences::readString(const string&, const string&)
[2020-11-25 14:17:50.292, 1, src/preferences.cpp (569)] debug: bool AkVCam::Preferences::readValue(const string&, DWORD, PVOID, LPDWORD)
[2020-11-25 14:17:50.295, 1, src/preferences.cpp (573)] debug: SubKey: SOFTWARE\Webcamoid\VirtualCamera\
[2020-11-25 14:17:50.303, 1, src/preferences.cpp (574)] debug: Value: logfile
[2020-11-25 14:17:50.305, 1, src/plugininterface.cpp (362)] info: Sending debug output to C:\Users\spwil\AppData\Local\Temp\\AkVirtualCamera.log
[2020-11-25 14:17:50.343, 1, src/ipcbridge.cpp (199)] debug: void AkVCam::IpcBridge::unregisterPeer()

here, I click on Add output and webcamoid hangs. so I uninstall it:

D:\AkVirtualCamera.plugin\x64>AkVCamAssistant.exe -u
[2020-11-25 14:22:04.551, 1, src/preferences.cpp (92)] debug: std::string AkVCam::Preferences::readString(const string&, const string&)
[2020-11-25 14:22:04.554, 1, src/preferences.cpp (569)] debug: bool AkVCam::Preferences::readValue(const string&, DWORD, PVOID, LPDWORD)
[2020-11-25 14:22:04.557, 1, src/preferences.cpp (573)] debug: SubKey: SOFTWARE\Webcamoid\VirtualCamera\
[2020-11-25 14:22:04.558, 1, src/preferences.cpp (574)] debug: Value: logfile

here's an example of where AkVCamAssistant hangs when uninstalling as denoted by ^C

^C
D:\AkVirtualCamera.plugin\x64>AkVCamAssistant.exe -u
[2020-11-25 14:22:07.932, 1, src/preferences.cpp (92)] debug: std::string AkVCam::Preferences::readString(const string&, const string&)
[2020-11-25 14:22:07.933, 1, src/preferences.cpp (569)] debug: bool AkVCam::Preferences::readValue(const string&, DWORD, PVOID, LPDWORD)
[2020-11-25 14:22:07.934, 1, src/preferences.cpp (573)] debug: SubKey: SOFTWARE\Webcamoid\VirtualCamera\
[2020-11-25 14:22:07.935, 1, src/preferences.cpp (574)] debug: Value: logfile

aaaaand where AkVCamManager is unresponsive:

D:\AkVirtualCamera.plugin\x64>AkVCamManager.exe update
^C
D:\AkVirtualCamera.plugin\x64>AkVCamManager.exe update

after a few seconds of unresponsiveness, here I opened task manager and killed the AkVCamManager process that was being used by the command line, hence no ^C

D:\AkVirtualCamera.plugin\x64>AkVCamManager.exe update
^C
D:\AkVirtualCamera.plugin\x64>AkVCamManager.exe update
^C

here I opened task manager and killed the AkVCamManager process that was being used by webcamoid.

D:\AkVirtualCamera.plugin\x64>AkVCamAssistant.exe -u
[2020-11-25 14:22:39.752, 1, src/preferences.cpp (92)] debug: std::string AkVCam::Preferences::readString(const string&, const string&)
[2020-11-25 14:22:39.755, 1, src/preferences.cpp (569)] debug: bool AkVCam::Preferences::readValue(const string&, DWORD, PVOID, LPDWORD)
[2020-11-25 14:22:39.756, 1, src/preferences.cpp (573)] debug: SubKey: SOFTWARE\Webcamoid\VirtualCamera\
[2020-11-25 14:22:39.760, 1, src/preferences.cpp (574)] debug: Value: logfile

ran this again to make sure it worked, though this probably didnt do anything:

D:\AkVirtualCamera.plugin\x64>AkVCamAssistant.exe -u
[2020-11-25 14:22:40.651, 1, src/preferences.cpp (92)] debug: std::string AkVCam::Preferences::readString(const string&, const string&)
[2020-11-25 14:22:40.653, 1, src/preferences.cpp (569)] debug: bool AkVCam::Preferences::readValue(const string&, DWORD, PVOID, LPDWORD)
[2020-11-25 14:22:40.654, 1, src/preferences.cpp (573)] debug: SubKey: SOFTWARE\Webcamoid\VirtualCamera\
[2020-11-25 14:22:40.657, 1, src/preferences.cpp (574)] debug: Value: logfile

and NOW AkVCamManager.exe is responsive again!

D:\AkVirtualCamera.plugin\x64>AkVCamManager.exe update
[2020-11-25 14:22:44.605, 1, src/messageserver.cpp (125)] debug: bool AkVCam::MessageServer::start(bool)
[2020-11-25 14:22:44.606, 1, src/messageserver.cpp (134)] info: Starting mode send
[2020-11-25 14:22:44.609, 1, src/ipcbridge.cpp (140)] debug: bool AkVCam::IpcBridge::registerPeer()
[2020-11-25 14:22:44.615, 1, src/ipcbridge.cpp (549)] debug: void AkVCam::IpcBridge::updateDevices()
[2020-11-25 14:22:44.617, 1, src/utils.cpp (59)] debug: std::string AkVCam::locatePluginPath()
[2020-11-25 14:22:44.619, 1, src/ipcbridge.cpp (551)] debug: Plugin path: D:\AkVirtualCamera.plugin\x64
[2020-11-25 14:22:44.622, 1, src/ipcbridge.cpp (557)] debug: Plugin binary: D:\AkVirtualCamera.plugin\x64\AkVirtualCamera.dll
[2020-11-25 14:22:44.625, 1, src/preferences.cpp (92)] debug: std::string AkVCam::Preferences::readString(const string&, const string&)
[2020-11-25 14:22:44.626, 1, src/preferences.cpp (569)] debug: bool AkVCam::Preferences::readValue(const string&, DWORD, PVOID, LPDWORD)
[2020-11-25 14:22:44.629, 1, src/preferences.cpp (573)] debug: SubKey: SOFTWARE\Webcamoid\VirtualCamera\
[2020-11-25 14:22:44.632, 1, src/preferences.cpp (574)] debug: Value: logfile
[2020-11-25 14:22:44.633, 1, src/plugininterface.cpp (362)] info: Sending debug output to C:\Users\spwil\AppData\Local\Temp\\AkVirtualCamera.log
[2020-11-25 14:22:44.657, 1, src/ipcbridge.cpp (199)] debug: void AkVCam::IpcBridge::unregisterPeer()
[2020-11-25 14:22:44.658, 1, src/messageserver.cpp (144)] debug: void AkVCam::MessageServer::stop(bool)
[2020-11-25 14:22:44.661, 1, src/messageserver.cpp (144)] debug: void AkVCam::MessageServer::stop(bool)
[2020-11-25 14:22:44.661, 1, src/messageserver.cpp (144)] debug: void AkVCam::MessageServer::stop(bool)
[2020-11-25 14:22:44.662, 1, src/messageserver.cpp (144)] debug: void AkVCam::MessageServer::stop(bool)

D:\AkVirtualCamera.plugin\x64>echo bruh
bruh

D:\AkVirtualCamera.plugin\x64>
hipersayanX commented 3 years ago

@ayunami2000 will check this once I finish with akvcam, I'll fix that for sure but I can only work in one thing at time.

hipersayanX commented 3 years ago

And finally the virtual camera is also working in Windows.

Screenshot_20210208_160559

The vcam segfault some times, but even though this is a big advance. also it is 1:1 features with the Mac vcam. And of course Webcamoid daily build already has support for it.

hipersayanX commented 3 years ago

The wiki is ready and the virtual camera is now fully documented. The last step is fixing bugs and release.

hipersayanX commented 3 years ago

And finally I'm at the last stage of the development. The final TODO list is as follows:

The virtual camera is feature closed by now, any other feature you want to be added, will be added in future releases.

hipersayanX commented 3 years ago

And the final release is ready, closing.