FFmpeg示例(持续更新中)

作者:小虾米 发表时间:2024-03-13 18:18:21 类别:Linux

一张图片生成25帧的MP4视频

~:ffmpeg -loop 1 -framerate 25 -i 1.jpg -c:v libx264 -pix_fmt yuv420p -t 5 ./output.mp4

 

多张图片生成25帧的MP4视频,每张图片的时长不能一一定义

ffmpeg -y -framerate 25 -i ./pic2022/v%d.png -filter_complex "scale=1920:1080, setpts=PTS/TIMEBASE" -c:v libx264 -pix_fmt yuv420p ./m2.mp4
## PTS = 1秒/帧率 是FFMPEG的预变量,自动计算
## DURATION 是所需的每张图片的播放时长
## 每张图片时长计算方法:PTS/TIMEBASE=DURATION  TIMEBASE=PTS/DURATION
## 示例:有3张图片,每张图片播放5秒,帧率为25,则PTS为1/25=0.04,TIMEBASE=0.04/5=0.008
ffmpeg -y -framerate 25 -i ./pic2022/v%d.png -filter_complex "scale=1920:1080, setpts=PTS/0.008" -c:v libx264 -pix_fmt yuv420p ./m2.mp4

 

一张1920x1080的图片和一个720x720的视频做拼接,图片在下面,视频在上面,视频的位置在右边,并将原视频更改为720x1080,生成一个新的mp4视频,时长以原视频时长为准

ffmpeg -y -loop 1 -i 1.jpg -i 5.mp4 -filter_complex "[0:v]scale=1920:1080,pad=1920:1080:0:0[bg];[1:v]scale=720:1080[v1s];[bg][v1s]overlay=1200:0" -c:a copy -shortest 20230511-06.mp4 -v error

 

使用ffprobe获取视频信息,并保存到txt文件

ffprobe -i input.mp4 -show_streams -show_format -print_format ini > output.txt

 

视频大小剪切

ffmpeg -i input_video.mp4 -vf "crop=w:h:x:y" -c:v libx264 -c:a copy output_cropped_video.mp4

 

视频拉长

ffmpeg -i 3s.mp4 -filter_complex "loop=loop=-1:size=3*25[out]" -map "[out]" -c:v libx264 -t 49 3-49s.mp4 -v error
# loop=loop=-1 无限循环
# size=3*25  视频时长3秒,帧率:25帧

 

多个图片、多个视频合成新的视频

图片格式为png或jpg

视频格式mp4

图片生成的视频时长可各不相同,根据时长预设不同时长的无声音频流

如果相同,只生成一条无声音频流即可

叠加顺序取决于最后的[v0][v1]...[v3]...[vn],音频顺序需要跟视频顺序相同

### 叠加顺序取决于最后的[v0][v1]...[v3]...[vn],音频顺序需要跟视频顺序相同
### -b:v 比特率 -c:v 视频编码器 -c:a 音频编码器 -r 输出帧率 -threads 占用的线程数
ffmpeg -y \
-t 10 -framerate 25 -loop 1 -i 1.jpg \
-t 18 -framerate 25 -loop 1 -i 2.jpg \
-i 1-copy.mp4 \
-i 2-copy.mp4 \
-f lavfi -t 10 -i anullsrc=r=44100:cl=stereo \
-f lavfi -t 18 -i anullsrc=r=44100:cl=stereo \
-filter_complex "\
[0:v]fps=25,scale=1920x1080[v0];\
[1:v]fps=25,scale=1920x1080[v1];\
[2:v]fps=25,scale=1920x1080[v2];\
[3:v]fps=25,scale=1920x1080[v3];\
[v0][v2][v1][v3]concat=n=4:v=1:a=0[v];[4:a][2:a][5:a][3:a]concat=4:v=0:a=1[a]" \
-map "[v]" -map "[a]" -b:v 10M -c:v libx264 -c:a aac -r 25 -threads 2 23091904.mp4

 

原创,转载请注明来源

沪ICP备17012897号-1 | Copyright ©2024