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

.NET Core使用Twilio WhatsApp API发送视频失败排查求助

错误码63021(Invalid content)排查与解决

Twilio错误码63021明确指向WhatsApp不接受你上传的视频媒体内容,结合你能正常发送图片/文字的情况,问题出在视频本身的属性不符合WhatsApp通过Twilio发送的规则,以下是具体排查点和解决方法:

核心限制排查

1. 视频文件大小超限

WhatsApp通过Twilio发送视频的最大限制是16MB,你使用的Pexels 4K视频(2560x1440)文件大小大概率远超这个阈值。可以直接下载视频查看体积,或用工具校验URL对应的文件大小。

2. 视频编码/格式不符合要求

WhatsApp仅支持H.264视频编码 + AAC音频编码的MP4文件,即使后缀是.mp4,若编码不符合也会被拒绝。可使用FFmpeg工具检查编码:

ffprobe -v error -select_streams v:0 -show_entries stream=codec_name -of default=noprint_wrappers=1:nokey=1 your-video.mp4
ffprobe -v error -select_streams a:0 -show_entries stream=codec_name -of default=noprint_wrappers=1:nokey=1 your-video.mp4

两次输出需分别为h264和aac才符合要求。

3. 媒体URL的MIME类型响应头错误

Twilio要求媒体URL返回正确的Content-Type头,视频必须返回video/mp4。可通过curl命令验证:

curl -I "https://videos.pexels.com/video-files/4114797/4114797-uhd_2560_1440_25fps.mp4"

查看响应头中的Content-Type字段,若返回application/octet-stream等非video/mp4值,Twilio会判定内容无效。

解决步骤

  1. 压缩/转换视频:使用FFmpeg将视频压缩到16MB以内,并转成符合编码要求的MP4:
ffmpeg -i input.mp4 -vcodec libx264 -acodec aac -b:v 1M -b:a 128k output.mp4

调整-b:v(视频比特率)和-b:a(音频比特率)可灵活控制文件大小。
2. 替换测试视频:先使用一个已知符合要求的小体积MP4视频(比如几MB的H.264/AAC编码文件)测试,确认代码逻辑正常。
3. 代码优化(可选):添加异常捕获,直接获取Twilio的详细错误信息辅助调试:

try
{
    var message = await MessageResource.CreateAsync(
        from: new Twilio.Types.PhoneNumber("your-twilio-whatsapp-number"),
        body: messageDto.SMSBody,
        mediaUrl: mediaUrls,
        to: new Twilio.Types.PhoneNumber("whatsapp:+" + messageDto.ToPhoneNumber),
        statusCallback: new Uri(baseUrl + "/Support/ReceiveWhatsAppStatus"));
}
catch (TwilioException ex)
{
    Console.WriteLine(ex.Message); // 打印详细错误描述
}

内容的提问来源于stack exchange,提问作者DIBYA RANJAN ROUT

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 08:18:14