FFmpeg常用命令详解

FFmpeg常用命令

1 录制命令

ffmpeg -f gdigrab -framerate 30 -offset_x 0 -offset_y 0 -video_size 1920*1080 -i desktop out.mpg
-gdigrab:表明我们是通过gdi抓屏的方式;(mac下avfoundation)
–framerate30.•表示我录制的帧率为30;
–offset_x:左上偏移量X;
–offset_y:左上偏移量Y;
–video_size:需要录制的宽度和高度,这是我是整个屏幕;
–i:输入路径和名称以及格式mpg;
-desktop:告诉ffmpeg我们录的是屏幕,而不是一个窗囗(可以录制一个窗口,不过得用窗囗的|D)。

2 分解复用命令

将完整的视频文件进行拆分。将拆分的信息作为素材,合成所需要的新视频。

第一步(抽取音频流)
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

3 转换格式

ffmpeg -i out.mp4 -vcodec copy -acodec copy out.flv

4 处理原始数据

获取为经过编码的画面和音频。画面信息(一般是yuv),音频信息是(pcm)

提取YUV数据
ffmpeg -i input.mp4 -an -c:v rawvideo -pix_fmt yuv420p out.yuv
-c:v rawvideo指定将视频转成原始数据
-pixel_format yuv420p指定转换格式为yuv420p
未经过编码的数据需要用到ffp[ay播放(ffplay -s 608x368 out.yuv)

提取PCM数据
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)

5 滤镜

裁剪滤镜
ffmpeg -i input.mp4 -vf crop=in_w-200:in_h-200 -c:v lib×264 -c:a copy crop.mp4
提取PCM数据
ffmpeg -i input.mp4 -vn -ar 44100 -ac 2 -f s16le out.pcm

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值