FFmpeg备忘笔记

安装

Linux直接通过包管理器安装,Windows则在官网下载二进制文件并添加到PATH即可使用ffmpeg。

基本使用

FFmpeg可以自动识别输入和输出的格式(通过后缀名或读取信息),并进行简单的转换:

1
2
# -i 表示后面紧跟一个输入
ffmpeg -i from_video.mp4 to_video.avi

如果想要指定转换使用的编码器,码率等:

1
2
3
ffmpeg -i from.avi -c:v libx264 -b:v 1000k out.mp4
# 该命令输入一个avi文件,使用libx264编码器编码视频,音频流让ffmpeg自行处理,且视频码率设置为1000kbps,输出到out.mp4。
# 这里原视频里的音频流一般会被压缩,也会被自动转换为MP4支持的格式。

如果想要使用硬件:

1
ffmpeg -hwaccel cuvid -c:v h264_cuvid -i input.xx -c:v h264_nvenc -preset slow output.xx 

更多高级参数建议看官方文档!

一图流视频生成

Step 1 生成静帧视频

1
ffmpeg -loop 1 -r <每秒帧数> -t <音频秒数/分号间隔时长> -f image2 -i <静帧图片路径> -c:v libx264 -crf 30 -y SinglePictureVideo.mp4

获取音频的秒数可以直接ffmpeg -i <音频文件>,输出的信息里面的带有长度

Step 2 将静帧视频与音频合并

1
ffmpeg -i SinglePictureVideo.mp4 -i <音频文件> -c:v copy -c:a copy -y <输出文件>.flv

FLV仅支持ACC与MP3音频

提取音频、视频流

1
ffmpeg -i Source.mp4 -vn -codec copy out.xxx

-vn:屏蔽视频流,达到提取音频流效果。换为-an即可变为提取视频流。

-codec copy:直接复制流,不转码。

请小心最后的输出格式。


FFmpeg备忘笔记
https://sodacooky.netlify.app/2021/FFmpeg常用功能笔记/
作者
Sodacooky
发布于
2021年11月11日
许可协议