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 

  1. crop的参数格式为w:h:x:y,

  2. w、h为输出视频的宽和高,

  3. x、y标记输入视频中的某点,将该点作为基准点,向右下进行裁剪得到输出视频。

  4. 如果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 的初尝试《FFmpeg 音视频开发基础入门到实战》

一FFmpeg 的初尝试《FFmpeg 音视频开发基础入门到实战》

ffmpeg 命令大全