Linux oferece captura de vídeo poderosa e flexível — seja pegando webcam, gravando desktop, ou ingerindo de placa de captura. Ferramentas CLI (ffmpeg, GStreamer) oferecem controle máximo; GUIs (OBS, SimpleScreenRecorder) oferecem imediatismo.
v4l2-ctl --list-devices ou ls /dev/video*.sudo apt install ffmpeg gstreamer1.0-tools gstreamer1.0-plugins-{good,bad,ugly,base} v4l-utils (Debian/Ubuntu).video (sudo usermod -aG video $USER, re-login) ou rode com sudo (não ideal).Melhor para scripting, servidores headless, controle preciso, e containers/codecs exóticos.
ffmpeg -f v4l2 -framerate 30 -video_size 1280x720 -i /dev/video0 \
-c:v libx264 -preset veryfast -crf 18 -pix_fmt yuv420p \
-c:a aac -b:a 128k output.mp4
-f v4l2: Input Video4Linux2.-video_size: Deve matchar modo que câmera suporta (cheque v4l2-ctl --list-formats-ext).-preset veryfast -crf 18: H.264 visualmente lossless, encode rápido. Use libx265 / -tag:v hvc1 para HEVC.-pix_fmt yuv420p: Garante compatibilidade com todos players (decoders de hardware).ffmpeg -f x11grab -r 30 -s 1920x1080 -i :0.0 \
-c:v libx264 -preset ultrafast -crf 0 output.mkv
-f x11grab: Grab do framebuffer X11. Para Wayland, use wf-recorder ou OBS.-r 30: Taxa de quadros. Use -framerate para input, -r para output.-crf 0: Lossless RGB (arquivos enormes). Use -crf 18 para perceptual lossless.ffmpeg -f pipewire -framerate 30 -video_size 1920x1080 -i \
-c:v libx264 -preset veryfast -crf 18 output.mp4
Obtenha NODE_ID via pw-dump ou use wf-recorder -g "$(slurp)" -f out.mp4 (seleção interativa de região).
Ideal para embedded, streaming, ou pipelines complexos multi-fonte.
gst-launch-1.0 v4l2src device=/dev/video0 ! \
video/x-raw,width=1280,height=720,framerate=30/1 ! \
videoconvert ! x264enc tune=zerolatency bitrate=6000 speed-preset=fast ! \
mp4mux ! filesink location=webcam.mp4
videoconvert: Negocia formato entre source e encoder.x264enc tune=zerolatency: Crítico para streaming/baixa latência.nvh264enc / vaapih264enc para encode de hardware (NVIDIA/Intel/AMD).| App | Melhor Para | Wayland? | Recursos-Chave |
|---|---|---|---|
| OBS Studio | Streaming, Cenas, Multi-source, Replay Buffer | Sim (PipeWire) | NVENC/VA-API, Filtros, Mixagem de áudio, Virtual Cam |
| SimpleScreenRecorder | Gravação desktop rápida, injeção OpenGL | Parcial (XWayland) | UI simples, Preview ao vivo, Multi-monitor |
| Kooha | GNOME-nativo, UI minimalista | Sim | Região/Janela/Tela, Overlay webcam, Encode hardware |
| wf-recorder | CLI/TUI, Wayland-nativo, scripting | Sim (Nativo) | DMA-BUF, dmabuf feedback, screencopy, alta perf |
| GNOME Screen Recorder | Embutido (Ctrl+Alt+Shift+R) | Sim | Zero config, WebM/VP9 apenas, sem seleção input áudio |
Descarregue encode para GPU (economia massiva de CPU):
-c:v h264_vaapi -vaapi_device /dev/dri/renderD128 -vf 'format=nv12,hwupload' (ffmpeg) ou vaapih264enc (GStreamer).-c:v h264_nvenc -preset p4 -cq 19 (ffmpeg) ou nvh264enc (GStreamer). Requer driver proprietário + nvidia-encoder.Adicione -f pulse -i default (PulseAudio) ou -f pipewire -i (PipeWire) ao ffmpeg. No GStreamer: pulsesrc ou pipewiresrc. OBS lida isso no Audio Mixer.
# Webcam (H.264, hwaccel VA-API) ffmpeg -init_hw_device vaapi=foo:/dev/dri/renderD128 -filter_hw_device foo \
-f v4l2 -i /dev/video0 -vf 'format=nv12|vaapi,hwupload' -c:v h264_vaapi -qp 22 out.mp4 # Screen (Wayland, PipeWire, seleção região via slurp) wf-recorder -g "$(slurp)" -c h264_vaapi -d /dev/dri/renderD128 -f recording.mp4
Comece com OBS para trabalho interativo. Gradué para ffmpeg/GStreamer para automação, servidores, ou pipelines custom. Sempre teste sync de áudio (-itsoffset / async) no seu hardware específico.
Tecnologia Eletrônica © [www.351231.com]