You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用FFmpeg重新编码音频文件,修复异常长数据包时长问题

解决FFmpeg拆分音频长数据包问题

你的原始MP4音频流存在时间戳异常:同一个1024采样点的音频帧,一个被标记为180秒时长,另一个却是正常的0.023秒。常规重新编码命令会继承原始错误的时间戳元数据,导致长数据包无法被拆分。

用以下命令强制重建音频流并生成正确的数据包:

ffmpeg -i input.mp4 -c:a aac -b:a 192k -ar 48000 -ac 2 -fflags +genpts -af "aresample=frame_size=1024" output.mp4

命令参数说明

  • -fflags +genpts:强制FFmpeg丢弃原始异常的时间戳,重新生成符合标准的演示时间戳(PTS)
  • -af "aresample=frame_size=1024":指定每个音频帧固定为1024采样点,结合48kHz采样率,每个数据包时长会稳定在≈0.0213秒,和正常帧保持一致
  • -c:a aac:指定用AAC编码器重新编码音频,彻底重建整个音频流结构,避免继承原始文件的错误

验证结果

执行完命令后,用以下命令检查输出文件的帧信息:

ffmpeg -i output.mp4 -show_frames -select_streams a

确认所有帧的pkt_duration_time都在0.02秒左右,无超长数据包即可。

内容的提问来源于stack exchange,提问作者Ebraheem

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 05:37:17