ในหน้าต่างฉันสามารถเปิด "คอมพิวเตอร์ของฉัน" และคลิกที่ไอคอน "เว็บแคม" เพื่อรับฟีดจากเว็บแคมของฉัน ฉันสามารถถ่ายภาพฟีดนั้นได้
ฉันสามารถทำเช่นเดียวกันใน Ubuntu ได้หรือไม่ โดยไม่ต้องติดตั้งแอปพลิเคชันพิเศษเช่น Photobooth
ในหน้าต่างฉันสามารถเปิด "คอมพิวเตอร์ของฉัน" และคลิกที่ไอคอน "เว็บแคม" เพื่อรับฟีดจากเว็บแคมของฉัน ฉันสามารถถ่ายภาพฟีดนั้นได้
ฉันสามารถทำเช่นเดียวกันใน Ubuntu ได้หรือไม่ โดยไม่ต้องติดตั้งแอปพลิเคชันพิเศษเช่น Photobooth
คำตอบ:
เนื่องจากคุณต้องการคำตอบ "โดยไม่ต้องติดตั้งแอพพลิเคชั่นพิเศษอื่น ๆ เช่น Photobooth" ฉันพยายามให้วิธีการแก้ปัญหาที่ไม่ได้ขึ้นอยู่กับอะไรมากนัก นอกจากนี้ฉันสมมติว่าเว็บแคมของคุณใช้ " Video4Linux2 " และมันก็เป็น/dev/video0
เช่นนั้น หากนี่คือเว็บแคมที่ทันสมัยและถ้าคุณมีเพียงเว็บแคมนี่เป็นข้อสันนิษฐานที่ดีทีเดียว
จากบรรทัดคำสั่ง:
$ gst-launch-0.10 v4l2src device=/dev/video0 ! xvimagesink
โปรดทราบว่า "v4l2src" มีตัวพิมพ์เล็ก L และไม่ใช่หมายเลข 1 ในระบบของคุณคำสั่งอาจเป็นgst-launch
หรือสิ่งที่เริ่มต้นด้วยgst-launch
แต่มีหมายเลขรุ่นอื่น การทำให้แท็บสมบูรณ์จะช่วยให้คุณค้นหาชื่อคำสั่งที่แน่นอน เครื่องมือนี้อยู่ในgstreamer0.10-tools
แพ็คเกจบนระบบ Ubuntu ของฉันซึ่งเป็นการพึ่งพา libgstreamer ซึ่งเป็นการพึ่งพาของแอพจำนวนมากในระบบ Ubuntu ของฉันและมีแนวโน้มว่าจะเกิดขึ้นในการติดตั้งเริ่มต้น
หากคุณไม่คิดที่จะติดตั้งแอปพลิเคชั่นอื่น ๆ นี่คือวิธีที่คุณสามารถทำได้ในแอพพลิเคชั่นอื่น ๆ พวกเขาทั้งหมดสามารถติดตั้งได้อย่างง่ายดายผ่านทางapt-get
หรือผู้จัดการแพคเกจอื่นที่คุณเลือก:
$ vlc v4l2:///dev/video0
นอกจากนี้คุณสามารถทำได้จาก VLC GUI โดยไปที่ File-> Open Capture Devicemplayer tv://device=/dev/video01
(จาก Stefan ในความคิดเห็น)guvcview
ง่ายมากและทำงานได้อย่างสมบูรณ์แบบ
guvcview
โปรแกรมนี้เหมาะสำหรับ screencasts เนื่องจากสามารถแสดงเฉพาะกล้องบนหน้าต่างและไม่มีอะไรอื่น:
sudo apt-get install guvcview
guvcview
จากนั้นใช้เครื่องมือบันทึกหน้าจอเพื่อสร้างฟีด recordmydesktop
ทำงานได้ดี
ทดสอบบน Ubuntu 18.04
คำถามที่เกี่ยวข้อง:
หรือคุณสามารถลองใช้คำสั่ง mpv
mpv /dev/video0
ffplay /dev/video0
เป็นหนึ่งในวิธีที่ง่ายกว่าและจะทำงานหากคุณติดตั้ง ffmpeg
sudo apt install ffmpeg
ในการติดตั้งใช้งาน
ไวยากรณ์ที่แตกต่างกันเล็กน้อยทำงานให้ฉันโดยใช้ mplayer:
mplayer -tv device=/dev/video1 tv://
ฉันใช้เว็บแคมเสียบอยู่ (ไม่ใช่แบบในตัว) ดังนั้นผมจึงเปลี่ยนไป/dev/video0
/dev/video1
แต่ไวยากรณ์ของสเตฟานด้านบนดูเหมือนว่าจะเป็นค่าเริ่มต้นของบิวด์อินเนื่องจากข้อผิดพลาดในการแยกวิเคราะห์อาร์กิวเมนต์ ดูบรรทัดที่ทำเครื่องหมายในผลลัพธ์:
baxelrod@it6598 ~ $ mplayer tv://device=/dev/video1
MPlayer 1.2.1 (Debian), built with gcc-5.3.1 (C) 2000-2016 MPlayer Team
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.
Playing tv://device=/dev/video1.
The filename option must be an integer: dev/video1 <--
Struct tv, field filename parsing error: dev/video1 <--
TV file format detected.
...
Selected device: Integrated Camera <--
...
เมื่อฉันใช้ไวยากรณ์ที่ฉันโพสต์ฉันไม่ได้รับบรรทัดข้อผิดพลาดและฉันได้รับสิ่งนี้แทน:
Selected device: UVC Camera (046d:081b)