[GH-ISSUE #271] Remote Webcam Capture #130

Closed
opened 2026-02-27 15:48:57 +03:00 by kerem · 32 comments
Owner

Originally created by @yankejustin on GitHub (Jun 21, 2015).
Original GitHub issue: https://github.com/quasar/Quasar/issues/271

We probably need a library to capture the webcam and stream it to the server.

Library for webcam:

  • AForge.Video.DirectShow
  • AForge.Video

https://code.google.com/p/aforge/

Originally created by @yankejustin on GitHub (Jun 21, 2015). Original GitHub issue: https://github.com/quasar/Quasar/issues/271 We probably need a library to capture the webcam and stream it to the server. Library for webcam: - AForge.Video.DirectShow - AForge.Video https://code.google.com/p/aforge/
kerem 2026-02-27 15:48:57 +03:00
Author
Owner

@DragonzMaster commented on GitHub (Jun 21, 2015):

i think there are .net open source libraries able use to do this .. so we don't need c++

<!-- gh-comment-id:113955873 --> @DragonzMaster commented on GitHub (Jun 21, 2015): i think there are .net open source libraries able use to do this .. so we don't need c++
Author
Owner

@yankejustin commented on GitHub (Jun 22, 2015):

@DragonzMaster Please back that statement up with a link because I have been searching for some time now. x)

<!-- gh-comment-id:113977940 --> @yankejustin commented on GitHub (Jun 22, 2015): @DragonzMaster Please back that statement up with a link because I have been searching for some time now. x)
Author
Owner

@DragonzMaster commented on GitHub (Jun 22, 2015):

You can stream webcam using

  • AForge.Video.DirectShow
  • AForge.Video

You can also stream microphone using

  • NAudio

you will find samples/demos how to use NAudio, Network Chat Demo might help you :)

I hope you find these links useful @yankejustin


https://code.google.com/p/aforge/
https://github.com/naudio/NAudio

<!-- gh-comment-id:114170498 --> @DragonzMaster commented on GitHub (Jun 22, 2015): You can stream webcam using - AForge.Video.DirectShow - AForge.Video You can also stream microphone using - NAudio you will find samples/demos how to use NAudio, Network Chat Demo might help you :) I hope you find these links useful @yankejustin --- https://code.google.com/p/aforge/ https://github.com/naudio/NAudio
Author
Owner

@MK73DS commented on GitHub (Jul 7, 2015):

Yes please add these features :) It would be really helpful :)
I didn't have enought skills to add them myself, so if someone can do that it would be very great :D

<!-- gh-comment-id:119351844 --> @MK73DS commented on GitHub (Jul 7, 2015): Yes please add these features :) It would be really helpful :) I didn't have enought skills to add them myself, so if someone can do that it would be very great :D
Author
Owner

@DragonzMaster commented on GitHub (Jul 27, 2015):

What about this issue ?? Is there any chance to be solved soon ? @yankejustin @MaxXor

<!-- gh-comment-id:125088083 --> @DragonzMaster commented on GitHub (Jul 27, 2015): What about this issue ?? Is there any chance to be solved soon ? @yankejustin @MaxXor
Author
Owner

@MaxXor commented on GitHub (Aug 2, 2015):

No, probably not. I don't even have a webcam to test.

<!-- gh-comment-id:127025148 --> @MaxXor commented on GitHub (Aug 2, 2015): No, probably not. I don't even have a webcam to test.
Author
Owner

@yankejustin commented on GitHub (Aug 3, 2015):

I don't have a webcam either. :(

<!-- gh-comment-id:127087178 --> @yankejustin commented on GitHub (Aug 3, 2015): I don't have a webcam either. :(
Author
Owner

@MK73DS commented on GitHub (Aug 3, 2015):

You can emulate a WebCam to test it, no?

<!-- gh-comment-id:127145146 --> @MK73DS commented on GitHub (Aug 3, 2015): You can emulate a WebCam to test it, no?
Author
Owner

@MaxXor commented on GitHub (Aug 7, 2015):

@MK73DS Yes that's possible.

Well, this issue has IMO low priority, maybe we can add this in some months.

<!-- gh-comment-id:128757935 --> @MaxXor commented on GitHub (Aug 7, 2015): @MK73DS Yes that's possible. Well, this issue has IMO low priority, maybe we can add this in some months.
Author
Owner

@MK73DS commented on GitHub (Aug 7, 2015):

OK thank you :D
Yes add it when you want no problem ;)

<!-- gh-comment-id:128758186 --> @MK73DS commented on GitHub (Aug 7, 2015): OK thank you :D Yes add it when you want no problem ;)
Author
Owner

@KarlBaumann commented on GitHub (Aug 21, 2015):

I vote for this feature 👍
And I could also send you a webcam as a gift :)

<!-- gh-comment-id:133584876 --> @KarlBaumann commented on GitHub (Aug 21, 2015): I vote for this feature :+1: And I could also send you a webcam as a gift :)
Author
Owner

@ghost commented on GitHub (Aug 22, 2015):

well... i'm working on it, calling native method instead of external lib

<!-- gh-comment-id:133687209 --> @ghost commented on GitHub (Aug 22, 2015): well... i'm working on it, calling native method instead of external lib
Author
Owner

@MaxXor commented on GitHub (Aug 22, 2015):

@SandPox When you send a pull request please take care of removing some of your whitespaces...
Like @d3agle removed here: github.com/quasar/QuasarRAT@0988187c25

You should read this to make it easier for me to integrate your code into Quasar.

<!-- gh-comment-id:133688221 --> @MaxXor commented on GitHub (Aug 22, 2015): @SandPox When you send a pull request please take care of removing some of your whitespaces... Like @d3agle removed here: https://github.com/quasar/QuasarRAT/commit/0988187c25720a7f5435980076587f08bc92955d You should read [this](https://github.com/quasar/QuasarRAT/blob/master/CONTRIBUTING.md) to make it easier for me to integrate your code into Quasar.
Author
Owner

@yankejustin commented on GitHub (Aug 27, 2015):

Some time in the future I will get a webcam. When I do, I will probably just pick up where SandPox left off on. 💩

<!-- gh-comment-id:135262954 --> @yankejustin commented on GitHub (Aug 27, 2015): Some time in the future I will get a webcam. When I do, I will probably just pick up where SandPox left off on. :hankey:
Author
Owner

@ghost commented on GitHub (Aug 27, 2015):

@yankejustin no, do it by another API, my API is deprecated and can't pickup what webcam we want to capture from, that's why I closed pull request and don't work anymore on that API

<!-- gh-comment-id:135263673 --> @ghost commented on GitHub (Aug 27, 2015): @yankejustin no, do it by another API, my API is deprecated and can't pickup what webcam we want to capture from, that's why I closed pull request and don't work anymore on that API
Author
Owner

@ghost commented on GitHub (Aug 27, 2015):

This looks clean and simple to use: http://www.codeproject.com/Articles/125478/Versatile-WebCam-C-library

<!-- gh-comment-id:135279841 --> @ghost commented on GitHub (Aug 27, 2015): This looks clean and simple to use: http://www.codeproject.com/Articles/125478/Versatile-WebCam-C-library
Author
Owner

@ghost commented on GitHub (Aug 27, 2015):

@d3agle no, they using external c++ lib

<!-- gh-comment-id:135279966 --> @ghost commented on GitHub (Aug 27, 2015): @d3agle no, they using external c++ lib
Author
Owner

@ghost commented on GitHub (Aug 27, 2015):

What about AForge.NET? The three libraries needed would come to ~100KB and they are all managed DLLs.

Link: https://code.google.com/p/aforge/downloads/detail?name=AForge.NET%20Framework-2.2.5-%28libs%20only%29.zip&can=2&q=

Smh, just realized this was the initial suggestion... 😵

<!-- gh-comment-id:135281910 --> @ghost commented on GitHub (Aug 27, 2015): What about AForge.NET? The three libraries needed would come to ~100KB and they are all managed DLLs. Link: https://code.google.com/p/aforge/downloads/detail?name=AForge.NET%20Framework-2.2.5-%28libs%20only%29.zip&can=2&q= Smh, just realized this was the initial suggestion... :dizzy_face:
Author
Owner

@ghost commented on GitHub (Aug 27, 2015):

using external dll are easy... but we try to keep everything at minimal so... it got to be native API
... or we could upload to client the webcam capture module when we need it if want to use dll

<!-- gh-comment-id:135282714 --> @ghost commented on GitHub (Aug 27, 2015): using external dll are easy... but we try to keep everything at minimal so... it got to be native API ... or we could upload to client the webcam capture module when we need it if want to use dll
Author
Owner

@ghost commented on GitHub (Aug 27, 2015):

We are using a project for the keylogger that has mouse capturing capability that isn't implemented :P (upon the original authors request) Also, we make tons of calls to native libs xD. I don't see why we wouldn't use AForge.NET.. It has the capability to do exactly what we are trying to accomplish.

We could send it over the network like you say, and load the module instead of packing it into the client assembly. Wouldn't it be easier just to pack it in the assembly? I don't think the size of the assembly should be too much of a problem..

<!-- gh-comment-id:135285213 --> @ghost commented on GitHub (Aug 27, 2015): We are using a project for the keylogger that has mouse capturing capability that isn't implemented :P (upon the original authors request) Also, we make tons of calls to native libs xD. I don't see why we wouldn't use AForge.NET.. It has the capability to do exactly what we are trying to accomplish. We could send it over the network like you say, and load the module instead of packing it into the client assembly. Wouldn't it be easier just to pack it in the assembly? I don't think the size of the assembly should be too much of a problem..
Author
Owner

@webiummedia commented on GitHub (Sep 7, 2015):

Would it be possible to avoid the "Webcam already in use" warning if the client wish to use skype or something while the server is streaming?

<!-- gh-comment-id:138140007 --> @webiummedia commented on GitHub (Sep 7, 2015): Would it be possible to avoid the "Webcam already in use" warning if the client wish to use skype or something while the server is streaming?
Author
Owner

@ghost commented on GitHub (Sep 7, 2015):

@webiummedia no, windows only allow 1 application recording only

<!-- gh-comment-id:138153572 --> @ghost commented on GitHub (Sep 7, 2015): @webiummedia no, windows only allow 1 application recording only
Author
Owner

@webiummedia commented on GitHub (Sep 7, 2015):

In that case, would be great to set up an offline motion detection video recorder (when internet is off) of and amount of Xgb setted in the builder. It would create an mp4 that could then be downloaded later on a little like the keybord log. That way while viewing the video where not actually using the webcam.

<!-- gh-comment-id:138320753 --> @webiummedia commented on GitHub (Sep 7, 2015): In that case, would be great to set up an offline motion detection video recorder (when internet is off) of and amount of Xgb setted in the builder. It would create an mp4 that could then be downloaded later on a little like the keybord log. That way while viewing the video where not actually using the webcam.
Author
Owner

@ghost commented on GitHub (Sep 8, 2015):

@webiummedia then it will recording webcam all the time to detect motion

<!-- gh-comment-id:138427073 --> @ghost commented on GitHub (Sep 8, 2015): @webiummedia then it will recording webcam all the time to detect motion
Author
Owner

@webiummedia commented on GitHub (Sep 8, 2015):

Yes but nobody uses the webcam when theirs no internet connection. With a motion detection you don't record hours of emptiness.

<!-- gh-comment-id:138684781 --> @webiummedia commented on GitHub (Sep 8, 2015): Yes but nobody uses the webcam when theirs no internet connection. With a motion detection you don't record hours of emptiness.
Author
Owner

@yankejustin commented on GitHub (Sep 8, 2015):

I don't like the idea of motion detection at all. Besides being difficult to implement efficiently, it is more of a feature geared towards malicious use. The non-malicious uses of such a feature likely is not worth the time needed to implement it. :(

<!-- gh-comment-id:138687306 --> @yankejustin commented on GitHub (Sep 8, 2015): I don't like the idea of motion detection at all. Besides being difficult to implement efficiently, it is more of a feature geared towards malicious use. The non-malicious uses of such a feature likely is not worth the time needed to implement it. :(
Author
Owner

@ghost commented on GitHub (Sep 9, 2015):

well.. motion detection is handy if you use webcam as home security monitor.. or such thing.. but yea.. it's really hard to implement

<!-- gh-comment-id:138776665 --> @ghost commented on GitHub (Sep 9, 2015): well.. motion detection is handy if you use webcam as home security monitor.. or such thing.. but yea.. it's really hard to implement
Author
Owner

@webiummedia commented on GitHub (Sep 9, 2015):

There's tons of open source project we can use for that
http://www.codeproject.com/Articles/10248/Motion-Detection-Algorithms
"malicious use" is not my intention. As sandPox said, it could turn the remote client as a security monitor. If your unsure of what happens at your office or at home while your not there.

<!-- gh-comment-id:138919733 --> @webiummedia commented on GitHub (Sep 9, 2015): There's tons of open source project we can use for that http://www.codeproject.com/Articles/10248/Motion-Detection-Algorithms "malicious use" is not my intention. As sandPox said, it could turn the remote client as a security monitor. If your unsure of what happens at your office or at home while your not there.
Author
Owner

@Mautrak commented on GitHub (Feb 15, 2016):

I would love to see this implemented. Any updates?

<!-- gh-comment-id:184438843 --> @Mautrak commented on GitHub (Feb 15, 2016): I would love to see this implemented. Any updates?
Author
Owner

@ghost commented on GitHub (Feb 16, 2016):

no, this API required external lib, i don't think this can be implement

<!-- gh-comment-id:184497052 --> @ghost commented on GitHub (Feb 16, 2016): no, this API required external lib, i don't think this can be implement
Author
Owner

@Mautrak commented on GitHub (Feb 16, 2016):

How about some other API?

<!-- gh-comment-id:184507470 --> @Mautrak commented on GitHub (Feb 16, 2016): How about some other API?
Author
Owner

@MaxXor commented on GitHub (Jun 18, 2016):

This has been added in #464.

<!-- gh-comment-id:226967722 --> @MaxXor commented on GitHub (Jun 18, 2016): This has been added in #464.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/Quasar#130
No description provided.