ffmpeg 常用功能

录屏

参考官方文档: https://trac.ffmpeg.org/wiki/Capture/Desktop

1.查看当前设备支持的视频源(录屏或者摄像头、声音等)

windows 需下载 setup Virtual Audio Capture GrabberSetup.Screen.Capturer.Recorder 捕获音视频信息, nodejs 可使用 ffmpeg-device-list-parser 这个 node 包获取当前支持的设备

# win 下使用 dshow
ffmpeg -f dshow -list_devices true  -i dummy

# mac 下使用 avfoundation
ffmpeg -f avfoundation -list_devices true -i ""

2.开始录屏

# win下使用 gdigrab 支持 video_size 等参数
ffmpeg -rtbufsize 100M -f gdigrab -framerate 30    -video_size 600x480 -offset_x 100 -offset_y 60  -r 30   -i desktop   -f dshow -i audio="virtual-audio-capturer"     -vcodec libx264  o.mp4
  h264_nvenc

# mac 下使用 avfoundation
ffmpeg -f avfoundation  -capture_cursor "1"  -i "0:0" output.mkv

# 截屏
ffmpeg  -f gdigrab  -i desktop  -vframes 1 output.jpg

ffmpeg -f alsa -ac 1 -i pulse -acodec aac -f x11grab -s 1024x600 -i :0.0 -sameq  a.mp4

ffmpeg -f x11grab -s 1440x900 -i :0 -preset ultrafast -crf 10  a.mkv

转码

视频转码:

ffmpeg -i 1.mp4  1.avi

视频转码 + 水印:

ffmpeg -i 1.mp4 -i watermark.png -filter_complex "[1:v]scale=128:128[v1];[0:v][v1]overlay=100:100" water.mp4

分离

将视频中的视频信号分离,(无声):

ffmpeg -i 1.avi -vcodec copy -an 1_v.avi

将视频中的音频信号分离,(无图像):

ffmpeg -i 1.avi -vn -acodec copy output-audio.wav

截取

视频截取:


# 按时间
ffmpeg -i 1.mp4 -ss 00:00:03 -t 00:00:08 -async 1 cut.mp4

# 按区域
ffmpeg -i 1.mp4 -vf crop=width:height:x:y  cut.mp4

将视频某一帧输出为图像:

60 为每隔 60 秒输出一张

ffmpeg -i  1.mp4 -vf fps=1/60 img%03d.jpg

音频

音频转码:

ffmpeg -i 1.mp3 -map_metadata 0:s:0 out1.ogg
ffmpeg -i 1.mp3 -map_metadata 0:s:0 out2.aac
ffmpeg -i 1.mp3 -map_metadata 0:s:0 out3.wma
留言:

称呼:*

邮件:

网站:

内容: