Câu hỏi đầu tiên ở đây vì tôi đã tìm thấy câu trả lời cho mọi thứ khác mà tôi gặp phải trước đây, cảm ơn tất cả những người đã đóng góp ở đây..
Tôi đã làm theo hướng dẫn này để sử dụng gphoto2 và ffmpeg để sử dụng nguồn cấp dữ liệu trực tiếp Fuji X-T2 của mình làm webcam:
https://medium.com/nerdery/dslr-webcam-setup-for-linux-9b6d1b79ae22
nó hoạt động tốt khi tôi khởi động máy và bật máy ảnh lần đầu tiên:
$ pkill -f gphoto2
(ngắt kết nối máy ảnh dưới dạng âm lượng)
$ gphoto2 --stdout --capture-movie | ffmpeg -i - -vcodec rawvideo -pix_fmt yuv420p -f v4l2/dev/video0
ffmpeg phiên bản 4.4-6ubuntu5 Bản quyền (c) 2000-2021 các nhà phát triển FFmpeg
được xây dựng với gcc 11 (Ubuntu 11.2.0-7ubuntu1)
cấu hình: --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
libavformat 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
Chụp các khung hình xem trước dưới dạng phim vào 'thiết bị xuất chuẩn'. Nhấn Ctrl-C để hủy bỏ.
[mjpeg @ 0x55b4c5b39340] Định dạng mjpeg chỉ được phát hiện với số điểm thấp là 25, có thể phát hiện sai!
Đầu vào #0, mjpeg, từ 'ống:':
Thời lượng: Không áp dụng, tốc độ bit: Không áp dụng
Luồng #0:0: Video: mjpeg (Baseline), yuvj422p(pc, bt470bg/unknown/unknown), 1024x768, 25 tbr, 1200k tbn, 25 tbc
Ánh xạ luồng:
Luồng #0:0 -> #0:0 (mjpeg (gốc) -> rawvideo (gốc))
[swscaler @ 0x55b4c5b8c800] đã sử dụng định dạng pixel không dùng nữa, hãy đảm bảo bạn đã đặt phạm vi chính xác
Đầu ra #0, video4linux2,v4l2, thành '/dev/video0':
Metadata:
bộ mã hóa: Lavf58.76.100
Luồng #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p(tv, bt470bg/unknown/unknown, lũy tiến), 1024x768, q=2-31, 235929 kb/s, 25 fps, 25 tbn
Metadata:
bộ mã hóa: Lavc58.134.100 rawvideo
khung hình= 444 fps= 32 q=-0,0 Lsize=N/A time=00:00:17,76 bitrate=N/A speed=1,29x
Tuy nhiên, nếu tôi tắt máy ảnh và thử chạy lại sau đó trong ngày thì cuối cùng tôi nhận được thông báo lỗi bên dưới:
gphoto2 --stdout --capture-movie | ffmpeg -i - -vcodec rawvideo -pix_fmt yuv420p -f v4l2/dev/video0
ffmpeg phiên bản 4.4-6ubuntu5 Bản quyền (c) 2000-2021 các nhà phát triển FFmpeg
được xây dựng với gcc 11 (Ubuntu 11.2.0-7ubuntu1)
cấu hình: --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
libavformat 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
Chụp các khung hình xem trước dưới dạng phim vào 'thiết bị xuất chuẩn'. Nhấn Ctrl-C để hủy bỏ.
[mjpeg @ 0x5635c5ca0340] Định dạng mjpeg chỉ được phát hiện với số điểm thấp là 25, có thể phát hiện sai!
Đầu vào #0, mjpeg, từ 'ống:':
Thời lượng: Không áp dụng, tốc độ bit: Không áp dụng
Luồng #0:0: Video: mjpeg (Baseline), yuvj422p(pc, bt470bg/unknown/unknown), 1024x768, 25 tbr, 1200k tbn, 25 tbc
Ánh xạ luồng:
Luồng #0:0 -> #0:0 (mjpeg (gốc) -> rawvideo (gốc))
[swscaler @ 0x5635c5cfc600] đã sử dụng định dạng pixel không dùng nữa, hãy đảm bảo bạn đã đặt phạm vi chính xác
[video4linux2,v4l2 @ 0x5635c5ca4080] ioctl(VIDIOC_G_FMT): Đối số không hợp lệ
Không thể ghi tiêu đề cho tệp đầu ra #0 (tham số codec không chính xác?): Đối số không hợp lệ
Lỗi khi khởi tạo luồng đầu ra 0:0 --
Chuyển đổi không thành công!
Giải pháp duy nhất hiện tại tôi có là khởi động lại máy tính để bàn - bạn có ý tưởng nào về cách khắc phục/khắc phục sự cố không?