
安装#
Linux直接通过包管理器安装,Windows则在官网下载二进制文件并添加到PATH即可使用ffmpeg。
基本使用#
FFmpeg可以自动识别输入和输出的格式(通过后缀名或读取信息),并进行简单的转换:
# -i 表示后面紧跟一个输入
ffmpeg -i from_video.mp4 to_video.avi如果想要指定转换使用的编码器,码率等:
ffmpeg -i from.avi -c:v libx264 -b:v 1000k out.mp4
# 该命令输入一个avi文件,使用libx264编码器编码视频,音频流让ffmpeg自行处理,且视频码率设置为1000kbps,输出到out.mp4。
# 这里原视频里的音频流一般会被压缩,也会被自动转换为MP4支持的格式。如果想要使用硬件:
ffmpeg -hwaccel cuvid -c:v h264_cuvid -i input.xx -c:v h264_nvenc -preset slow output.xx 更多高级参数建议看官方文档!
一图流视频生成#
Step 1 生成静帧视频#
ffmpeg -loop 1 -r <每秒帧数> -t <音频秒数/分号间隔时长> -f image2 -i <静帧图片路径> -c:v libx264 -crf 30 -y SinglePictureVideo.mp4获取音频的秒数可以直接
ffmpeg -i <音频文件>,输出的信息里面的带有长度
Step 2 将静帧视频与音频合并#
ffmpeg -i SinglePictureVideo.mp4 -i <音频文件> -c:v copy -c:a copy -y <输出文件>.flvFLV仅支持ACC与MP3音频
提取音频、视频流#
ffmpeg -i Source.mp4 -vn -codec copy out.xxx-vn:屏蔽视频流,达到提取音频流效果。换为-an即可变为提取视频流。
-codec copy:直接复制流,不转码。
请小心最后的输出格式。
