C# Streaming screen over Network












-2















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.










share|improve this question























  • 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
















-2















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.










share|improve this question























  • 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














-2












-2








-2








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.










share|improve this question














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






share|improve this question













share|improve this question











share|improve this question




share|improve this question










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



















  • 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












1 Answer
1






active

oldest

votes


















0














I ended up it with a VNC Nuget like @bradbury9 has proposed. It has best performance.






share|improve this answer























    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
    });


    }
    });














    draft saved

    draft discarded


















    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









    0














    I ended up it with a VNC Nuget like @bradbury9 has proposed. It has best performance.






    share|improve this answer




























      0














      I ended up it with a VNC Nuget like @bradbury9 has proposed. It has best performance.






      share|improve this answer


























        0












        0








        0







        I ended up it with a VNC Nuget like @bradbury9 has proposed. It has best performance.






        share|improve this answer













        I ended up it with a VNC Nuget like @bradbury9 has proposed. It has best performance.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 23 '18 at 6:41









        RCP161RCP161

        247




        247






























            draft saved

            draft discarded




















































            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.




            draft saved


            draft discarded














            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





















































            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







            Popular posts from this blog

            MongoDB - Not Authorized To Execute Command

            How to fix TextFormField cause rebuild widget in Flutter

            in spring boot 2.1 many test slices are not allowed anymore due to multiple @BootstrapWith