- 到http://ffmpeg.org/download.html下载FFmpeg Windows版本并解压
- 把解压路径
D:\CommonDev\FFmpeg\FFmpegWindows\ffmpeg-20191207-70e292b-win64-static\bin
添加到环境变量中
ffmpeg -f gdigrab -framerate 30 -offset_x 0 -offset_y 0 -video_size 1920*1080 -i desktop out.mpg
gdigrab:表明通过gdi抓屏的方式(mac下 avfoundation)
-framerate 30:表示录制的帧率为30
-offset_x:左上偏移量x
-offset_y:左上偏移量y
-video_size:需要录制的宽度和高度,这里录制的是整个屏幕
-i:输入路径和名称以及格式mpg
desktop:告诉FFmpeg我们录制的是屏幕,而不是一个窗口(可以录制一个窗口,不过得用窗口的ID)
Ctrl + c
取消录制命令
定义:将完整的视频文件进行拆分,将拆分的信息作为素材,合成所需要的新视频。
ffmpeg -i input.mp4 -acodec copy -vn out.aac
acodec:指定音频编码器,copy 指明只拷贝,不做编解码
vn:v代表视频,n代码no也就是无视频的意思
ffmpeg -i input.mp4 -vcodec copy -an out.h264
vcodec:指定视频编码器,copy 指明只拷贝,不做编解码
an:a代表音频,n代表no也就是无音频的意思
ffmpeg -i out.h264 -i out.aac -vcodec copy -acodec copy out.mp4
定义:获取未经过编码的画面和音频。画面信息一般为yuv,音频信息为pcm。
ffmpeg -i input.mp4 -an -c:v rawvideo -pix_fmt yuv420p out.yuv
-c:v rawvideo 指定将视频转成原始数据
-pixel_format yuv420p 指定转换格式为yuv420p
未经过编码的数据需要用到ffplay播放:ffplay -video_size 1920*1080 out.yuv
遗留问题:
采用此种方式提取的视频源文件播放时速度明显加快很多,不知何故?
ffmpeg -i input.mp4 -vn -ar 44100 -ac 2 -f s16le out.pcm
-ar:指定音频采样率44100 即44.1KHz
-ac:指定音频声道channel 2 为双声道
-f:数据存储格式 s:Signed 有符号的;16:每一个数值用16位表示;l:little;e:end
未经过编码的数据需要用到ffplay播放:ffplay -ar 44100 -ac 2 -f s16le out.pcm
ffmpeg -i input.mp4 -vf crop=in_w-200:in_h-200 -c:v libx264 -c:a copy crop.mp4
crop=in_w-200:in_h-200 裁剪视频后的宽高(这里是视频原本的宽高-200)
-c:v libx264 通过libx264工具来进行编码
-c:a copy 对音频直接进行拷贝
ffmpeg -i input.mp4 -vn -ar 44100 -ac 2 -f s16le out.pcm
ffmpeg -i out.mp4 -vcodec copy -acodec copy out.flv