使用ffmpeg concat的音频流输出中的非单调DTS

使用ffmpeg concat的音频流输出中的非单调DTS,ffmpeg,Ffmpeg,这是在一次会议上提出的。但在没有得到回复后,海报干脆选择了MP4Box。然而,我想坚持使用ffmpeg,我认为它更快 我正在连接mp4文件的文本文件列表中的文件,这些文件同时使用相同的编解码器进行编码,因此文件之间应该没有不兼容 我甚至不确定什么是非单调DTS(有人吗?),但我担心它可能会在连接的文件中产生一些小故障。它们看起来还可以,但声音中有一些人工制品的证据。我可以调整我的命令行来消除这个错误吗?它会加速连接过程吗? 我正在使用Python子进程调用,传递到此函数的文件是文件列表。函数de

这是在一次会议上提出的。但在没有得到回复后,海报干脆选择了MP4Box。然而,我想坚持使用ffmpeg,我认为它更快

我正在连接mp4文件的文本文件列表中的文件,这些文件同时使用相同的编解码器进行编码,因此文件之间应该没有不兼容

我甚至不确定什么是非单调DTS(有人吗?),但我担心它可能会在连接的文件中产生一些小故障。它们看起来还可以,但声音中有一些人工制品的证据。我可以调整我的命令行来消除这个错误吗?它会加速连接过程吗? 我正在使用Python子进程调用,传递到此函数的文件是文件列表。函数decorator只是一个用于分析的计时器函数。 我用我的系统ffmpeg尝试过这一点,不仅仅是静态构建,它也有同样的问题

@fn_timer
def concat(file):
    proc = call(['/opt/jane_ng/jane_nodejs/ffmpeg-git-20150308-64bit-static/ffmpeg', '-f', 'concat', '-i', file, '-c', 'copy', '-y', 'testConcat.mp4'])
运行此操作时,我得到以下输出:

ffmpeg版本N-45007-g9d7e42e-http://johnvansickle.com/ffmpeg/    版权所有(c)2000-2015 FFmpeg开发者
使用gcc 4.9.2(Debian 4.9.2-10)构建
配置:---启用gpl--enable-version3--disable shared--disable debug--enable runtime cpudetec--enable-libmp3lame--enable-libx264--enable-libx265--enable libwebp--enable libspeex--enable libvorbis--enable libfreetype--enable fontconfig--enable libxvid enable libopencore amrwb--enable libopencore amrwb--enable liborea--enable libvo aacenc--enable libvo amrwbenc--enable gray--enable libopenjpeg--enable libopus--enable libass--enable gnutls--enable libvidstab--cc=gcc-4.9
libavutil 54。20.100 / 54. 20.100
libavcodec56。26.100 / 56. 26.100
libav56格式。25.101 / 56. 25.101
libav56设备。4.100 / 56.  4.100
libavfilter 5。12.100 /  5. 12.100
libswscale 3。1.101 /  3.  1.101
libswresample1。1.100 /  1.  1.100
Libroc 53。3.100 / 53.  3.100
[concat@0x31bdd80]找不到流2的编解码器参数(未知:无):未知编解码器
考虑增加“分析成熟”和“概率检验”选项的价值
输入#0,concat,来自“/opt/combinatia/generator/concatFiles/concat.txt”:
持续时间:不适用,开始时间:0.000000,比特率:1625 kb/s
流#0:0:视频:h264(主)(avc1/0x31637661),yuv420p(电视),960x540[SAR 1:1 DAR 16:9],1561kb/s,25fps,25tbr,90k tbn,50tbc
流#0:1:音频:aac(HE-aac)(mp4a/0x6134706D),44100 Hz,立体声,fltp,64 kb/s
流#0:2:未知:无
将#0,mp4输出到“testConcat.mp4”:
元数据:
编码器:Lavf56.25.101
流#0:0:视频:h264([33][0][0][0]/0x0021),yuv420p,960x540[SAR 1:1 DAR 16:9],q=2-311561kb/s,25fps,25tbr,90k tbn,90k tbc
流#0:1:音频:aac([64][0][0]/0x0040),44100Hz,立体声,64kb/s
流映射:
流#0:0->#0:0(副本)
流#0:1->#0:1(副本)
按[q]停止,按[?]获取帮助
[mp4@0x3255080]输出流中的非单调DTS 0:1;以前的253952,现在的250488;改为253953。这可能会导致输出文件中的时间戳不正确。
[mp4@0x3255080]输出流中的非单调DTS 0:1;上一届:253953,现任:252536 ;;改为253954。这可能会导致输出文件中的时间戳不正确。
[mp4@0x3255080]输出流中的非单调DTS 0:1;上一次:754296,当前:751464;改为754297。这可能会导致输出文件中的时间戳不正确。
[mp4@0x3255080]输出流中的非单调DTS 0:1;以前的754297,现在的753512;改为754298。这可能会导致输出文件中的时间戳不正确。
[mp4@0x3255080]输出流中的非单调DTS 0:1;以前的974696,现在的971964;改为974697。这可能会导致输出文件中的时间戳不正确。
[mp4@0x3255080]输出流中的非单调DTS 0:1;以前的974697,现在的974012;改为974698。这可能会导致输出文件中的时间戳不正确。
[mp4@0x3255080]输出流中的非单调DTS 0:1;上一次:1340604,当前:1337112;改为1340605。这可能会导致输出文件中的时间戳不正确。
[mp4@0x3255080]输出流中的非单调DTS 0:1;上一次:1340605,当前:1339160;改为1340606。这可能会导致输出文件中的时间戳不正确。
[mp4@0x3255080]输出流中的非单调DTS 0:1;以前的1746712,现在的1742832;改为1746713。这可能会导致输出文件中的时间戳不正确。
[mp4@0x3255080]输出流中的非单调DTS 0:1;以前的1746713,现在的1744880;改为1746714。这可能会导致输出文件中的时间戳不正确。
[mp4@0x3255080]输出流中的非单调DTS 0:1;上一届:2119664,现任:2116800 ;;改为2119665。这可能会导致输出文件中的时间戳不正确。
[mp4@0x3255080]输出流中的非单调DTS 0:1;上一届:2119665,现任:2118848 ;;改为2119666。这可能会导致输出文件中的时间戳不正确。
[mp4@0x3255080]输出流中的非单调DTS 0:1;上一次:2274496,当前:2272032;改为2274497。这可能会导致输出文件中的时间戳不正确。
[mp4@0x3255080]输出流中的非单调DTS 0:1;以前的2274497,现在的2274080;改为2274498。这可能会导致输出文件中的时间戳不正确。
[mp4@0x3255080]输出流中的非单调DTS 0:1;以前的2685728,现在的2683044;改为2685729。这可能会导致输出文件中的时间戳不正确。
[mp4@0x3255080]输出流中的非单调DTS 0:1;以前的2685729,现在的2685092;改为2685730。这可能会导致输出文件中的时间戳不正确。
[mp4@0x3255080]输出流中的非单调DTS 0:1;以前的2850980,现在的2847096;改为2850981。这可能会导致不正确的时间戳