【FFmpeg】Common command

1.视频拼接

1)多视频拼接

bash 复制代码
创建1.txt
file '1.mp4'
file '2.mp4'
file '3.mp4'
file '4.mp4'

运行

bash 复制代码
ffmpeg -f concat -safe 0 -i "1.txt" -c copy "output6.mp4"

2.音量调节

1)简单调节

bash 复制代码
ffmpeg  -i bg.mp3 -i output6.mp4 -filter_complex "[0:a]volume=0.3[a1];[1:a]volume=1.5[a2];[a2][a1]amix=inputs=2:duration=first" -y BGM.mp4

2)音量归一化

对每个视频进行:

bash 复制代码
ffmpeg -i input1.mp4 -af loudnorm=I=-16:TP=-1.5:LRA=11:measured_I=-22.3:measured_TP=-1.0:measured_LRA=10.5:measured_thresh=-32.0:linear=true:print_format=summary normalized_output1.mp4

最后拼接在一起

3.字幕添加

bash 复制代码
 ffmpeg -y -i output2.mp4 -vf subtitles=2.ass 2.mp4

4.转场

1)Xfade

https://trac.ffmpeg.org/wiki/Xfade

bash 复制代码
ffmpeg -loop 1 -t 5 -i 1.png -loop 1 -t 5 -i 2.png -filter_complex "[0][1]xfade=transition=fade:duration=1:offset=4,format=yuv420p" output.mp4

2)gl-transitions

GL Transitions (gl-transitions.com)

环境配置

bash 复制代码
Xvfb :1 -screen 0 1280x1024x16

export DISPLAY=:99
ffmpeg -i 0.mp4 -i 1.mp4 -filter_complex "gltransition=duration=4:offset=1.5:source=crosswarp.glsl" -y out.mp4

5.生成黑色视频以及字幕ass转GIF

生成黑色视频

bash 复制代码
ffmpeg -f lavfi -i color=c=black:s=720x1280:d=10 -c:v libx264 -tune stillimage -pix_fmt yuv420p output_black.mp4 

ass转gif

bash 复制代码
ffmpeg -i output_black.mp4 -vf "subtitles=1.ass:force_style='Alignment=2',format=rgba" -pix_fmt rgba output.gif -y 

gif烧录到视频中

bash 复制代码
ffmpeg -i DEMO3.mp4 -stream_loop -1 -i output.gif -filter_complex "[1:v]setpts=PTS-STARTPTS+19/TB,colorkey=0x000000:0.3:0.1[v2];[0:v][v2]overlay=0:0:enable='between(t,19,35)':shortest=1" -c:a copy output_with_gif.mp4 -y 
相关推荐
aqi001 天前
FFmpeg开发笔记(六十四)使用国产的RedPlayer播放器观看网络视频
android·ffmpeg·音视频·直播·流媒体
道剑剑非道2 天前
QT开发技术【ffmpeg + QAudioOutput】音乐播放器 完善
开发语言·qt·ffmpeg
毒果2 天前
FFmpeg 低延迟同屏方案
ffmpeg·同屏
aqi002 天前
FFmpeg开发笔记(六十三)FFmpeg使用vvenc把视频转为H.266编码
ffmpeg·音视频·直播·流媒体
梧桐樹下3 天前
FFmpeg avformat_open_input函数分析
ffmpeg
道剑剑非道3 天前
QT开发技术【ffmpeg + QAudioOutput】音乐播放器
开发语言·qt·ffmpeg
IOsetting3 天前
Ubuntu24.04 交叉编译 aarch64 ffmpeg
ffmpeg
却道天凉_好个秋3 天前
ffmpeg(三):处理原始数据命令
ffmpeg
@残梦3 天前
129、QT搭建FFmpeg环境
开发语言·qt·ffmpeg
阿飞__4 天前
C++ 使用 ffmpeg 解码本地视频并获取每帧的YUV数据
c++·ffmpeg·音视频