精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

如何在 Linux 中使用舊相機作為網絡攝像頭

系統 Linux
我用 gphoto2 給我的舊單反相機帶來了新的生命,把它變成了 Linux 電腦的網絡攝像頭。

今年,在我基本上放棄了 MacBook,轉而使用 NixOS 機器之后,我開始在與人進行視頻通話時被要求“打開攝像頭”。這是一個問題,因為我沒有網絡攝像頭。我考慮購買一個,但后來我意識到我有一臺完好無損的 2008 年產的佳能 EOS Rebel XS 數碼單反相機放在書架上。這臺相機有一個 mini-USB 接口,所以我自然而然地思考:一臺數碼單反相機、一個 mini-USB 接口和一臺臺式電腦,是否意味著我能擁有一個網絡攝像頭?

只有一個問題。我的佳能 EOS Rebel XS 不能錄制視頻。它可以拍攝一些漂亮的照片,僅此而已。所以這結束了?

還是有別的辦法?

恰好有一個叫做 ??gphoto2?? 的神奇的開源軟件。一旦安裝,它允許你從計算機控制各種支持的相機,并拍攝照片和視頻。

支持的相機

首先,了解你的設備是否得到支持:

$ gphoto2 --list-cameras

拍攝圖像

你可以用它拍照:

$ gphoto2 --capture-image-and-download

快門觸發,圖像會保存到你當前的工作目錄中。

錄制視頻

我意識到了這里的潛力,所以盡管我的相機沒有視頻功能,我還是決定嘗試 ??gphoto2 --capture-movie?? 命令。不知怎么,盡管我的相機不支持視頻功能,??gphoto2?? 仍然能夠生成一個 MJPEG 文件!

在我的相機上,我需要將其置于“實時預覽”模式下,然后 ??gphoto2?? 才能錄制視頻。這包括將相機設置為縱向模式,然后按下 “設置Set” 按鈕,使取景器關閉,相機屏幕顯示圖像。不幸的是,這還不足以將其用作網絡攝像頭。它仍然需要分配一個視頻設備,例如 ??/dev/video0??。

安裝 ffmpeg 和 v4l2loopback

毫不奇怪,有一個開源的解決方案來解決這個問題。首先,使用你的包管理器安裝 ??gphoto2??、??ffmpeg?? 和 ??mpv??。例如,在 Fedora 、CentOS 、Mageia 和類似的 Linux 發行版上:

$ sudo dnf install gphoto2 ffmpeg mpv

在 Debian、Linux Mint 及其類似發行版:

$ sudo apt install gphoto2 ffmpeg mpv

我使用的是 NixOS,這是我的配置文件:

# configuration.nix
...
environment.systemPackages = with pkgs; [
ffmpeg
gphoto2
mpv
...
]

創建虛擬視頻設備需要使用 ??v4l2loopback?? Linux 內核模塊。在撰寫本文時,該功能未包含在主線內核中,因此你需要自己下載和編譯它:

$ git clone https://github.com/umlaeute/v4l2loopback
$ cd v4l2loopback
$ make
$ sudo make install
$ sudo depmod -a

如果你像我一樣使用 NixOS ,你可以在 ??configuration.nix?? 中添加額外的模塊包:

[...]
boot.extraModulePackages = with config.boot.kernelPackages;
[ v4l2loopback.out ];
boot.kernelModules = [
"v4l2loopback"
];
boot.extraModprobeConfig = ''
options v4l2loopback exclusive_caps=1 card_label="Virtual Camera"
'';
[...]

在 NixOS 上, 運行 ??sudo nixos-rebuild switch??,然后重啟。

創建一個視頻設備

假設你的計算機當前沒有 ??/dev/video?? 設備,你可以借助 ??v4l2loopback?? 在需要時創建一個。

運行以下命令,將 ??gphoto2?? 中的數據發送到 ??ffmpeg??,使用設備如 ??/dev/video0?? 設備:

$ gphoto2 --stdout --capture-movie |
ffmpeg -i - -vcodec rawvideo -pix_fmt yuv420p -f v4l2 /dev/video0

你得到的輸出是這樣的:

ffmpeg version 4.4.1 Copyright (c) 2000-2021 the FFmpeg developers
built with gcc 11.3.0 (GCC)
configuration: --disable-static ...
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
libavresample 4. 0. 0 / 4. 0. 0
libswscale 5. 9.100 / 5. 9.100
libswresample 3. 9.100 / 3. 9.100
libpostproc 55. 9.100 / 55. 9.100
Capturing preview frames as movie to 'stdout'. Press Ctrl-C to abort.[mjpeg @ 0x1dd0380] Format mjpeg detected only with low score of 25, misdetection possible!
Input #0, mjpeg, from 'pipe:':
Duration: N/A, bitrate: N/A
Stream #0:0: Video: mjpeg (Baseline), yuvj422p(pc, bt470bg/unknown/unknown), 768x512 ...
Stream mapping:
Stream #0:0 -> #0:0 (mjpeg (native) -> rawvideo (native))[swscaler @ 0x1e27340] deprecated pixel format used, make sure you did set range correctly
Output #0, video4linux2,v4l2, to '/dev/video0':
Metadata:
encoder : Lavf58.76.100
Stream #0:0: Video: rawvideo (I420 / 0x30323449) ...
Metadata:
encoder : Lavc58.134.100 rawvideoframe= 289 fps= 23 q=-0.0 size=N/A time=00:00:11.56 bitrate=N/A speed=0.907x

要查看來自網絡攝像頭的視頻,請使用 ??mpv?? 命令:

$ mpv av://v4l2:/dev/video0 --profile=low-latency --untimed

Streaming a live feed from the webcam

Streaming a live feed from the webcam

自動啟動你的網絡攝像頭

每次想使用網絡攝像頭時都需要執行一次命令有點麻煩。幸運的是,你可以在啟動時自動運行此命令。我將其實現為一個 ??systemd?? 服務:

# configuration.nix
...
systemd.services.webcam = {
enable = true;
script = ''
${pkgs.gphoto2}/bin/gphoto2 --stdout --capture-movie |
${pkgs.ffmpeg}/bin/ffmpeg -i - \
-vcodec rawvideo -pix_fmt yuv420p -f v4l2 /dev/video0
'';
wantedBy = [ "multi-user.target" ];
};
...

在 NixOS 上,運行 ??sudo nixos-rebuild switch??,然后重新啟動你的計算機。你的網絡攝像頭已經開啟并處于活動狀態。

要檢查是否存在任何問題,可以使用 ??systemctl status webcam?? 命令。它會告訴你服務最后一次運行的時間,并提供其以前輸出的日志。這對于調試非常有用。

迭代以使其變得更好

止步于此也許很誘人。但是,考慮到當前的全球危機,我們可能需要思考是否有必要一直開著網絡攝像頭。這讓我感到不太理想,原因如下:

  • 這浪費電。
  • 這類事情涉及隱私問題。

我的攝像頭有一個鏡頭蓋,所以說實話,第二個原因并不真的讓我感到困擾。當我不使用網絡攝像頭時,我總是可以把鏡頭蓋上。然而,讓一個耗電量大的單反相機整天開著(更不用說需要解碼視頻所需的 CPU 開銷),對我的電費并沒有任何好處。

理想情況是:

  • 我一直把相機插在電腦上,但是關閉的。
  • 當我想使用網絡攝像頭時,我按下相機的電源按鈕將其打開。
  • 我的計算機會檢測到相機并啟動 systemd 服務。
  • 使用網絡攝像頭完成后,我再次將其關閉。

為了實現這一點,你需要使用一個自定義的 udev 規則。

udev 規則可以告訴你的計算機,當它發現某個設備已經可用時執行某個任務。這可以是外部硬盤甚至是非 USB 設備。在這種情況下,你需要通過其 USB 連接識別相機。

首先,指定 udev 規則被觸發時要運行的命令。你可以用一個 shell 腳本來完成(??systemctl restart webcam?? 應該可以工作)。我運行的是 NixOS,所以我只需要創建一個派生包(一個 Nix 包),它會重新啟動 systemd 服務:

# start-webcam.nix
with import <nixpkgs> { };
writeShellScriptBin "start-webcam" ''
systemctl restart webcam
# debugging example
# echo "hello" &> /home/tom/myfile.txt
# If myfile.txt gets created then we know the udev rule has triggered properly''

接下來,實際定義 udev 規則。查找攝像頭的設備和廠商 ID。使用 ??lsusb?? 命令可以完成此操作。該命令可能已經安裝在你的發行版上,但我不經常使用它,因此我只需要根據需要使用 ??nix-shell?? 安裝它:

$ nix-shell -p usbutils

無論你的計算機上已經安裝了它,還是剛剛安裝,請運行 ??lsusb?? :

$ lsusb
Bus 002 Device 008: ID 04a9:317b Canon, Inc. Canon Digital Camera[...]

在此輸出中,廠商 ID 為 ??04a9??,設備 ID 為 ??317b??。這已足以創建 udev 規則:

ACTION=="add", SUBSYSTEM=="usb",
ATTR{idVendor}=="04a9",
ATTR{idProduct}=="317b",
RUN+="/usr/local/bin/start-webcam.sh"

或者,如果你使用的是 NixOS:

# configuration.nix[...]let
startWebcam = import ./start-webcam.nix;[...]
services.udev.extraRules = ''
ACTION=="add", \
SUBSYSTEM=="usb", \
ATTR{idVendor}=="04a9", \
ATTR{idProduct}=="317b", \
RUN+="${startWebcam}/bin/start-webcam"'';[...]

最后,在你的 ??start-webcam?? systemd 服務中刪除 ??wantedBy = ["multi-user.target"];?? 這一行。(如果保留它,則無論相機是否開啟,該服務都會在下次重啟時自動啟動。)

重復使用舊技術

我希望這篇文章能讓你在放棄一些舊技術之前三思而后行。Linux 可以為技術注入活力,無論是你的電腦還是數碼相機或其他外圍設備等簡單的東西。

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2018-06-20 11:54:54

2022-08-17 15:42:44

Windows 11Android 手機攝像頭

2016-02-22 10:30:38

AngularJSHTML5攝像頭

2011-09-08 13:53:20

Linux攝像頭

2013-03-21 09:56:09

2014-07-16 13:36:30

MotionLinux監控

2020-06-04 10:59:10

JavaScript開發技術

2009-06-17 11:52:01

Linux

2019-09-16 19:00:48

Linux變量

2023-01-31 17:36:22

IPLinux網絡

2023-09-07 16:19:33

Linux攝像頭麥克風

2022-10-25 09:07:28

Linuxxargs命令

2012-05-03 08:08:34

Linux攝像頭

2018-05-16 10:32:06

Linux命令find

2018-06-26 09:15:24

Linux命令history

2022-11-18 10:16:26

Linuxwc 命令

2021-03-11 10:21:55

特斯拉黑客網絡攻擊

2018-01-09 09:00:01

Linux命令文件壓縮

2018-10-09 08:30:55

UbuntuLinuxRAR文件

2023-09-14 15:05:33

grep正則表達式
點贊
收藏

51CTO技術棧公眾號

色戒汤唯在线观看| 毛片在线免费视频| 日韩av综合| 亚洲地区一二三色| 日本一区二区三不卡| 国产又大又黑又粗| 很黄很黄激情成人| 曰本色欧美视频在线| 在线成人精品视频| 四虎4545www国产精品| 亚洲美女视频一区| 欧美日韩在线观看一区| 97久久人国产精品婷婷| 亚洲看片一区| 精品国产欧美成人夜夜嗨| 精品国产乱码久久久久夜深人妻| 成人影院入口| 亚洲精品免费在线观看| 欧美一区二区三区在线播放| 精品久久久免费视频| 久久婷婷麻豆| 欧美精品18videosex性欧美| 日本人亚洲人jjzzjjz| 高清日韩中文字幕| 在线不卡欧美精品一区二区三区| 熟女少妇在线视频播放| www在线观看播放免费视频日本| 91麻豆国产香蕉久久精品| 95av在线视频| 在线观看你懂的网站| 亚洲国产日本| 久久91精品国产91久久久| 级毛片内射视频| 日韩三级毛片| 精品久久久久久久久久久久久久久| 丝袜制服一区二区三区| 98色花堂精品视频在线观看| 亚洲另类春色国产| 91香蕉视频网址| 成人精品一区二区三区校园激情| 99久久亚洲一区二区三区青草| 91久久精品国产91久久性色| 中文字幕一区二区三区免费看 | 久久综合999| 国精产品99永久一区一区| 精品国产亚洲AV| 精品一区二区成人精品| 国产精品日韩在线观看| 欧美性猛交xxxx乱大交hd| 国产日韩欧美在线播放不卡| 国内精品免费午夜毛片| 国产在线观看免费av| 欧美午夜精品| 久久久久久久av| 欧美一级高潮片| 亚洲精品123区| 午夜精品久久久久久久久久久久| 久久久久无码国产精品| 亚洲午夜电影| 国内免费久久久久久久久久久| 国产亚洲欧美精品久久久www| 欧美日韩国内| 久久久噜噜噜久久中文字免| 久久亚洲成人av| 在线日韩中文| 69av在线视频| 懂色av蜜臀av粉嫩av分享吧最新章节| 久久久久国产精品一区二区| 国产精品jizz在线观看麻豆| 伊人精品在线视频| 国产精品伊人色| 国产精品免费在线播放| 天堂av中文在线资源库| 国产亚洲一二三区| 亚洲三区在线| 中文字幕免费高清电视剧网站在线观看| 中文字幕一区二区三区四区不卡 | 免费人成又黄又爽又色| 日韩视频在线观看| 欧美成人一区二区三区电影| 国产网友自拍视频| 久久久噜噜噜| 91久久嫩草影院一区二区| 亚洲女同志亚洲女同女播放| 91免费观看在线| 日韩国产在线一区| 91精品久久久久久粉嫩| 亚洲不卡在线观看| 91色国产在线| avtt综合网| 亚洲一区二区国产| 日本青青草视频| 国产精品婷婷| 成人免费网站在线| 亚洲aaa在线观看| 国产精品国产精品国产专区不片| 黄色一级片av| 婷婷激情一区| 精品三级av在线| 婷婷色一区二区三区| 欧美激情综合色综合啪啪| 国产91成人在在线播放| 91麻豆国产在线| 99re66热这里只有精品3直播| 亚洲不卡一卡2卡三卡4卡5卡精品| h视频在线播放| 亚洲一二三四区| 中文字幕在线观看第三页| 日韩一区二区三区色| 亚洲精选中文字幕| 激情综合五月网| 母乳一区在线观看| 粉嫩精品一区二区三区在线观看| 人人九九精品| 亚洲综合清纯丝袜自拍| 狠狠躁狠狠躁视频专区| 免费成人蒂法| 久久国产精彩视频| 欧美成人一区二区视频| 99亚偷拍自图区亚洲| 九九久久九九久久| 九九九精品视频| 亚洲性生活视频在线观看| 日本少妇全体裸体洗澡| 韩国理伦片一区二区三区在线播放| 蜜桃av噜噜一区二区三| 国产盗摄一区二区| 日韩视频免费观看高清完整版 | 在线免费观看日韩av| 综合激情婷婷| 国产综合久久久久| yiren22综合网成人| 欧美日韩亚洲高清| 污污污www精品国产网站| 欧美一区亚洲| 成人在线国产精品| 欧美日本一道| 欧美人动与zoxxxx乱| 摸摸摸bbb毛毛毛片| 美女视频一区免费观看| 欧美美乳视频网站在线观看| 草草在线观看| 精品久久久久久久久久久久包黑料 | 亚洲一卡二卡三卡四卡无卡久久| 久久久久久久高清| 久久精品国产www456c0m| 国产成人福利网站| 国产在线视频网| 欧美性猛交xxxx黑人猛交| 最近日本中文字幕| 野花国产精品入口| 久久亚洲免费| 午夜精品成人av| 亚洲天堂男人天堂女人天堂| 无码人妻丰满熟妇区五十路| 久久精品免视看| 欧美特级aaa| 久久久久久久久久久妇女| 91精品视频在线看| v片在线观看| 亚洲福利视频二区| 成人精品在线看| 久久一夜天堂av一区二区三区| 国产精品第12页| 色婷婷综合网| av免费观看久久| 黑森林国产精品av| 亚洲男人天堂九九视频| 真实新婚偷拍xxxxx| 日韩一区在线看| 最好看的中文字幕| 国产视频欧美| 亚洲蜜桃av| 日韩欧美激情电影| 午夜精品视频网站| 你懂的视频在线| 欧美日韩成人综合| 久久久精品91| 久久久久九九视频| 亚洲黄色av片| 99精品国产99久久久久久福利| 欧美欧美一区二区| 精品国产一区二区三区性色av| 欧美极品少妇xxxxⅹ裸体艺术 | 日韩中文字幕组| 国产精品成人一区二区不卡| 国产精品swag| 欧美xnxx| 欧美黑人一级爽快片淫片高清| 亚洲av成人无码网天堂| 美女被艹视频网站| 国产真实久久| 久久日韩精品| 四虎国产精品永久在线国在线| 欧美精品在线免费播放| 青青草在线视频免费观看| 欧美三级韩国三级日本一级| 久久97人妻无码一区二区三区| 26uuu亚洲综合色欧美| 美女在线视频一区二区| 在线观看一区视频| 亚洲一区二区免费视频软件合集| xxxx日韩| 成人日韩在线电影| 成人小电影网站| 欧美成人免费在线观看| 久久经典视频| 精品精品国产高清a毛片牛牛| 国产美女www爽爽爽| 亚洲国产精品尤物yw在线观看| 国产精品1区2区3区4区| 99久久夜色精品国产网站| 三级黄色片免费观看| 久久久成人网| www.av中文字幕| 综合视频在线| 翔田千里亚洲一二三区| 日韩影视高清在线观看| 91在线在线观看| 未满十八勿进黄网站一区不卡| 日本不卡高字幕在线2019| 四虎亚洲精品| 久久久精品久久| 粉嫩av在线播放| 日韩精品电影网| 搡老岳熟女国产熟妇| 欧美一区二区三区在线观看视频| 波多野结衣一本一道| 欧美日韩综合视频| 中文在线观看免费网站| 亚洲女同ⅹxx女同tv| 强制高潮抽搐sm调教高h| 国产女人18毛片水真多成人如厕 | 国产精品亚洲欧美一级在线| 热久久免费视频精品| 黄色软件视频在线观看| 久久久久久久国产精品视频| caopon在线免费视频| 久久精品国产亚洲精品2020| 91福利在线视频| 尤物tv国产一区| 精品av中文字幕在线毛片| 亚洲精品久久久久久下一站 | 在线观看免费视频一区| 色综合久久九月婷婷色综合| 天天干天天干天天干天天| 欧美日韩国产页| 婷婷激情五月网| 欧美性黄网官网| 人妻丰满熟妇av无码区| 色妞www精品视频| 久久精品五月天| 欧美在线free| 国产一区二区波多野结衣| 欧美另类变人与禽xxxxx| 97精品人妻一区二区三区香蕉 | 亚洲aaa在线观看| 国产视频精品一区二区三区| 男女网站在线观看| 这里只有精品在线观看| 色影视在线观看| 欧美超级乱淫片喷水| 激情影院在线| 欧美亚洲另类在线| 亚洲a∨精品一区二区三区导航| 国产精品电影在线观看| 亚洲高清影院| av成人免费观看| 亚洲成a人片77777在线播放 | sese一区| 欧美另类极品videosbest最新版本| 性欧美video高清bbw| 久久久久国色av免费观看性色| 欧美gv在线| 国产精品男人的天堂| 久久伦理中文字幕| 国产美女99p| 激情综合网站| 日韩精品福利片午夜免费观看| 亚洲人妖在线| 无限资源日本好片| 福利一区二区在线观看| 亚洲国产无码精品| 亚洲欧洲美洲综合色网| 国产午夜久久久| 欧美性受xxxx黑人xyx性爽| 99久久一区二区| 亚洲黄页视频免费观看| 午夜在线播放| 国内免费久久久久久久久久久| 3d欧美精品动漫xxxx无尽| 成人啪啪免费看| 色婷婷久久久| 国产精品一区在线免费观看| 亚洲一区激情| 国产不卡的av| 久久亚洲一区二区三区四区| 永久看片925tv| 日本韩国一区二区三区视频| 国产强伦人妻毛片| 亚洲深夜福利在线| 性欧美1819sex性高清大胸| 国产ts一区二区| 99久久免费精品国产72精品九九| 日韩一区免费观看| 亚洲免费成人| 古装做爰无遮挡三级聊斋艳谭| 国产午夜精品一区二区三区嫩草| 欧洲猛交xxxx乱大交3| 欧美在线视频不卡| 天天摸天天干天天操| 欧美成人免费全部观看天天性色| 台湾佬中文娱乐久久久| 国产在线精品一区二区三区》| 国产精品精品| 国产理论在线播放| 99精品国产视频| 久久久久久天堂| 欧美精品精品一区| 国产黄在线看| 欧美最近摘花xxxx摘花| 影音先锋欧美激情| 日本一区二区免费高清视频| 日韩电影在线观看网站| 成人影视免费观看| 亚洲国产成人av网| www.色视频| 久久国产精品电影| 亚洲精品大全| 亚洲永久一区二区三区在线| 麻豆精品91| 久久美女免费视频| 日韩欧美国产骚| 三级在线观看| 欧美一区二区三区……| 九色丨蝌蚪丨成人| 国产精品成人久久电影| 成人一区二区视频| 久久久国产精品黄毛片| 欧美mv日韩mv国产网站app| 四虎亚洲成人| 成人91免费视频| 好看的av在线不卡观看| 国产一精品一aⅴ一免费| 亚洲理论在线观看| 亚洲国产精品视频在线| 欧美黑人极品猛少妇色xxxxx| 欧美欧美在线| 欧美一区二区视频在线播放| 国产不卡一区视频| 国产五月天婷婷| 亚洲精品久久久久| 网友自拍亚洲| 亚洲不卡中文字幕| 免费国产亚洲视频| 国产suv精品一区二区68| 日韩欧美综合在线| 7777kkk亚洲综合欧美网站| 国产亚洲福利社区| 国产日本精品| 欧美福利第一页| 777亚洲妇女| 牛牛精品在线视频| 久久精品日韩精品| 日韩电影免费在线| 国产传媒免费在线观看| 欧美一区二区三区不卡| heyzo高清中文字幕在线| 激情伦成人综合小说| 丝袜亚洲另类欧美综合| 亚洲女人毛茸茸高潮| 日韩欧美黄色影院| 自拍在线观看| 最新不卡av| 成人免费福利片| 中文字幕一区二区三区四区欧美| 丝袜美腿亚洲一区二区| 香蕉免费一区二区三区在线观看| 精品无码国模私拍视频| 国产欧美日韩另类一区| 国产视频www| 欧美一区二区三区免费观看| 日韩免费一区| 人妻体内射精一区二区三区| 在线观看亚洲a| 97超碰在线公开在线看免费| 久久av一区二区三区漫画| 蜜桃视频第一区免费观看| 久久视频免费看| 国产一区二区三区视频在线观看| 久久久久久久久久久久电影| 超碰网在线观看| 亚洲精品成人悠悠色影视| 久久国产精品高清一区二区三区| 成人网中文字幕| 久久成人一区| 精品国产精品国产精品| 亚洲视频第一页| 国产精品毛片视频| 四季av一区二区三区|