5

FFmpeg 命令行工具 - 预设、交错式视频、采集设备和颜色调整

 3 years ago
source link: http://blog.danthought.com/programming/2020/11/28/ffmpeg-tools-capture-devices-and-color-adjust/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

FFmpeg 命令行工具 - 预设、交错式视频、采集设备和颜色调整

这篇文章讲解 FFmpeg 命令行工具中预设、交错式视频、采集设备和颜色调整相关的功能。

Editing Video

将一些配置信息做为键值对放在 .ffpreset 文件中:

vcodec=flv # video codec
b:v=300k # video bitrate
g=160 # group of picture size
mbd=2 # macroblock decision algorithm
flags=+aic+mv0+mv4 # aic - h263 advanced intra coding; always try a mb with mv=<0,0>; mv4 - use 4 motion vector by macroblock
trellis=1 # rate-distortion optimal quantization
ac=1 # number of audio channels
ar=22050 # audio sampling rate
b:a=56k # audio bitrate

使用预设文件:

ffmpeg -i input.avi -f flv -r 29.97 -vf scale=320:240 -aspect 4:3 -cmp dct -subcmp dct -fpre flv.ffpreset output.flv

交错式视频 Interlaced Video

An interlacing is a technology invented during development of monochrome analog TV to eliminate flicker of old CRT monitors. The video frame is divided horizontally to regular lines and then to 2 fields, where the first field contains odd lines and the second field contains even lines.

通过视频过滤器来进行转换。

ffmpeg -i input.vob -vf setfield=tff output.mov

查看设备列表

macOS 下查看设备列表:

ffmpeg -devices

输出结果:

Devices:
 D. = Demuxing supported
 .E = Muxing supported
 --
 D  avfoundation    AVFoundation input device
 D  lavfi           Libavfilter virtual input device
  E sdl,sdl2        SDL2 output device

macOS 下查看 avfoundation 支持的设备列表:

ffmpeg -f avfoundation -list_devices true -i ""

输出结果:

[AVFoundation input device @ 0x7fc6acf04cc0] AVFoundation video devices:
[AVFoundation input device @ 0x7fc6acf04cc0] [0] FaceTime高清摄像头(内建)
[AVFoundation input device @ 0x7fc6acf04cc0] [1] Capture screen 0
[AVFoundation input device @ 0x7fc6acf04cc0] AVFoundation audio devices:
[AVFoundation input device @ 0x7fc6acf04cc0] [0] Built-in Microphone

采集内置摄像头

macOS 下采集内置摄像头到视频文件:

ffmpeg -f avfoundation -framerate 30 -pixel_format yuyv422 -i "FaceTime高清摄像头(内建)" out.mp4

macOS 下预览内置摄像头:

ffplay -f avfoundation -framerate 30 -pixel_format yuyv422 -i "FaceTime高清摄像头(内建)"

macOS 下采集桌面到视频文件:

ffmpeg -f avfoundation -pixel_format uyvy422 -i "Capture screen 0" -r:v 30 out.mp4

带上鼠标的图像:

ffmpeg -f avfoundation -pixel_format uyvy422 -capture_cursor 1 -i "Capture screen 0" -r:v 30 out.mp4

采集麦克风

macOS 下采集麦克风到音频文件:

ffmpeg -f avfoundation -framerate 30 -pixel_format yuyv422 -i "0:0" -t 10 mic.aac

其他操作系统

参考 FFmpeg 从入门到精通 - 第 7 章 FFmpeg 采集设备

LUT (Lookup Table)

输入的像素格式可以是 YUV 或者 RGB:

ffplay -f lavfi -i smptebars -vf lut=c1=128:c2=128

输入的像素格式是 YUV:

ffplay -f lavfi -i smptebars -vf lutyuv=u=128:v=128

输入的像素格式是 RGB:

ffplay -f lavfi -i rgbtestsrc -vf lutrgb=r=0:g=0

调整强度 Intensity

ffplay -f lavfi -i rgbtestsrc -vf lutrgb=b=val*2

调整明亮度 Brightness

ffplay -f lavfi -i rgbtestsrc -vf lutyuv=y=val*0.9

调整色相 Hue

ffplay -i coconut.jpg -vf hue=60

调整饱和度 Saturation

ffplay -i strawberry.jpg -vf hue=s=5

可以通过过滤器 overlay 组成过滤器图来同时显示多个效果进行比较。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK