
-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]的意思为:第一个输入文件的音频资源
先用ffmpeg查看视频文件信息: # ffmpeg -i a.MPG Input #0, mpeg, from 'a.MPG': Duration: 00:00:32.32, start: 245.117611, bitrate: 8581 kb/s Stream #0.0[0x1e0]: Video: mpeg2video, yuv420p, 720x480 [PAR 32:27 DAR 16:9]。
9800 kb/s, 59.94 tbr, 90k tbn, 59.94 tbc Stream #0.1[0x31]: Subtitle: dvdsub Stream #0.2[0x81]: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s Stream #0.3[0x82]: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s Stream #0.4[0x80]: Audio: ac3, 48000 Hz, 5.1。
s16, 448 kb/s Stream #0.5[0x83]: Audio: ac3, 48000 Hz, stereo, s16, 160 kb/s Stream #0.6[0x84]: Audio: ac3, 48000 Hz, stereo, s16, 160 kb/s Stream #0.7[0x85]: Audio: ac3, 48000 Hz, stereo, s16。
192 kb/s Stream #0.8[0x2d]: Subtitle: dvdsub Stream #0.9[0x2e]: Subtitle: dvdsub Stream #0.10[0x2f]: Subtitle: dvdsub Stream #0.11[0x24]: Subtitle: dvdsub Stream #0.12[0x30]: Subtitle。
dvdsub Stream #0.13[0x2a]: Subtitle: dvdsub Stream #0.14[0x2b]: Subtitle: dvdsub Stream #0.15[0x2c]: Subtitle: dvdsub Stream #0.16[0x23]: Subtitle: dvdsub。
转制音频文件可以看到Audio的Stream有2-7个,分别获取这几个audio音轨的命令。
使用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
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)