我有4个要覆盖和连接的电影文件:
这是我用来执行所有操作的命令:
printf("%.*s", (int)bufferSize, buffer);
尽管它看起来很丑陋,但大多数情况下都可以工作-除了音频。简介片段开始播放后,音频即开始播放。我无法使用覆盖的影片创建输出文件,因为我还需要为前奏和外奏添加淡出和淡入效果。我只能重新编码一次,因为每晚我都会在多个大文件上进行编码。
请提出我可能如何解决音频问题。
答案 0 :(得分:0)
解决方案很容易-只需在第二个concat中显式连接文件的音频和视频即可。这是命令:
ffmpeg -i temp_intro.mp4 -f concat -i tempFile.txt -i scoreboard.mp4 -i temp_outro.mp4 \
-filter_complex "[1]trim=end=24:start=12[s0];[s0]setpts=PTS-STARTPTS[s1];[1]atrim=end=24:start=12[s2];[s2]asetpts=PTS-STARTPTS[s3]; \
[2]format=yuva444p[s4];[s4]colorchannelmixer=aa=0.5[s5]; \
[s1][s5]overlay=eof_action=repeat:x=(main_w-overlay_w)/2:y=main_h-overlay_h-20[s7]; \
[0:v:0][0:a:0] [s7][s3] [3:v:0][3:a:0]concat=n=3:v=1:a=1[s8]" -map [s8] test.mp4