惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Vulnerabilities – Threatpost
aimingoo的专栏
aimingoo的专栏
B
Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
GbyAI
GbyAI
阮一峰的网络日志
阮一峰的网络日志
Engineering at Meta
Engineering at Meta
IT之家
IT之家
V
Visual Studio Blog
The Cloudflare Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
A
About on SuperTechFans
博客园 - 聂微东
Blog — PlanetScale
Blog — PlanetScale
N
News and Events Feed by Topic
A
Arctic Wolf
WordPress大学
WordPress大学
小众软件
小众软件
C
CERT Recently Published Vulnerability Notes
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
D
Darknet – Hacking Tools, Hacker News & Cyber Security
F
Fortinet All Blogs
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Y
Y Combinator Blog
T
Threat Research - Cisco Blogs
Latest news
Latest news
Simon Willison's Weblog
Simon Willison's Weblog
Cyberwarzone
Cyberwarzone
S
Schneier on Security
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
L
Lohrmann on Cybersecurity
Stack Overflow Blog
Stack Overflow Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
P
Privacy International News Feed
J
Java Code Geeks
Spread Privacy
Spread Privacy
宝玉的分享
宝玉的分享
I
Intezer
L
LangChain Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
G
GRAHAM CLULEY
博客园 - 叶小钗
博客园 - 三生石上(FineUI控件)
The GitHub Blog
The GitHub Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
N
News and Events Feed by Topic
AWS News Blog
AWS News Blog
Attack and Defense Labs
Attack and Defense Labs
Security Archives - TechRepublic
Security Archives - TechRepublic
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO

Eson Wong's Blog

我为什么开发 AI 英语听力生成器:Im-Listening Playwright E2E 测试框架入门教程 如何使用 LlamaIndex 构建一个 RAG 检索系统 批评 Milvus 入门教程 怎么在网页中实现自动调整视频的清晰度 什么是检索增强生成(Retrieval-Augmented Generation)? Phonics 自然拼读常见规则 - 辅音字母的发音规律 ESP8266EX 自动下载电路 浅聊 esp8266 墨水屏 Todo List 制作教程 2023 年我买过的最好用的商品 转变自我的密码:《Atomic Habits》读后感 Phonics 自然拼读常见规则 - 音节和元音字母的发音规律 怎么用 Github Actions 部署 Next.js 项目到服务器 怎么解决 Prettier 和 ESLint 在 VSCode 里的冲突? 《微习惯》 - 读书笔记 在 iPad 使用 VS Code 写代码 在 Macbook 上运行 ChatGLM-6B
使用 v4l 采集摄像头
本文作者: Eson Wong · 2023-09-28 · via Eson Wong's Blog

怎么在 Linux 上使用 FFmpeg 采集摄像头

FFmpeg 是一个非常强大的视频处理工具。大多数应用都会使用 FFmpeg 来处理视频。我的 Network RC 项目也使用了 FFmpeg 来处理视频。

Video4Linux2

Video4Linux2(v4l2) 是 Linux 上的一个视频采集框架,它提供了一套统一的接口,可以方便的接入视频设备的输入和输出。FFmpeg 也可以通过 Video4Linux2 接口来采集摄像头的视频。

v4l2-ctl

v4l2-ctl 是 Video4Linux2 的一个命令行工具,可以用来查看和设置视频设备的参数。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

v4l2-ctl -n

v4l2-ctl --list-inputs


v4l2-ctl -i 0

v4l2-ctl --set-input 0


v4l2-ctl --list-formats


v4l2-ctl --list-framesizes=YUYV


v4l2-ctl --list-frameintervals width=1920,height=1080,pixelformat=YUYV


v4l2-ctl --list-ctrls


v4l2-ctl --get-ctrl=iso_sensitivity


v4l2-ctl --set-ctrl=iso_sensitivity=100

FFmpeg 使用 Video4Linux2 采集摄像头

输入设备

在 ffmpeg 命令中,使用 -f v4l2-f video4linux2 指定视频输入接口为 Video4Linux2。
使用 -i /dev/video0 指定视频输入设备路径为。

1
ffmpeg -f v4l2 -i /dev/video0 -c:v libx264 -preset ultrafast -f mp4 camera-test.mp4

采集格式

使用 -input_format 指定视频输入格式。

1
ffmpeg -f v4l2 -i /dev/video0 -input_format yuyv422 -c:v libx264 -preset ultrafast -f mp4 camera-test.mp4

分辨率

使用 -video_size 指定视频分辨率。

1
2
3
ffmpeg -f v4l2 -i /dev/video0 -video_size 1920x1080 -c:v libx264 -preset ultrafast -f mp4 camera-test.mp4

ffmpeg -f v4l2 -i /dev/video0 -s 1920x1080 -c:v libx264 -preset ultrafast -f mp4 camera-test.mp4

帧率

使用 -framerate 指定视频帧率。

1
ffmpeg -f v4l2 -i /dev/video0 -framerate 30 -c:v libx264 -preset ultrafast -f mp4 camera-test.mp4