-1

我正在尝试使用 ffmpeg 连接 ac3 和 aac。

jpn_op.m4a的ffprobe:

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'jpn_op.m4a':
Metadata:
major_brand     : M4A 
minor_version   : 512
compatible_brands: M4A isomiso2
encoder         : Lavf58.76.100
Duration: 00:01:17.28, start: 0.000000, bitrate: 224 kb/s
Stream #0:0(jpn): Audio: ac3 (ac-3 / 0x332D6361), 48000 Hz, stereo, fltp, 224 kb/s (default)
Metadata:
  handler_name    : SoundHandler
  vendor_id       : [0][0][0][0]
Side data:
  audio service type: main

eng_nop.m4a 的 ffprobe

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'eng_nop.m4a':
Metadata:
major_brand     : M4A 
minor_version   : 512
compatible_brands: M4A isomiso2
encoder         : Lavf58.76.100
Duration: 00:22:09.26, start: 0.023000, bitrate: 41 kb/s
Stream #0:0(und): Audio: aac (HE-AAC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 39 kb/s (default)
Metadata:
  handler_name    : SoundHandler
  vendor_id       : [0][0][0][0]

我试过这个:

ffmpeg -f concat -i concat_files.txt -c copy final.m4a -y

concat_files.txt 包含:

file 'jpn_op.m4a'
file 'eng_nop.m4a'

final.m4a的ffprobe

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'final.m4a':
Metadata:
major_brand     : M4A 
minor_version   : 512
compatible_brands: M4A isomiso2
encoder         : Lavf58.76.100
Duration: 00:23:26.50, start: 0.000000, bitrate: 51 kb/s
Stream #0:0(jpn): Audio: ac3 (ac-3 / 0x332D6361), 48000 Hz, stereo, fltp, 224 kb/s (default)
Metadata:
  handler_name    : SoundHandler
  vendor_id       : [0][0][0][0]
Side data:
  audio service type: main

但是,final.m4a 中的第 2 个文件是无声的

4

1 回答 1

0

格式和属性必须相同才能使 concat demuxer 工作。重新编码其中一个文件以匹配另一个文件然后连接。

或者改用concat 过滤器

ffmpeg -i jpn_op.m4a -i eng_nop.m4a -filter_complex "[0:a][1:a]concat=n=2:v=0:a=1" final.mp4
于 2021-06-04T16:40:09.610 回答