คำถามแรกที่นี่ เนื่องจากฉันได้ค้นหาคำตอบสำหรับทุกสิ่งที่ฉันมีปัญหาก่อนหน้านี้ ขอบคุณทุกคนที่มีส่วนร่วมที่นี่ ..
ฉันทำตามคำแนะนำนี้เพื่อใช้ gphoto2 และ ffmpeg เพื่อใช้ Fuji X-T2 live feed เป็นเว็บแคม:
https://medium.com/nerdery/dslr-webcam-setup-for-linux-9b6d1b79ae22
มันใช้งานได้ดีเมื่อฉันสตาร์ทเครื่องและเปิดกล้องในครั้งแรก:
$ pkill -f gphoto2
(ยกเลิกการต่อเชื่อมกล้องเป็นระดับเสียง)
$ gphoto2 --stdout --capture-movie | ffmpeg -i - -vcodec rawvideo -pix_fmt yuv420p -f v4l2 /dev/video0
ffmpeg รุ่น 4.4-6ubuntu5 ลิขสิทธิ์ (c) 2000-2021 นักพัฒนา FFmpeg
สร้างด้วย gcc 11 (Ubuntu 11.2.0-7ubuntu1)
การกำหนดค่า: --prefix=/usr --extra-version=6ubuntu5 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu -- arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca -- enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack -- enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librubberband --enable-libshine --enable-libsnappy -- enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp -- enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx -- enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-librsvg --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 -- enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
libavutil 56. 70.100 / 56. 70.100
libavcodec 58.134.100 / 58.134.100
รูปแบบ libav 58. 76.100 / 58. 76.100
libavdevice 58. 13.100 / 58. 13.100
libavfilter 7.110.100 / 7.110.100
libswscale 5. 9.100 / 5. 9.100
libswresample 3. 9.100 / 3. 9.100
libpostproc 55. 9.100 / 55. 9.100
จับเฟรมตัวอย่างเป็นภาพยนตร์เพื่อ 'stdout' กด Ctrl-C เพื่อยกเลิก
[mjpeg @ 0x55b4c5b39340] ตรวจพบรูปแบบ mjpeg ด้วยคะแนนต่ำเพียง 25 เท่านั้น ตรวจหาผิดพลาดได้!
อินพุต #0, mjpeg จาก 'ไปป์:':
ระยะเวลา: N/A บิตเรต: N/A
สตรีม #0:0: วิดีโอ: mjpeg (พื้นฐาน), yuvj422p(pc, bt470bg/ไม่ทราบ/ไม่ทราบ), 1024x768, 25 tbr, 1200k tbn, 25 tbc
การทำแผนที่สตรีม:
สตรีม #0:0 -> #0:0 (mjpeg (เนทีฟ) -> rawvideo (เนทีฟ))
[swscaler @ 0x55b4c5b8c800] เลิกใช้รูปแบบพิกเซลแล้ว ตรวจสอบให้แน่ใจว่าคุณตั้งค่าช่วงอย่างถูกต้อง
เอาต์พุต #0, video4linux2,v4l2, ถึง '/dev/video0':
ข้อมูลเมตา:
ตัวเข้ารหัส: Lavf58.76.100
สตรีม #0:0: วิดีโอ: rawvideo (I420 / 0x30323449), yuv420p(tv, bt470bg/unknown/unknown, progressive), 1024x768, q=2-31, 235929 kb/s, 25 fps, 25 tbn
ข้อมูลเมตา:
ตัวเข้ารหัส: Lavc58.134.100 rawvideo
เฟรม= 444 fps= 32 q=-0.0 Lsize=N/A เวลา=00:00:17.76 บิตเรต=N/A ความเร็ว=1.29x
อย่างไรก็ตาม หากฉันปิดกล้องและพยายามเรียกใช้อีกครั้งในภายหลัง ฉันจะได้รับข้อความแสดงข้อผิดพลาดด้านล่าง:
gphoto2 --stdout --จับภาพภาพยนตร์ | ffmpeg -i - -vcodec rawvideo -pix_fmt yuv420p -f v4l2 /dev/video0
ffmpeg รุ่น 4.4-6ubuntu5 ลิขสิทธิ์ (c) 2000-2021 นักพัฒนา FFmpeg
สร้างด้วย gcc 11 (Ubuntu 11.2.0-7ubuntu1)
การกำหนดค่า: --prefix=/usr --extra-version=6ubuntu5 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu -- arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca -- enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack -- enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librubberband --enable-libshine --enable-libsnappy -- enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp -- enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx -- enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-librsvg --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 -- enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
libavutil 56. 70.100 / 56. 70.100
libavcodec 58.134.100 / 58.134.100
รูปแบบ libav 58. 76.100 / 58. 76.100
libavdevice 58. 13.100 / 58. 13.100
libavfilter 7.110.100 / 7.110.100
libswscale 5. 9.100 / 5. 9.100
libswresample 3. 9.100 / 3. 9.100
libpostproc 55. 9.100 / 55. 9.100
จับเฟรมตัวอย่างเป็นภาพยนตร์เพื่อ 'stdout' กด Ctrl-C เพื่อยกเลิก
[mjpeg @ 0x5635c5ca0340] ตรวจพบรูปแบบ mjpeg ที่มีคะแนนต่ำเพียง 25 เท่านั้น ตรวจหาผิดพลาดได้!
อินพุต #0, mjpeg จาก 'ไปป์:':
ระยะเวลา: N/A บิตเรต: N/A
สตรีม #0:0: วิดีโอ: mjpeg (พื้นฐาน), yuvj422p(pc, bt470bg/ไม่ทราบ/ไม่ทราบ), 1024x768, 25 tbr, 1200k tbn, 25 tbc
การทำแผนที่สตรีม:
สตรีม #0:0 -> #0:0 (mjpeg (เนทีฟ) -> rawvideo (เนทีฟ))
[swscaler @ 0x5635c5cfc600] เลิกใช้รูปแบบพิกเซลแล้ว ตรวจสอบให้แน่ใจว่าคุณได้ตั้งค่าช่วงอย่างถูกต้อง
[video4linux2,v4l2 @ 0x5635c5ca4080] ioctl(VIDIOC_G_FMT): อาร์กิวเมนต์ไม่ถูกต้อง
ไม่สามารถเขียนส่วนหัวสำหรับไฟล์เอาต์พุต #0 (พารามิเตอร์ตัวแปลงสัญญาณไม่ถูกต้อง ?): อาร์กิวเมนต์ไม่ถูกต้อง
เกิดข้อผิดพลาดในการเริ่มต้นเอาต์พุตสตรีม 0:0 --
การแปลงล้มเหลว!
ทางออกเดียวที่ฉันมีในตอนนี้คือการรีบูตเดสก์ท็อป - มีความคิดเกี่ยวกับวิธีการแก้ไข / แก้ไขปัญหาหรือไม่?