FFMpeg学习——2 基本命令

1 环境

  系统:win10
  ffmpeg:ffmpeg 4.4

2 基本用法

下载ffmpeg,在bin目录下的工具:

  • ffmpeg:音频、视频编码器/解码器
  • ffplay:多媒体播放器
  • ffprobe:多媒体文件特征解析

打开cmd窗口,进入ffmpeg/bin目录,将测试文件放到相同目录下,使用示例

//将input.avi文件转换为码率为640kbps的output.ts文件
ffmpeg -i input.avi -b:v 640k output.ts

//播放
ffplay input.avi 

-i:输入

3 处理流程

在这里插入图片描述
demuxer:提取文件中压缩的音视频流
decoder:将压缩的音视频流解码
encoder:压缩原始数据
muxer:将压缩的音视频数据重新封装,组成对应格式的文件

4 常用指令

4.1 查询命令

在这里插入图片描述

4.2 录屏

先安装 dshow 软件 Screen Capturer Recorder
(1)录音
查看设备:Windows DirectShow输入设备,用于采集windows下的视频和音频设备。

ffmpeg -list_devices true -f dshow -i dummy

录制系统声音

ffmpeg -f dshow -i audio="virtual-audio-capturer" a-out.aac 

(2)录屏
录制桌面视频

ffmpeg -f dshow -i video="screen-capture-recorder" v-out.mp4

(3)录音+视频

ffmpeg -f dshow -i video=“screen-capture-recorder” -f dshow -i audio=“virtual-audio-capturer” -r 20 -vcodec libx264 -acodec libmp3lame ffmpeg01.mp4

4.3 分解与复用

将mp4转换为flv

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

-copy:对抽取的数据不处理
抽取音视频

ffmpeg -i in.mp4 -vcodec copy -an out.h264
ffmpeg -i in.mp4 -vn -acodec copy out.aac

-an:不处理音频
-vn:不处理视频

4.4 处理原始数据

(1)提取yuv

ffmpeg -i in.mp4 -an -c:v rawvideo -pix_fmt yuv420p yuv.yuv

-c:v:对视频进行编码
rawvideo:原始视频
-pix_fmt:像素格式
播放时要设置分辨率

ffplay -s 1920x1080 yuv.yuv

(2)提取pcm

ffmpeg -i out.mp4 -vn -ar 44100 -ac 2 -f s16le pcm.pcm

-ar:音频采样率,44100b
-ac:声道,1:单声道;2:双声道;3:立体声道
-f:格式,s16le,有符号 16 位小端
播放

ffplay -ar 44100 -ac 2 -f s16le yuv.yuv

4.5 滤镜

对视频大小进行裁剪,将视频宽、高都减去100

ffmpeg -i in.mp4 -vf crop=in_w-100:in_h-100 -c:v h264 -c:a copy crop.mp4

-vf:表示使用滤镜命令,参数是crop=in_w-100:in_h-100,裁剪输入文件宽减去100,高减去100
-c:v:使用视频编码器是h264
-c:a:音频解码器,copy表示直接复制

添加水印

ffmpeg -i in.mp4 -vf "drawtext=fontsize=100:fontfile=FreeSerif.ttf:text='hello':x=20:y=20" word.mp4 

4.6 裁剪与合并

(1)裁剪
截取10s视频

ffmpeg -i in.mp4 -ss 00:00:00 -t 10 crops.mp4

-ss:指定开始时间
-t:指定要裁剪多长时间,单位s

(2)合并
创建input.txt文件,并输入需要合并的文件名

file '1.ts'
file '2.ts'

执行合并命令

ffmpeg -f concat -i input.txt concat.mp4

4.7 图片与视频互转

(1)视频转图片

ffmpeg -i in.mp4 -r 1 -f image2 image-%3d.jpg

-r:视频转图片帧率,1指1秒转1张图片
-f:使用格式,image2格式
image-%3d:转换的图片以image开头,后面带3个数字
(2)图片转视频

ffmpeg -i image-%3d.jpg cover.mp4

4.8 拉流和推流

拉流

ffmpeg -i http://ivi.bupt.edu.cn/hls/cctv1hd.m3u8 -c copy pull.m3u8

推流

ffmpeg -re -i test.mp4 -c copy -f flv rtmp://server/live/streamName

-re:减慢帧率速度

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值