การแชร์เดสก์ท็อปของคุณกับ Google แฮงเอาท์จอภาพสองจอและ GNOME Shell


42

ฉันมีแล็ปท็อปที่มีหน้าจอในตัวและจอภาพที่แนบมา

เมื่อฉันเริ่มแฮงเอาท์วิดีโอของ Google และแชร์เดสก์ท็อปของฉันฉันต้องการที่จะแชร์เฉพาะหน้าจอที่แนบมา แต่ฉันไม่รู้ว่าจะทำอย่างไร

ตอนนี้ฉันมีจอภาพสองจอ: LVDS1สอดคล้องกับหน้าจอแล็ปท็อปของฉันซึ่งกำหนดค่าเป็นหน้าจอรองและDP1เป็นหน้าจอหลักของฉัน แต่ปัญหายังคงอยู่หากฉันเปลี่ยนหน้าจอแล็ปท็อปเป็นหน้าจอหลัก

$ xrandr
Screen 0: minimum 320 x 200, current 3286 x 1468, maximum 8192 x 8192
LVDS1 connected 1366x768+1920+700 (normal left inverted right x axis y axis) 344mm x 194mm
   1366x768      60.06*+
   1024x768      60.00  
   800x600       60.32    56.25  
   640x480       59.94  
VGA1 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
DP1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 475mm x 267mm
   1920x1080     60.00*+
   1280x1024     75.02    60.02  
   1152x864      75.00  
   1024x768      75.08    60.00  
   800x600       75.00    60.32  
   640x480       75.00    60.00  
   720x400       70.08  

เมื่อใดก็ตามที่ฉันเริ่มแบ่งปันเดสก์ท็อปในแฮงเอาท์จะมีการแชร์เฉพาะหน้าจอในตัว (เล็กกว่า) สิ่งที่ดีที่สุดคือสามารถเลือกได้ว่าจะแชร์แบบไหน แต่ถ้าไม่ฉันจะแชร์หน้าจอที่แนบมา (ใหญ่กว่า) ได้อย่างไร

ฉันพนันได้ว่าแฮงเอาท์ของ Google กำลังมองหาไฟล์กำหนดค่าเพื่อเลือกหน้าจอที่จะแชร์ แต่ไม่ทราบว่าเป็นไฟล์ใด

บันทึก

ใช้ Fedora 20, x86_64, Linux 3.15.10-200, GNOME Shell 3.10.4-8, Firefox 31

โน้ต 2

การใช้ Google Chrome ทำให้ Google Hangouts แบ่งปันหน้าจอทั้งสองในเวลาเดียวกันแทนที่จะเป็นเพียงหน้าจอแล็ปท็อปซึ่งฉันคิดว่าแย่ลงกว่าเดิม ยังคงพยายามหาวิธีที่ฉันจะเลือกหน้าจอที่จะแบ่งปัน


เป็นการทดลองถ้าคุณทำให้หน้าจอรองเป็นหน้าจอหลักของคุณผ่านทางกล่องโต้ตอบการตั้งค่า GNOME แฮงเอาท์จะเปิดขึ้นบนหน้าจอรองหรือไม่
slm

@slm: ดูเหมือนว่าจะใช้หน้าจอแล็ปท็อปของฉันเพื่อแชร์อยู่เสมอ ไม่สำคัญว่ามันจะเป็นเพลงหลักหรือเพลงรอง
Peque

ฉันต่อสู้กับปัญหาของตัวเองกับ Chrome, Cinnamon และจอภาพหลายจอด้วย มันน่ารำคาญอย่างมาก ฉันจะพยายามขุดต่อไป
slm

ฉันกำลังประสบปัญหาเดียวกันกับการใช้ chrome บน Linux Mint 15 การแชร์หน้าจอแฮงเอาท์แสดงทั้งจอภาพของฉัน น่ารำคาญจริงๆ

1
ฉันไม่รู้ว่าคุณจะได้รับจอภาพเดียวฉันไม่เคยเห็นว่า แต่สำหรับจอภาพทั้งสองในเวลาเดียวกันฉันสงสัยว่า Chromium จะแชร์เฉพาะ X "หน้าจอ" XRandR ทำให้จอภาพทั้งสองปรากฏบนหน้าจอ X หนึ่งหน้าดังนั้นจนกว่าจะมีใครบางคนใน Google แก้ปัญหาที่ฉันสงสัยว่ามีวิธีแก้ปัญหาโดยไม่ต้องใช้อย่างอื่นเช่น Xinerama
Jarryd

คำตอบ:


35

ปัญหา

ปรากฎว่ามีปัญหาแบบเปิดอยู่ในตัวติดตาม Chromiumเกี่ยวกับความไม่สะดวกที่น่ารำคาญนี้ ตัวเลือกที่มีอยู่ที่เสนอโดยแฮงเอาท์มีข้อบกพร่องที่สำคัญ:

  1. แชร์หน้าจอทั้งหมด:หากคุณมีหลายหน้าจอ (ฉันมีสามหน้าจอ) และแชร์ "หน้าจอทั้งหมด" คนอื่นใน Hangout จะไม่เห็นอะไรเลย

  2. แชร์แอปพลิเคชัน:หากคุณแบ่งปันแอปพลิเคชันเฉพาะเท่านั้น:

    • คุณจะต้องสลับไปใช้แอปอื่นด้วยตนเองในขณะที่สตรีมมิ่งโดยกลับไปที่แฮงเอาท์และสลับการเปิด / ปิดการแชร์หน้าจอ
    • ในบางแอปพลิเคชันหน้าต่างพิเศษ (เช่นกล่องโต้ตอบสำหรับการตั้งค่าเมนูป๊อปอัป ฯลฯ ) จะไม่ถูกบันทึกเป็นส่วนหนึ่งของแอพที่คุณแชร์ และส่วนใหญ่เป็นกล่องโต้ตอบที่คุณต้องการมุ่งเน้น

โซลูชัน / วิธีแก้ปัญหา

วิธีแก้ปัญหาที่ดีมากคือที่ความคิดเห็นที่ 18ของการสนทนาเดียวกันดังนั้นเครดิตทั้งหมดควรไปที่ผู้เขียนความคิดเห็น

ผมจะสรุปกระบวนการที่นี่ซึ่งช่วยให้คุณสามารถแบ่งปันชิ้นส่วน / พื้นที่ของหน้าจอหลายจอของคุณใน Google แฮงเอาท์ทำงานในเครื่องลินุกซ์

  1. เปิดVLCในโหมด "จับภาพหน้าจอ" และบอกว่ามันเป็นส่วนหนึ่งของหน้าจอ X11 ของคุณที่คุณต้องการจะจับภาพโดยใช้ที่เหมาะสมโมดูลจอพารามิเตอร์บรรทัดคำสั่ง คุณสามารถทำได้ผ่านการกำหนดค่า GUI หรือใช้บรรทัดคำสั่ง:

    vlc \
        --no-video-deco \
        --no-embedded-video \
        --screen-fps=20 \
        --screen-top=32 \
        --screen-left=0 \
        --screen-width=1920 \
        --screen-height=1000 \
        screen://
    
  2. กลับไปที่ Google แฮงเอาท์และแบ่งปันหน้าต่าง VLC ที่เพิ่งเปิดใหม่ซึ่งตอนนี้ทำหน้าที่เป็น "พอร์ทัล" ของคุณไปยังส่วนที่น่าสนใจของหน้าจอของคุณ

บันทึกย่อที่สำคัญ

  1. เลื่อนหน้าต่าง VLC ออกไปจากส่วนของหน้าจอที่คุณกำลังจับเพื่อหลีกเลี่ยงผลกระทบการลงทะเบียนเรียน

  2. อย่าไม่ปรับขนาดหรือลดหน้าต่าง VLC เพราะจะส่งผลกระทบต่อความละเอียดของส่วนแบ่งหน้าจอของคุณ หากคุณต้องการออกไปให้พ้นทางในขณะที่สตรีมไปยังแฮงเอาท์ให้ย้ายออกจากหน้าจอโดยไม่ต้องปรับขนาดหรือทำท่าว่าไม่ได้อยู่ที่นั่น

  3. ตัวชี้เมาส์ไม่ได้ถูกจับโดย VLC ใน linux ผู้เขียนของการแก้ปัญหาแนะนำวิธีแก้ปัญหานี้เช่นกัน: ExtraMaus , โปรแกรม C ง่าย ๆ ที่สร้าง "โคลน" ของเมาส์ของคุณ แต่ VLC มองเห็นได้

[TL; DR] การอธิบายค่าที่ฉันเลือกในตัวอย่าง

  1. screen://พารามิเตอร์บ่งชี้ว่าเราต้องการที่จะเปิดใช้งานโมดูลการจับภาพหน้าจอ คุณจะใช้พารามิเตอร์นี้ตามที่เป็นอยู่เสมอ

  2. ตั้งค่าสถานะ--no-video-decoและ--no-embedded-videoซ่อนเมนูหน้าต่างและแถบเครื่องมือควบคุมวิดีโอตามลำดับ คุณไม่ต้องการแบ่งปันสิ่งเหล่านี้ผ่านแฮงเอาท์ดังนั้นฉันขอแนะนำให้คุณรวมพารามิเตอร์เหล่านี้ไว้เสมอ

  3. --screen-fps=20ไม่จำเป็นต้องเป็น 20 คุณสามารถทำให้มันเป็นวันที่ 30 หรือ 10 เนื่องจากผลการดำเนินงานได้รับผลกระทบเป็นหลักโดยวิธีที่ Chrome ถอดรหัสวิดีโอสตรีม

  4. พื้นที่ของหน้าจอที่คุณต้องการที่จะบันทึกต่อไปนี้การประชุมมาตรฐาน [ --screen-top, --screen-left, --screen-width, --screen-height] หากว่าฉันมีจอภาพสองจอแต่ละ 1920x1080 ให้หน้าจอ "เสมือน" ทั้งหมด 3840x1080 เมื่อวางหนึ่งถัดจากอีกจอหนึ่งฉันสามารถให้พิกัดต่อไปนี้:

    1. [ 0, 0, 1920, 1080] สำหรับหน้าจอซ้ายทั้งหมดของฉัน
    2. [ 0, 1920, 1920, 1080] สำหรับหน้าจอที่ถูกต้องทั้งหมดของฉัน
    3. [32, 0, 1920, 1000]สำหรับส่วนหนึ่งของหน้าจอด้านซ้ายของฉันซึ่งครอบคลุมตลอดความกว้างเต็ม แต่ลดจำนวน32พิกเซลจากด้านบน (โดยปกติฉันมีแถบชื่อเรื่องของหน้าต่าง) และ1080-1000-32 = 48พิกเซลจากด้านล่าง (ซึ่งฉันมีทาสก์บาร์ KDE ของฉัน)

1
นี่เป็นวิธีแก้ปัญหาที่เหมาะสม ใช้งานง่าย ขอบคุณ
Pierre de LESPINAY

1
หากพบปัญหาเช่น: VLC ไม่สามารถเปิดหน้าจอ MRL '//' ตรวจสอบบันทึกเพื่อดูรายละเอียด sudo apt-get install vlc-plugin-access-extra จากนั้นใช้บรรทัดคำสั่งจากด้านบนเพื่อเปิด vlc ของคุณ
Leo Yu

ฉันสามารถใช้มันเป็นเวลานานกับเดเบียน ฉันอยู่ใน Ubuntu ตอนนี้และดูเหมือนจะไม่ทราบข้อโต้แย้ง:unknown option or missing mandatory argument '--screen-top=0'
Pierre de LESPINAY

1
ฉันทำบันทึกเกี่ยวกับการทำเช่นนี้กับ i3 gist.github.com/kylebrandt/237368095cd9803536ac26529340a60f
Kyle Brandt

สิ่งนี้เคยทำงานให้ฉัน แต่ไม่ใช่อีกต่อไป VLC 3.0.7
Lucas Bustamante

5

ฉันคิดว่าฉันพบวิธีแก้ปัญหาที่ดีกว่าการใช้ vlc เราเพียงแค่ต้องสร้างเว็บแคมปลอมที่แสดงหน้าจอของเรา

# Unload
sudo rmmod v4l2loopback
# Load module
sudo modprobe v4l2loopback video_nr=7 'card_label=myFakeCam' 'exclusive_caps=1'

ffmpeg -f x11grab -r 20 -s 1920x1080 -i :0.0+0,0 -vcodec rawvideo -pix_fmt yuv420p -threads 0 -f v4l2 /dev/video7

จากนั้นเราจำเป็นต้องทำให้มันปรากฏในโครเมียมในรายการกล้องที่มีอยู่ เราสามารถทำให้เป็นตัวอย่างโดยการปิดใช้งานแล้วเปิดใช้งานเว็บแคมแล็ปท็อปภายใน ก่อนอื่นคุณควรค้นหาบัส USB และหมายเลขพอร์ตของมัน ในกรณีของฉัน: รถบัสเป็น 01 และพอร์ตคือ 4 ดังนั้นฉันจึงเรียกใช้:

sudo sh -c "echo '0'> /sys/bus/usb/devices/1-4/bConfigurationValue"
sudo sh -c "echo '1'> /sys/bus/usb/devices/1-4/bConfigurationValue"

หลังจากนั้นฉันสามารถเลือก myFakeCam ในแฮงเอาท์

ผมได้อธิบายความคิดอื่น ๆ บางส่วนและบางรายละเอียดเพิ่มเติมในrepo hliss

Google Chrome มองไม่เห็นกล้องปลอม



-2

โหลด xrdp บนแล็ปท็อปของคุณ เริ่มการเชื่อมต่อ rdesktop กับ localhost ใช้เซสชัน rdesktop เพื่อเริ่มต้นเซสชัน Google + และจะมีการแชร์หน้าต่าง / เดสก์ท็อปเท่านั้น

ฉันรู้ว่านี่เป็นเรื่องของการทำงานมากกว่า แต่จะทำสิ่งที่คุณต้องการจะทำ


ตลก :-) แต่ใช่ว่าไม่ใช่วิธีแก้ปัญหา (ไม่ใช่แม้แต่การแก้ไขปัญหา) ฉันอยากจะปิดหน้าจอแล็ปท็อปก่อนที่จะเริ่มแฮงเอาท์ซึ่งเร็วกว่าและสะอาดกว่า ... ;-) ปกติแล้วคนหนึ่งต้องการแบ่งปันสิ่งที่พวกเขาได้เปิดไว้แล้วในเดสก์ท็อปของพวกเขา
Peque
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.