android ffmpeg视频添加字幕和配音

android ffmpeg视频添加字幕和配音,第1张

使用ffmpeg三方:https://github.com/abyuthup/mobile-ffmpeg

兼容处理android10的不能 *** 作二进制文件流问题;

1、添加字幕

主要命令:-i videoPath.mp4 -q 5 -vf ass=subtitle.ass -y outPath.mp4

其中-q 5命令是为了生成的视频不会很模糊

2、添加字幕和配音

ffmpeg在特定的时间混合一个或多个音频,参考文章

如何在指定的时间点向视频插入配音文件即音频文件,参考文章

主要命令:ffmpeg -y -i video1.mp4 -i audio1.mp3 -i audio2.mp3 -filter_complex "[1]atrim=0:5,adelay=3000|3000[aud1][2]atrim=0:6,adelay=10000|10000[aud2][aud1][aud2]amix=2,apad,atrim=0:20[a]" -map 0:v -map "[a]" -c:v copy -ac 2 output.mp4

最近有一个需求,需要将多个音频文件延时插入到一段视频中,经过学习,得到以下命令:

-y -i videoSource.mp4 -i test1.mp3 -i test2.mp3 -i test3.mp3 -filter_complex [1]adelay=5000|5000=[s1][2]adelay=15000|15000=[s2][3]adelay=25000|25000=[s3][0:a][s1][s2][s3]amix=4[a] -map 0:v -map [a] -c:v copy result.mp4

如果不需要视频原声,则修改命令为:

-y -i videoSource.mp4 -i test1.mp3 -i test2.mp3 -i test3.mp3 -filter_complex [1]adelay=5000|5000=[s1][2]adelay=15000|15000=[s2][3]adelay=25000|25000=[s3][s1][s2][s3]amix=3[a] -map 0:v -map [a] -c:v copy result.mp4

以上命令为Android使用,如果需要在windows使用,则需要修改为:

-y -i videoSource.mp4 -i test1.mp3 -i test2.mp3 -i test3.mp3 -filter_complex "[1]adelay=5000|5000=[s1][2]adelay=15000|15000=[s2][3]adelay=25000|25000=[s3][s1][s2][s3]amix=3[a]" -map 0:v -map "[a]" -c:v copy result.mp4

其中

[1]adelay=5000|5000=[s1]的意思为:取第二个输入文件的音轨(下标从0开始)并延时5000毫秒

[0:a]的意思为:第一个输入文件的音频资源


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11382490.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-15
下一篇2023-05-15

发表评论

登录后才能评论

评论列表(0条)

    保存