知识图谱

ffmpeg 给视频添加字幕,在视频的某个时间段加入声音特效和动

2021-03-15  本文已影响0人  张清柏

视频中的特效音效处理
视频的剪辑处理

视频中添加字幕

001.mp4                   dianzan.mov               r001.flv                  tx.wav                    皮肤粗糙_棒棒-1.ass

image.png
ffmpeg -i 001.mp4 -vf ass=皮肤粗糙_棒棒-1.ass -b:v 3000K r001.flv

现在我们把动图和特效在视频的第六秒加入

剪辑视频

ffmpeg -i r001.flv -strict -2 -qscale 0 -intra r002.flv 
# 转换关键帧 帧内编码
ffmpeg -t 00:00:06 -i r002.flv -vcodec copy -acodec copy r001_1.flv
# 指定开始时间和结束时间
# ffmpeg -ss 00:00:00 -t 00:00:06 -i r002.flv -vcodec copy -acodec copy r001_1.flv
# -ss 指定从什么时间开始
# -t 指定需要截取多长时间
# -i 指定输入文件
ffmpeg -ss 00:00:06 -i r001.flv -vcodec copy -acodec copy r001_2.flv

视频中加入特效声音

# 从r002.mp4视频中提取音频,文件名字为r002.wav,格式为wav
ffmpeg -i g001_2.flv  -vn -acodec copy g001_2.wav
0.5倍
ffmpeg -i input.wav -af "volume=0.5" output.wav
 
1.5倍
ffmpeg -i input.wav -af "volume=1.5" output.wav
 
使用分貝
ffmpeg -i input.wav -af "volume=5dB" output.wav
ffmpeg -i g001_2.wav -i tx.wav -filter_complex amix=inputs=2:duration=longest:dropout_transition=2 tx_new.wav
ffmpeg -i tx_new.wav -i r001_2.flv -shortest -c copy n001_2.flv

视频中加入动画

ffmpeg -re -i n001_2.flv -vf "movie=dianzan.mov,scale=200*200[test]; [in][test] overlay=x=400:y=100:eof_action=2 [out]" -vcodec libx264 g001_2.flv
#或者使用 gif 也可以 0 重复 1 不重复

合并编辑好的文件

 ffmpeg -i r001_1.flv -c:v libx264 -c:a aac -strict experimental 001.mp4

 ffmpeg -i g001_2.flv -c:v libx264 -c:a aac -strict experimental 002.mp4

ffmpeg -i 001.mp4  -qscale:v 1 101.mpg
ffmpeg -i 002.mp4  -qscale:v 1 102.mpg

创建文件list.txt

zhangguofu@zhangguofudeMacBook-Pro 0312 $ cat list.txt
file 101.mpg
file 102.mpg
ffmpeg -f concat -i list.txt -c copy concat.mpg
ffmpeg -i concat.mpg -qscale:v 1 concat.mp4
ffmpeg -i a.ogg -ss 00:01:02.500 -t 00:01:03.250 -c copy x2.ogg

补充一下播放gif

ffmpeg -y -i 001.mp4  -ignore_loop 0 -i 87.gif   -filter_complex '[0:0]scale=iw:ih[a];[1:0]scale=iw/4:-1[wm];[a][wm]overlay=x=0:2:shortest=1' s01.mp4
上一篇 下一篇

猜你喜欢

热点阅读