FFmpeg命令使用setpts和atempo选项使音频和视频不匹配

时间:2017-12-23 09:54:48

标签: android audio video ffmpeg command

我想准确加快音频和视频的速度。

执行此命令时,视频生成成功。但视频仍然与输入视频和音频正常加速,如何纠正这个问题。

我对这个场景的命令是:(我在android中实现了这个)

-i, /storage/emulated/0/MP4_20171222_191425.mp4, \
-i, /data/user/0/22122017_071452.png, \
-i, /data/user/0/22122017_0714550.png, \
-filter_complex, [1:v]scale=185:187[ovr1];\
[2:v]scale=115:118[ovr2];\
[0:v][ovr1] overlay=x=336.68634:y=5.8838935 [tmp];\
[tmp][ovr2] overlay=x=110.51852:y=105.864914; \
[0:v]setpts=0.5*PTS[v];\
[0:a]atempo=2.0[a], \
-map, [v], \
-map, [a], \
-c:v, libx264, \
-c:a, aac, \
-r, 60, \
-preset, ultrafast, \
/storage/emulated/0/Vid_22122017_071455.mp4

我做错了什么? 感谢。

1 个答案:

答案 0 :(得分:2)

您必须将setpts应用于已处理的视频流,所以

...
[tmp][ovr2] overlay=x=110.51852:y=105.864914,setpts=0.5*PTS[v];\
[0:a]atempo=2.0[a], \
-map, [v], \
...