我正在尝试混合多音轨视频文件中的所有音轨。我成功了,但我注意到第一个声音很大,第二个正常,第三个声音很小。我想标准化或(最好)手动设置音量。
这是我尝试过的,但它不起作用(解析错误消息)所以我认为我没有以好的方式使用它。
$ ffmpeg -i INPUT -c:v libx264 -preset slow -crf 23 -filter_complex "[0:1]volume=0.3;[0:2]volume=0.5;[0:3]volume=0.7 amerge=inputs=3" -c:a libmp3lame OUTPUT
ffmpeg version 2.2.git Copyright (c) 2000-2014 the FFmpeg developers
built on Jun 13 2014 10:28:46 with gcc 4.8.3 (GCC)
configuration: --extra-ldflags=-L/usr/local/x86_64-w64-mingw32/lib --prefix=/u
sr/local/x86_64-w64-mingw32 --cross-prefix=x86_64-w64-mingw32- --target-os=mingw
32 --enable-w32threads --enable-memalign-hack --arch=x86_64 --enable-runtime-cpu
detect --disable-debug --enable-static --disable-shared --disable-ffplay --disab
le-ffserver --enable-gpl --enable-version3 --enable-nonfree --enable-libmp3lame
--enable-libfdk-aac --enable-libx264
libavutil 52. 89.100 / 52. 89.100
libavcodec 55. 66.100 / 55. 66.100
libavformat 55. 43.100 / 55. 43.100
libavdevice …Run Code Online (Sandbox Code Playgroud) 如果我尝试-filter_complex使用命令连接两个 mp4 视频文件:
ffmpeg -i a.mp4 -i b.mp4 -filter_complex \
"[0:1] [0:0] [1:1] [1:0] concat=n=2:v=1:a=1 [v] [a]" \
-map [v] -map [a] -y testfull.mp4
Run Code Online (Sandbox Code Playgroud)
它工作正常,但如果我尝试类似的音频文件,如:
ffmpeg -i a.mp3 -i b.mp3 -filter_complex \
"[0:1] [0:0] [1:1] [1:0] concat=n=2:a=1 [a]" \
-map [a] -y testfull.mp3
Run Code Online (Sandbox Code Playgroud)
出现错误:
Input #1, mp3, from 'b.mp3': Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: isomavc1mp42
creation_time : 2010-12-13 21:15:11
encoder : Lavf53.4.0 Duration: 00:02:01.61, start: 0.000000, bitrate: 64 kb/s
Stream #1:0: Audio: mp3, 8000 Hz, …Run Code Online (Sandbox Code Playgroud) 我使用ffmpeg以下命令将音频文件与单张照片混合以制作视频:
ffmpeg -loop 1 -i image -i audio -c:v libx264 -tune stillimage \
-c:a aac -b:a 192k -pix_fmt yuv420p -shortest video
Run Code Online (Sandbox Code Playgroud)
由于它是一张照片,我期望一个快速的过程,但它适用于speed=2x,这意味着它需要音频持续时间的一半。
我想知道是否有更快的方法将静态图像作为音频文件的背景来构建视频?
我正在尝试在 macOS 上编译 ffmpeg 以添加 libndi_newtek 依赖项,但我收到以下消息,
Unknown option "--enable-libndi_newtek".
See ./configure --help for available options.
Run Code Online (Sandbox Code Playgroud)
帮助部分缺少 libndi_newtek。ffmpeg 是否删除了此依赖项?
我正在尝试使用 ffmpeg removelogo过滤器,没有语法错误,但结果有某种奇怪的洋红色三角形,其中应用了掩码。
我正在使用以下命令
ffmpeg -y -i sample_image.jpg -vf "removelogo=mask.png" test.jpg
Run Code Online (Sandbox Code Playgroud)
这是命令中使用的文件。

我正在尝试使用噪声类型为白噪声的 AFFTDN 过滤器清理包含背景噪声的音频文件。
我还没有找到实现和工作的 AFFTDN 过滤器的例子。基于其他示例,我尝试了此命令行代码。
ffmpeg -i C:\Media\test.wav afftdn="'nt=w':om='o'" C:\media\test_clean.wav
Run Code Online (Sandbox Code Playgroud)
当我运行这个:
Unable to find a suitable output format for afftdn="'nt=w':om='o'": Invalid argument.
Run Code Online (Sandbox Code Playgroud) 我正在尝试制作一个具有多个画中画(简称 PIP)的视频文件。我能够在一张图片中获得两张图片。我现在正在尝试添加第四个输入。
我希望它看起来像:
我尝试的命令:
ffmpeg -i 444_remote_0.webm -i 444_remote_1.webm -i 444_remote_2.webm \
-i 444_local_0.webm -filter_complex \
"[1:v]scale=iw/4:-1:flags=lanczos[rem1]; \
[2:v]scale=iw/4:-1:flags=lanczos[rem2]; \
[3:v]scale=iw/4:-1:flags=lanczos[loc0]; \
[0:v][loc0]overlay=main_w-overlay_w-10:main_h-overlay_h-10[bg]; \
[bg][rem1]overlay=main_w-overlay_w-180:main_h-overlay_h-10[v]; \
[bg][rem2]overlay=main_w-overlay_w-360:main_h-overlay_h-10[v]; \
[0:a][1:a][2:a][3:a]amerge=inputs=4[a]" \
-map "[v]" -map "[a]" -ac 2 -ar 44100 -vcodec libx264 -acodec aac 444.mp4
Run Code Online (Sandbox Code Playgroud)
我收到一个新错误:Invalid stream specifier: bg.
控制台输出:
ffmpeg -i 444_remote_0.webm -i 444_remote_1.webm -i 444_remote_2.webm -i 444_local_0.webm -filter_complex "[1:v]scale=iw/4:-1:flags=lanczos[rem1]; [2:v]scale=iw/4:-1:flags=lanczos[rem2]; [3:v]scale=iw/4:-1:flags=lanczos[loc0]; [0:v][loc0]overlay=main_w-overlay_w-10:main_h-overlay_h-10[bg]; [bg][rem1]overlay=main_w-overlay_w-180:main_h-overlay_h-10[v]; [bg][rem2]overlay=main_w-overlay_w-360:main_h-overlay_h-10[v]; [0:a][1:a][2:a][3:a]amerge=inputs=4[a]" -map "[v]" -map "[a]" -ac 2 -ar 44100 -vcodec libx264 -acodec aac 444.mp4
ffmpeg …Run Code Online (Sandbox Code Playgroud) 例如,如果我的视频有 3 个音频流:1 个英语、1 个德语、1 个立陶宛语。对于每个视频,它可以按随机顺序排列,如果我不知道女巫编号是立陶宛语音频,我将如何转换文件并仅选择立陶宛语?因此,对于一个视频,立陶宛语将是第三个音轨,而对于顺序,它将是第二个音轨,依此类推(随机)。
我想删除 pt-br 音频并将英语 DTS 转换为 AC3,我正在使用以下命令:
ffmpeg -i input.mkv -c:v copy -c:s copy -c:a ac3 -ac 2 -map 0:0 -map 0:2 -map 0:3 -aspect 16:9 test.mkv
ffmpeg version N-63968-g73d820e Copyright (c) 2000-2014 the FFmpeg developers
built on Jun 15 2014 00:52:21 with gcc 4.8.3 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack …Run Code Online (Sandbox Code Playgroud) 我想将两个ffmpeg命令合并为一个命令。我ffmpeg在我的 Android 应用程序中使用现成的二进制文件。我想连接.ts文件并覆盖图像。
我正在使用以下命令:
要连接.ts文件:
String[] ffmpegcommand = {"ffmpeg", "-i","concat:"+input_file_path+"|"+input_file_path1, "-c", "copy", "-bsf:a", "aac_adtstoasc", output_file_path};
Run Code Online (Sandbox Code Playgroud)应用图像叠加效果:
String[] ffmpegcommand = {"ffmpeg","-y" ,"-i", input_file_path,"-strict","experimental", "-vf","movie="+AppStaticData.BASE_FOLDER_PATH + File.separator + "watermarklogo.png"+" [watermark]; [in][watermark] overlay=main_w-overlay_w-10:10 [out]", AppStaticData.BASE_FOLDER_PATH+"/" + output_file_path};
Run Code Online (Sandbox Code Playgroud)