Forum Discussion

mkaminski100's avatar
mkaminski100
Brass Contributor
Mar 10, 2021
Solved

Sharing part of the screen

Several users in our organisation use wide screens (42-49") which when shared in Teams as one screen are illegible for others. Even when sharing between two users, video is very pixelated and difficult to read. 

We tried using window sharing which works fine, but there is a need to often switch between several windows, which is creating multiple issues, especially when information from one window is referenced in another. 

I was unable to find a function enabling us to share just a portion of the main screen as we use in PowerTools. 

Am I missing something here or would this require a request for a new feature?

  • Seem to be not possible at the moment, but heavily requested by user voices: https://microsoftteams.uservoice.com/forums/555103-public/suggestions/38834104-share-custom-area-of-screen

31 Replies

  • melmanm's avatar
    melmanm
    Copper Contributor

    I developed a tiny application, since I faced exactly the same issue. You can try Ultra Wide Screen Share 2.0 to select the area of ultra wide monitor that you'd like to share. https://apps.microsoft.com/detail/9P6J8N3K7TK4?hl=en-us&gl=US

  • FuxCH's avatar
    FuxCH
    Copper Contributor

    Microsoft considers to implement this feature. Upvote here, please:

    https://feedbackportal.microsoft.com/feedback/idea/3ab620d5-2299-ec11-b401-002248312b6b

    • SaintEngo's avatar
      SaintEngo
      Copper Contributor

      TL-112233 

      Check out https://github.com/Stengo/DeskPad . It creates a virtual monitor within a window, so you can simply share that. It let's you control the resolution just like you would for any other monitor 🙂

      • Nico-Z's avatar
        Nico-Z
        Copper Contributor
        It's a pity that Microsoft still hasn't solved this problem. I looked for an app similar to "Portion of Screen" for Mac OS and found "Advanced Screen Share" in the App Store. Unfortunately, the app is not free and is relatively expensive at 10 euros, but hey, at least it solves the problem.

        https://apps.apple.com/us/app/advanced-screen-share/id1597458111?mt=12
  • rkever1972's avatar
    rkever1972
    Copper Contributor

    Here's your new "Best Answer"...at least for Windows users. Region to Share app. Brilliant solution and easy to use. Just install it, run it before your meeting so it's available, and choose it as your app to share and you'll be able to resize the app to "select a region" to share during a meeting. https://www.microsoft.com/en-us/p/region-to-share/9n4066w2r5q4#activetab=pivot:overviewtab

     

     

    • mifu01's avatar
      mifu01
      Copper Contributor
      This looks good. I do think it would be even better if it could be integrated with Power Toys Fancy Zones somehow and you could simply WinKey+PgUp/PgDn to switch between applications in the specified Fancy Zone whilst sharing. I have a zone set up for 1920x1080 on my ultrawide, that way my viewers don't think they're watching a cinemascope film whilst I'm sharing, It's just a pain having to unshare/reshare when switching between applications and sharing.
  • PyKen's avatar
    PyKen
    Copper Contributor

    Meanwhile I have created a workaround as well. The app opens two windows, one to allow selecting the area to record, and the other to be shared over Teams. Feel free to use the executable on the https://github.com/mPyKen/ScreenAreaShare/releases/ or checkout the code on https://github.com/mPyKen/ScreenAreaShare.

    • ACGendron's avatar
      ACGendron
      Copper Contributor
      Simple post to thank you for this tool, was looking for one before I write one, you did it and it works great. Will open issues in your GitHub if I find some. Do you have a tip jar ?
      • PyKen's avatar
        PyKen
        Copper Contributor

        ACGendronThanks for your kind words!:)

        > Do you have a tip jar ?

        For now, I have the 'Sponsor' button on the github site:smile:

    • ProMace's avatar
      ProMace
      Copper Contributor

      PyKen Brilliant mate... I was looking for something exactly like this!! :lol:

      I have a humble request to make this even easier to use. Could you look into:

      - Creating the selection rectangle at a desired location, width and height?

          (command line parameters: sel_x, sel_y, sel_w, sel_h)

      - A command line parameter to control whether the selection rectangle is visible or not? If I dedicate the right half of my ultrawide to sharing via Teams and the program starts up with fixed parameters (sel_x, sel_y, sel_w, sel_h), the selection border need not be visible.

      - Moving the Main Window to a desired location (i.e. out of the way)?

          (command line parameters: main_x, main_y)

      I assume the Main Window must be visible (not hidden) for sharing purposes, otherwise a 'hide main window' parameter could also make sense. Minimizing it doesn't work, because Microsoft Teams will stop sharing any minimized window. So being able to move the Main Window to a location where it's less distracting would be fantastic. Many thanks in advance!

      • PyKen's avatar
        PyKen
        Copper Contributor

        ProMace Thanks for the suggestions!:) I have added these features. After running the setup, you can run it (in case of the desktop link) like this

        .\screen-area-share.lnk --cx=0 --cy=0 --cw=1920 --ch=1080 --rx=1920 --ry=0 --rw=1920 --rh=1080 --freeze

         

        AFAIK hiding the main window is not possible. I have tried minimizing it as well. Moving the main window to another workspace does not help either. Currently, the only solution is to simply put another window above it.

  • ahorn42's avatar
    ahorn42
    Copper Contributor

    mkaminski100 

     

    I have created a little work around for me, by letting VLC capture a part of my screen. This captured video is played back in a borderless VLC window which I use to share via Teams (or similar tools).

     

    I put all things together as an powershell script which I installed into my powershell profile so I can easily start (partial) sharing from a powershell by typing 

     

    Share-PartialScreen

     

     

    The script does the following:

     

    function Share-PartialScreen {
        [CmdletBinding(DefaultParameterSetName='Preset')]
        Param(
            [Parameter(Mandatory = $false)]
            [string] $preset,
            [Parameter(Mandatory = $false)]
            [int] $Width = 1920,
            [Parameter(Mandatory = $false)]
            [int] $Height = 1080
        )
    
        switch ($preset) {
            "720p" { 
                $Width = 1280
                $Height = 720
            }
            "1080p" { 
                $Width = 1920
                $Height = 1080
            }
        }
    
        $id = Start-Process -FilePath "C:\Program Files\VideoLAN\VLC\vlc.exe" -ArgumentList "screen:// --screen-fps=30 --live-caching=300 --screen-width=$Width --screen-height=$Height --no-embedded-video --no-video-deco --qt-start-minimized" -PassThru
    
        [reflection.assembly]::LoadWithPartialName( "System.Windows.Forms")
        [reflection.assembly]::LoadWithPartialName( "System.Drawing")
    
        $pen = New-Object Drawing.Pen red
        $brushRed = New-Object Drawing.SolidBrush red
        $brushWhite = New-Object Drawing.SolidBrush white
        $font = New-Object Drawing.Font "Arial", 14
    
        $form = New-Object Windows.Forms.Form
        $form.TransparencyKey = $form.BackColor
        $form.WindowState = 'Maximized'
        $form.FormBorderStyle = 'None'
        $form.TopMost = $true
    
        $formGraphics = $form.createGraphics()
    
        $form.add_paint(
            {
                $formGraphics.DrawRectangle($pen, 0, 0, $Width + 1, $Height + 1)
                $formGraphics.FillRectangle($brushRed, $Width + 1, 0, 60, 30)
                $formGraphics.DrawString("close", $font, $brushWhite, $Width + 5, 3)
            }
        )
    
        $form.Add_Click({$form.Close()})
        $form.ShowDialog()   # display the dialog
    
        Stop-Process $id
    }

     

     

    Be warned that this leads to flickering sometimes, in the recorded area, as you constantly record the area again, but this disappears if you place a window over this area. 

    Of course VLC is necessary for this, but additionally I can recommend the tool http://www.brianapps.net/sizer/ that allows to set a windows to a specific size easily, so you don't need to fiddle a long time till a window matches the shared area.

    I hope some of you enjoy this work around 😊

    Fell free to follow the gist on https://gist.github.com/ahorn42/505cae6edcd9657ed6f02ee7508a0995 in case I extend this script.

  • erleiuat's avatar
    erleiuat
    Copper Contributor

    mkaminski100 

    While this is still not implemented (after more than 2 years ffs) I recommend you using OBS as a virtual web-cam, so you can select the part of the screen that should be streamed and just switch the "webcam" used in Teams.

  • remyhofer's avatar
    remyhofer
    Copper Contributor
    Seem to be not possible at the moment, but heavily requested by user voices: https://microsoftteams.uservoice.com/forums/555103-public/suggestions/38834104-share-custom-area-of-screen
    • Siska's avatar
      Siska
      Copper Contributor

      The thread has now moved to https://feedbackportal.microsoft.com/feedback/idea/3ab620d5-2299-ec11-b401-002248312b6b 

    • KEVowl's avatar
      KEVowl
      Copper Contributor
      That link didn't work for me. I had to search using the title "Enable users to share a custom area of the screen"

      Here's the link:
      https://feedbackportal.microsoft.com/feedback/idea/7afe0515-272e-ec11-b6e6-00224827bbc2
      • remyhofer's avatar
        remyhofer
        Copper Contributor

        sivakumar3rgmailcom 

        No, I don't think so. See my link above. User voices is still open / untreated. But you may encourage friends and colleagues to vote there in order to increase the weight of user's voices

  • nlundqvist's avatar
    nlundqvist
    Brass Contributor
    You need to jump over to request a new feature. The only options are windows (apps) or the whole of the desktop(s).

Resources