ffmpeg:将视频与多个mp3合并时出现问题(atrim + concat)

时间:2018-12-17 15:25:42

标签: ffmpeg concatenation video-editing

我有一个视频,我想与多个mp3文件合并。合并之前,应修剪Mp3文件。音频文件应在其他时间替换输入视频中的音频-应该播放视频中的原始音频。

我通过命令执行此操作:

ffmpeg -i inputVideo.ts \
-i audio1.mp3 \
-i audio2.mp3 \
-filter_complex "[0]atrim=0:6,asetpts=PTS-STARTPTS[part0];[1]atrim=17:31,asetpts=PTS-STARTPTS[part1];[0]atrim=20:39,asetpts=PTS-STARTPTS[part2];[2]atrim=108:144,asetpts=PTS-STARTPTS[part3];[2]atrim=153:172,asetpts=PTS-STARTPTS[part4];[part0][part1][part2][part3][part4]concat=n=5:v=0:a=1[aout]" \
-map 0:v \
-map [aout] \
-c:v copy \
-c:a aac \
-async 1000 \
out.ts

问题:

  • 产生的视频(out.ts)看起来很破损-可以播放,但是如果我尝试搜索(向前/向后)-可能会冻结帧并播放声音。

  • 如果我将out.ts转换为mp4,则最终持续时间将比原始时间长(out.ts-96秒,out.mp4-112秒)。

我正在使用以下命令进行转换:

ffmpeg -i out.ts -c copy -bsf:a aac_adtstoasc out.mp4

另一个问题: 持续时间字符串中的“开始”是什么意思,例如:

.ts文件的持续时间为01:36,开始时间为1.45:

ffprobe out.ts

Duration: 00:01:36.18, start: 1.458667, bitrate: 1051 kb/s

.mp4文件-01:52并从0开始

ffprobe out.mp4

Duration: 00:01:52.07, start: 0.000000, bitrate: 825 kb/s

谢谢!

0 个答案:

没有答案