FFmpeg
基本流程
- 将输入文件的音频、视频..进行拆分,得到编码数据
- 将编码数据进行解码
- 进行编码
- 将音频、视频..合并成一个文件
一些常用参数
- 拆分出音频和视频部分(流的选择)
-vn / -an / -sn / -dn
跳过video, audio, subtitle and data streams - 获取桌面
ffmpeg -f gdigrab -i desktop desktop.jpg
画面模糊
-qscale
取值范围是0.01-255,设置的数值越小,则越清晰 - 设置波特率
-b
- 编码
音频:-c:a 编码格式
-acodec
等价于-codec:a
视频:-c:v 编码格式
-vcodec
等价于-codec:v
- 拷贝流
copy
跳过编码和解码的过程,但是在某些情况下不会工作
- 获取可用设备
ffmpeg -list_devices true -f dshow -i ""
从摄像头获取得到视频
ffmpeg -f dshow -i video="摄像头设备名称" test.mp4
从麦克风获取音频
ffmpeg -f dshow -i audio="录音设备的名称" test.mp3
同时获取视频和音频
ffmpeg -f dshow -i video="摄像头设备名称" -f dshow -i audio="录音设备的名称" test.mp4
相关信息
-
帧率
fps:每秒多少帧
tbr:timebase的rate -
获取视频中的关键帧
分辨率要求相同。
ffmpeg -i video_name.mp4 -vf select='eq(pict_type\,I)' -vsync 2 -s 750*1334 -f image2 core-%02d.jpeg
-
拼接视频
-f concat -i filelist.txt -c copy output_set.mp4