Audio 带有音频过滤的FFmpeg分割过滤器抛出错误

Audio 带有音频过滤的FFmpeg分割过滤器抛出错误,audio,ffmpeg,Audio,Ffmpeg,当对视频曲目使用FFmpeg的分割过滤器时,我也想对音频曲目进行过滤。我测试了asplit,但不确定在过滤器链中的何处使用它。 运行此命令时:ffmpeg-y-probesize 100M-analyzeduration 5000000-hide_banner-i$input-i$logo\ -filter_complex“[0:a]aformat=channel_layouts=stereo,aresample=async=1000[a1];[0:v]overlay=20:20,drawtex

当对视频曲目使用FFmpeg的分割过滤器时,我也想对音频曲目进行过滤。我测试了asplit,但不确定在过滤器链中的何处使用它。 运行此命令时:
ffmpeg-y-probesize 100M-analyzeduration 5000000-hide_banner-i$input-i$logo\
-filter_complex“[0:a]aformat=channel_layouts=stereo,aresample=async=1000[a1];[0:v]overlay=20:20,drawtext=fontfile=font:text='some text':fontcolor=c1ff30:fontsize=50:x=250:y=100,split=3[v1][v2 v3];[v1]setpts=PTS-STARTPTS,yadif=0:-1:0,scale=w=640:h=360:force_-original_纵横比=减少:sws_抖动=ed:flags=zos,dar[v2]setpts=PTS-STARTPTS,yadif=0:-1:0,scale=w=1024:h=576:force\u original\u aspect\u ratio=red:sws\u dither=ed:flags=lanczos,setdar=16/9[v2];[v3]setpts=PTS-STARTPTS,yadif=0:-1:0,scale=w=1600:h=900:force\u original\u aspect\u ratio=red:sws\u dither=ed:flags=lanczos,setdar=16/9[v3]。”\
-映射“[v1]”-映射“[a1]”-c:a libfdk_aac-ac 2-b:a 128k-ar 48000-c:v libx264-crf 23-maxrate 550k-bufsize 1100k-bsf:v h264-U mp4toannexb-forced idr 1-sc_threshold 0-r 25-G50-keyint_min 50-预设媒体-配置文件:v main-level 3.1-编码器1-pix_fmt YUV420;-flags+loop+mv4+cgop-flags2+localƗ头文件-MOV flags faststart-cmp-chroma-hlsƗtime 6-hls播放列表类型视频点播/dir/1.m3u8\
-映射“[v2]”-映射“[a1]”-c:a libfdk_aac-ac 2-b:a 128k-ar 48000-c:v libx264-crf 23-maxrate 1400k-bufsize 2800k-bsf:v h264_mp4toannexb-强制idr 1-sc_阈值0-r 25-G50-预设介质-配置文件:v主-4级-编码器1-pix_fmt yuv420p-标志+循环+mv4+cgop-标志2+本地_头-标志faststart-cmp色度-键盘输入_最小值50-hls_时间6-HLU播放类型视频点播/dir/2.m3u8\
-映射“[v3]”-映射“[a1]”-c:a libfdk_aac-ac 2-b:a 128k-ar 48000-c:v libx264-crf 23-maxrate 3100k-bufsize 6200k-bsf:v h264-mp4toannexb-强制idr 1-sc_阈值0-r 25-G50-预设介质-配置文件:v高级别3.1-编码器1-pix_fmt yuv420p-标志+循环+mv4+cgop-标志S2+本地_标头-MOVLAGLANGS快速启动-cmp色度-keyint-min 50-播放时间6-HLU类型vod/dir/3.m3u8
FFmpeg抛出此错误:

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Volumes/aaa/bbb/file.mov':
  Metadata:
    major_brand     : qt  
    minor_version   : 512
    compatible_brands: qt  
    encoder         : Lavf58.20.100
  Duration: 00:00:10.00, start: 0.000000, bitrate: 117945 kb/s
    Stream #0:0(eng): Video: prores (apcn / 0x6E637061), yuv422p10le(tv, bt709, top coded first (swapped)), 1920x1080, 115636 kb/s, SAR 1:1 DAR 16:9, 25 fps, 25 tbr, 10k tbn, 10k tbc (default)
    Metadata:
      handler_name    : Telestream, LLC Telestream Media Framework - Local 99.99.999999
      encoder         : Apple ProRes 422
      timecode        : 01:25:44:05
    Stream #0:1(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, stereo, s32 (24 bit), 2304 kb/s (default)
    Metadata:
      handler_name    : Telestream, LLC Telestream Media Framework - Local 99.99.999999
    Stream #0:2(eng): Data: none (tmcd / 0x64636D74), 0 kb/s
    Metadata:
      handler_name    : Telestream, LLC Telestream Media Framework - Local 99.99.999999
      timecode        : 01:25:44:05
Input #1, png_pipe, from '/Volumes/aaa/bbb/logo.png':
  Duration: N/A, bitrate: N/A
    Stream #1:0: Video: png, rgba(pc), 1920x1080 [SAR 2835:2835 DAR 16:9], 25 tbr, 25 tbn, 25 tbc
Output with label 'a1' does not exist in any defined filter graph, or was already used elsewhere.
删除音频过滤(
[0:a]aformat=channel\u layouts=stereo,aresample=async=1000[a1]
)并将
0:a
映射为音频时,命令运行正常。
我缺少什么?

Filtergraph输出只能使用一次。您必须克隆音频输出以供多次使用

首先,

[0:a]aformat=channel_layouts=stereo,aresample=async=1000,asplit=3[a1][a2][a3]

然后根据需要映射
a1
a2
a3

这很有效!那么音频分割的数量必须与所需音频输出的数量相匹配?