FFMPEG使用
Posted 陈国文21
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FFMPEG使用相关的知识,希望对你有一定的参考价值。
视频水平和竖直拼接:
将两个视频水平连接起来
ffmpeg -i 0.mp4 -i 1.mp4 -filter_complex hstack output.mp4
将两个视频垂直连接起来
ffmpeg -i 0.mp4 -i 1.mp4 -filter_complex vstack output.mp4
jpg转为png
ffmpeg -i 00001.jpg -vf scale=746:1684 -y 00001.png
批量png生成视频
ffmpeg -i %5d.png -c:v libx264 -pix_fmt yuv420p -crf 18 -y test.mp4
视频时间裁剪:
ffmpeg -ss [start] -t [duration] -accurate_seek -i [in].mp4 -codec copy [out].mp4
ffmpeg -ss 6.7 -i kepu3.mp4 out1.mp4
视频空间裁剪
ffmpeg -i 1.mp4 -vf crop=410:720 out.mp4
-
crop的参数格式为w:h:x:y,
-
w、h为输出视频的宽和高,
-
x、y标记输入视频中的某点,将该点作为基准点,向右下进行裁剪得到输出视频。
-
如果x y不写的话,默认居中剪切
视频旋转180度
ffmpeg -i input.mp4 -vf "transpose=2,transpose=2" output.mp4
avi转换成mp4
.\\ffmpeg.exe -i xxx.avi -c:v libx264 -pix_fmt yuv420p -y yyy.mp4
更改视频帧率,不改变时长:
ffmpeg -i in.mp4 -r 30 out.mp4
更改视频帧率,改变时长:
1. 降低FPS,增加视频时长
说对于输入文件是40帧的媒体,我们可以通过
ffmpeg -r 80 -i input output
ffmpeg -r 20 -i input output
使其输出文件的时长分别为原来的一半和两倍,即播放速度为原来的两倍和一半。
2. 降低视频FPS,视频时长不变,视频质量变差
如果我们认为40帧的文件码流太大,我们可以通过降低输出文件帧率的方法降低码流:
ffmpeg -i input -r 20 output
这样输出文件的码流理论上为输入文件的一半左右。
-r 所在位置不同,决定其参数是对输入视频还是输出视频起作用。
视频图片缩放:scale=w:h 哪一维度自动计算的话,可以填写-1
ffmpeg -i input.avi -vf scale=320:240 output.avi
音视频合成
声音文件和视频文件合成新的新的视频:
ffmpeg -i output.mp4 -i demo.wav -c:v copy -c:a aac -strict experimental demo_wav.mp4
ffmpeg -r 60 -i inputjpg out.mp4 意味着视频总长度会随帧率变化
ffmpeg -i inputjpg -r 60 out.mp4 意味着按照25帧一秒计算总视频时长,时长不会变
改变wav的采样帧率:
ffmpeg -i input.wav -ar 16000 -b: 256k output.wav
图片和视频转换:
图片生成视频
ffmpeg -i %d.jpg out.mp4
视频生成图片:
ffmpeg -i output.mp4 -r 30 %d.jpeg
ffmpeg的控制参数:
1 静默输出
-loglevel panic
ffmpeg实际上默认的制作视频帧率是25FPS,如果你采用25fps就能刚好把每一张图都用上,但是无论你怎么设置帧率,你的1000个jpg所能生成的视频长度都是1000/25=40s,而不是其他数值。
2 默认同意控制符
-y
3 默认否认控制符,无后面输入
-n
4 帧率控制(如-r 25 代表帧率为25)
- -r
- is the framerate (fps)
5 视频质量:目前ffmpeg不太支持了
- -crf
- is the quality, lower means better quality, 15-25 is usually good
6 视频分辨率
- -s
- is the resolution
7 图像格式
- -pix_fmt yuv420p
- specifies the pixel format, change this as needed
如何在ffmpeg中使用滤镜技术
参考技术A presence at ten a. m. precisely,以上是关于FFMPEG使用的主要内容,如果未能解决你的问题,请参考以下文章
一FFmpeg 的初尝试《FFmpeg 音视频开发基础入门到实战》
一FFmpeg 的初尝试《FFmpeg 音视频开发基础入门到实战》
一FFmpeg 的初尝试《FFmpeg 音视频开发基础入门到实战》