如何在c#中使用ffmpeg为wav文件添加额外的5秒持续时间

时间:2016-07-27 10:58:16

标签: c# audio ffmpeg wav audio-streaming

如何在c#中使用ffmpeg为wav文件添加额外的5秒持续时间。

这是我使用的示例代码,

ffmpeg -i file1.wav -i file2.wav -c copy file3.wav

我需要在file1.wav和file2.wav之间添加静默持续时间。

如何在不合并5秒无声wav文件的情况下执行此操作。

“file1.wav + 5秒无声+ file2.wav”

2 个答案:

答案 0 :(得分:1)

使用

ffmpeg -i file1.wav -i file2.wav -f lavfi -t 5 -i anullsrc
       -filter_complex "[0][2][1]concat=n=3:v=0:a=1" file3.wav

-f lavfi -t 5 -i anullsrc生成一个5秒的静默流。

如果您想要不同持续时间的间隙,可以使用拆分和修剪过滤器。

ffmpeg -f lavfi -i anullsrc -i file1.wav -i file2.wav -i file3.wav -i file4.wav
       -filter_complex "[0]asplit=3[s1][s2][s3];
                        [s1]atrim=duration=2[t1];
                        [s2]atrim=duration=5[t2];
                        [s3]atrim=duration=3[t3]; 
                        [1][t1][2][t2][3][t3][4]concat=n=7:v=0:a=1" 
        file3.wav

或者您可以生成多个anullsrc

ffmpeg -i file1.wav -f lavfi -t 2 -i anullsrc
       -i file2.wav -f lavfi -t 5 -i anullsrc
       -i file3.wav -f lavfi -t 3 -i anullsrc
       -i file4.wav
       -filter_complex
        "[0][1][2][3][4][5][6]concat=n=7:v=0:a=1" 
        file3.wav

答案 1 :(得分:0)

我使用你提到的命令行,但是给出了错误" lavfi"
                               FFmpeg版本SVN-r23607,版权所有(c)2000-2010 FFmpeg开发人员   建立于2010年6月15日04:09:35与gcc 4.4.2   配置: - target-os = mingw32 --enable-runtime-cpudetect --enable-avisynth --enable-gpl --enable-version3 --enable-bzlib --enable-libgsm --enable-libfaad --enable- pthreads --enable-libvorbis --enable-libtheora --enable-libspeex --enable-libmp3lame --enable-libopenjpeg --enable-libxvid --enable-libschroedinger --enable-libx264 --extra-libs =&#39 ; -lx264 -lpthread' --enable-libopencore_amrwb --enable-libopencore_amrnb --enable-librtmp --extra-libs =' -lmpmp -lpolarssl -lws2_32 -lwinmm' --arch = x86 --cross-prefix = i686-mingw32- - cc =' ccache i686-mingw32-gcc' --enable-包括memalign - 黑客   libavutil 50.19。 0 / 50.19。 0   libavcodec 52.76。 0 / 52.76。 0   libavformat 52.68。 0 / 52.68。 0   libavdevice 52. 2. 0 / 52. 2. 0   libavfilter 1.20。 0 / 1.20。 0   libswscale 0.11。 0 / 0.11。 0 [wav @ 0176d490]估算比特率的持续时间,这可能不准确 输入#0,wav,来自' D:\ DubmondoTestfiels \ test \ 1.wav':   持续时间:00:00:01.86,比特率:352 kb / s     流#0.0:音频:pcm_s16le,22000 Hz,1个通道,s16,352 kb / s [wav @ 02ea0080]估算比特率的持续时间,这可能不准确 输入#1,wav,来自&D; D:\ DubmondoTestfiels \ test \ 2.wav':   持续时间:00:00:01.86,比特率:352 kb / s     流#1.0:音频:pcm_s16le,22000 Hz,1个通道,s16,352 kb / s 未知输入格式:' lavfi'