C# Streaming screen over Network
I'm looking for a framework/toolkit/component or a way, to stream the screen or a specific window/control (Wpf) over the Network. Here are some specifications:
- stream the screen or a specific window/control (Wpf) over local network
- consistently good stream
- it should be performant
- only the video, no audio etc. needed
- no height fps needed
- no specification, how to play the video (Browser, vlc, ...)
- the cursor should not flicker (mostly result of the screenshots)
- easy to handle
- It should not cost 4000$ for streaming a screen ...
There are a lot of similar questions like this one, but they are nearly 10 years old. Most of them are answered with: Take screenshots, but this let flicker the cursor and costs cpu and I think there are better ways today.
What's already done
- I have already tested a self-implemented variant with screenshots
described here with an mjpeg over http. - I have also tried a variant with vlc.dotnet, but it seems, that
it takes also screenshots and isn't very performant. - I have also searched for payed versions like FlashBack and
zdsoft. - I have also a looked on NVIDIAs ShadowPlay and Shield
Stream.
The question
Is there any framework/toolkit/component that streams/shares a desktop or a part of it performantly over a local Network? Is there any other modern way to do that? It would be like Microsoft Teams Desktop sharing.
I'm new to this, so I hope you can help me to get this.
c# wpf screensharing desktop-sharing
|
show 2 more comments
I'm looking for a framework/toolkit/component or a way, to stream the screen or a specific window/control (Wpf) over the Network. Here are some specifications:
- stream the screen or a specific window/control (Wpf) over local network
- consistently good stream
- it should be performant
- only the video, no audio etc. needed
- no height fps needed
- no specification, how to play the video (Browser, vlc, ...)
- the cursor should not flicker (mostly result of the screenshots)
- easy to handle
- It should not cost 4000$ for streaming a screen ...
There are a lot of similar questions like this one, but they are nearly 10 years old. Most of them are answered with: Take screenshots, but this let flicker the cursor and costs cpu and I think there are better ways today.
What's already done
- I have already tested a self-implemented variant with screenshots
described here with an mjpeg over http. - I have also tried a variant with vlc.dotnet, but it seems, that
it takes also screenshots and isn't very performant. - I have also searched for payed versions like FlashBack and
zdsoft. - I have also a looked on NVIDIAs ShadowPlay and Shield
Stream.
The question
Is there any framework/toolkit/component that streams/shares a desktop or a part of it performantly over a local Network? Is there any other modern way to do that? It would be like Microsoft Teams Desktop sharing.
I'm new to this, so I hope you can help me to get this.
c# wpf screensharing desktop-sharing
Asking for libraries is off-topic.
– CodeCaster
Nov 20 '18 at 9:24
1
Asking abot tools/components leads to opiniated questions, this question could be flagged for closing because of that. Have you searched over already common used protocols like rdp or VNC?
– bradbury9
Nov 20 '18 at 9:24
Why do you need to build your own, just use someone elses, and spend time at the beach
– TheGeneral
Nov 20 '18 at 9:32
I’m asking for a library to solve this, not to discuss what’s better. I’m sure there is a way to achieve this, but I didn’t found it yet. To clarify: Someone works on the computer and have to share the screen or a part of it over a Network. A Live stream with the specification from above. Others should not interact with it.
– RCP161
Nov 20 '18 at 10:34
Dunno if OBS Studio would be of any interest here?
– XAMlMAX
Nov 20 '18 at 16:06
|
show 2 more comments
I'm looking for a framework/toolkit/component or a way, to stream the screen or a specific window/control (Wpf) over the Network. Here are some specifications:
- stream the screen or a specific window/control (Wpf) over local network
- consistently good stream
- it should be performant
- only the video, no audio etc. needed
- no height fps needed
- no specification, how to play the video (Browser, vlc, ...)
- the cursor should not flicker (mostly result of the screenshots)
- easy to handle
- It should not cost 4000$ for streaming a screen ...
There are a lot of similar questions like this one, but they are nearly 10 years old. Most of them are answered with: Take screenshots, but this let flicker the cursor and costs cpu and I think there are better ways today.
What's already done
- I have already tested a self-implemented variant with screenshots
described here with an mjpeg over http. - I have also tried a variant with vlc.dotnet, but it seems, that
it takes also screenshots and isn't very performant. - I have also searched for payed versions like FlashBack and
zdsoft. - I have also a looked on NVIDIAs ShadowPlay and Shield
Stream.
The question
Is there any framework/toolkit/component that streams/shares a desktop or a part of it performantly over a local Network? Is there any other modern way to do that? It would be like Microsoft Teams Desktop sharing.
I'm new to this, so I hope you can help me to get this.
c# wpf screensharing desktop-sharing
I'm looking for a framework/toolkit/component or a way, to stream the screen or a specific window/control (Wpf) over the Network. Here are some specifications:
- stream the screen or a specific window/control (Wpf) over local network
- consistently good stream
- it should be performant
- only the video, no audio etc. needed
- no height fps needed
- no specification, how to play the video (Browser, vlc, ...)
- the cursor should not flicker (mostly result of the screenshots)
- easy to handle
- It should not cost 4000$ for streaming a screen ...
There are a lot of similar questions like this one, but they are nearly 10 years old. Most of them are answered with: Take screenshots, but this let flicker the cursor and costs cpu and I think there are better ways today.
What's already done
- I have already tested a self-implemented variant with screenshots
described here with an mjpeg over http. - I have also tried a variant with vlc.dotnet, but it seems, that
it takes also screenshots and isn't very performant. - I have also searched for payed versions like FlashBack and
zdsoft. - I have also a looked on NVIDIAs ShadowPlay and Shield
Stream.
The question
Is there any framework/toolkit/component that streams/shares a desktop or a part of it performantly over a local Network? Is there any other modern way to do that? It would be like Microsoft Teams Desktop sharing.
I'm new to this, so I hope you can help me to get this.
c# wpf screensharing desktop-sharing
c# wpf screensharing desktop-sharing
asked Nov 20 '18 at 9:13
RCP161RCP161
247
247
Asking for libraries is off-topic.
– CodeCaster
Nov 20 '18 at 9:24
1
Asking abot tools/components leads to opiniated questions, this question could be flagged for closing because of that. Have you searched over already common used protocols like rdp or VNC?
– bradbury9
Nov 20 '18 at 9:24
Why do you need to build your own, just use someone elses, and spend time at the beach
– TheGeneral
Nov 20 '18 at 9:32
I’m asking for a library to solve this, not to discuss what’s better. I’m sure there is a way to achieve this, but I didn’t found it yet. To clarify: Someone works on the computer and have to share the screen or a part of it over a Network. A Live stream with the specification from above. Others should not interact with it.
– RCP161
Nov 20 '18 at 10:34
Dunno if OBS Studio would be of any interest here?
– XAMlMAX
Nov 20 '18 at 16:06
|
show 2 more comments
Asking for libraries is off-topic.
– CodeCaster
Nov 20 '18 at 9:24
1
Asking abot tools/components leads to opiniated questions, this question could be flagged for closing because of that. Have you searched over already common used protocols like rdp or VNC?
– bradbury9
Nov 20 '18 at 9:24
Why do you need to build your own, just use someone elses, and spend time at the beach
– TheGeneral
Nov 20 '18 at 9:32
I’m asking for a library to solve this, not to discuss what’s better. I’m sure there is a way to achieve this, but I didn’t found it yet. To clarify: Someone works on the computer and have to share the screen or a part of it over a Network. A Live stream with the specification from above. Others should not interact with it.
– RCP161
Nov 20 '18 at 10:34
Dunno if OBS Studio would be of any interest here?
– XAMlMAX
Nov 20 '18 at 16:06
Asking for libraries is off-topic.
– CodeCaster
Nov 20 '18 at 9:24
Asking for libraries is off-topic.
– CodeCaster
Nov 20 '18 at 9:24
1
1
Asking abot tools/components leads to opiniated questions, this question could be flagged for closing because of that. Have you searched over already common used protocols like rdp or VNC?
– bradbury9
Nov 20 '18 at 9:24
Asking abot tools/components leads to opiniated questions, this question could be flagged for closing because of that. Have you searched over already common used protocols like rdp or VNC?
– bradbury9
Nov 20 '18 at 9:24
Why do you need to build your own, just use someone elses, and spend time at the beach
– TheGeneral
Nov 20 '18 at 9:32
Why do you need to build your own, just use someone elses, and spend time at the beach
– TheGeneral
Nov 20 '18 at 9:32
I’m asking for a library to solve this, not to discuss what’s better. I’m sure there is a way to achieve this, but I didn’t found it yet. To clarify: Someone works on the computer and have to share the screen or a part of it over a Network. A Live stream with the specification from above. Others should not interact with it.
– RCP161
Nov 20 '18 at 10:34
I’m asking for a library to solve this, not to discuss what’s better. I’m sure there is a way to achieve this, but I didn’t found it yet. To clarify: Someone works on the computer and have to share the screen or a part of it over a Network. A Live stream with the specification from above. Others should not interact with it.
– RCP161
Nov 20 '18 at 10:34
Dunno if OBS Studio would be of any interest here?
– XAMlMAX
Nov 20 '18 at 16:06
Dunno if OBS Studio would be of any interest here?
– XAMlMAX
Nov 20 '18 at 16:06
|
show 2 more comments
1 Answer
1
active
oldest
votes
I ended up it with a VNC Nuget like @bradbury9 has proposed. It has best performance.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53389651%2fc-sharp-streaming-screen-over-network%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
I ended up it with a VNC Nuget like @bradbury9 has proposed. It has best performance.
add a comment |
I ended up it with a VNC Nuget like @bradbury9 has proposed. It has best performance.
add a comment |
I ended up it with a VNC Nuget like @bradbury9 has proposed. It has best performance.
I ended up it with a VNC Nuget like @bradbury9 has proposed. It has best performance.
answered Nov 23 '18 at 6:41
RCP161RCP161
247
247
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53389651%2fc-sharp-streaming-screen-over-network%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Asking for libraries is off-topic.
– CodeCaster
Nov 20 '18 at 9:24
1
Asking abot tools/components leads to opiniated questions, this question could be flagged for closing because of that. Have you searched over already common used protocols like rdp or VNC?
– bradbury9
Nov 20 '18 at 9:24
Why do you need to build your own, just use someone elses, and spend time at the beach
– TheGeneral
Nov 20 '18 at 9:32
I’m asking for a library to solve this, not to discuss what’s better. I’m sure there is a way to achieve this, but I didn’t found it yet. To clarify: Someone works on the computer and have to share the screen or a part of it over a Network. A Live stream with the specification from above. Others should not interact with it.
– RCP161
Nov 20 '18 at 10:34
Dunno if OBS Studio would be of any interest here?
– XAMlMAX
Nov 20 '18 at 16:06