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

使用whatsapp-web.js发送FFmpeg拼接MP4为贴纸时FFmpeg报错求助

问题解决:WhatsApp-Web.js发送Concat生成的MP4贴纸报错

问题原因

你用FFmpeg concat生成的MP4文件虽然能正常播放,但文件结构或编码参数不符合WhatsApp贴纸转换时的FFmpeg处理要求——比如moov原子在文件末尾、流编码不统一,导致WhatsApp无法正确解析视频流。

解决方案

1. 重新封装MP4为标准格式

用FFmpeg重新处理你的concat生成文件,修复结构并确保编码兼容:

ffmpeg -i ./vid.mp4 -c:v libx264 -c:a aac -movflags +faststart ./fixed_vid.mp4

-movflags +faststart会把视频的索引信息(moov原子)移到文件开头,这是流媒体工具(包括WhatsApp贴纸转换)需要的格式。

2. 调整视频参数匹配WhatsApp贴纸要求

如果重新封装后还是报错,进一步调整参数符合贴纸规范:

  • 分辨率:必须是正方形(推荐512x512)
  • 时长:不超过15秒
  • 编码:H.264视频 + AAC音频
    执行以下命令:
ffmpeg -i ./vid.mp4 -c:v libx264 -c:a aac -vf "scale=512:512:force_original_aspect_ratio=decrease,pad=512:512:(ow-iw)/2:(oh-ih)/2" -movflags +faststart -t 15 ./sticker_ready.mp4

这个命令会把视频缩放到不超过512的尺寸,再补成正方形,同时限制时长在15秒内。

3. 修复代码语法错误

你原代码的client.on回调缺少闭合括号,修正后:

client.on("message", (message) => {
    const media = MessageMedia.fromFilePath("./sticker_ready.mp4");
    client.sendMessage(message.from, media, { sendMediaAsSticker: true });
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 14:15:30