ffmpeg - whatsapp:不支持视频格式

时间:2016-10-06 05:02:54

标签: ffmpeg whatsapp

我有两个视频(.mp4)文件。一个上传到whatsapp而另一个不上传。

使用ffmpeg我检查了他们的属性:

a)上传视频的属性:

loggedInUser.id === todos.createdById

b)未上传到whatsapp的视频(因为其格式不受支持)

  Duration: 00:00:56.45, start: 0.148000, bitrate: 1404 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1080x1080, 1359 kb/s, 23.98 fps, 23.98 tbr, 90k tbn, 47.95 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(eng): Audio: aac (HE-AACv2) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 47 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
At least one output file must be specified

我注意到的视频差异:

Duration: 00:00:56.10, start: 0.000000, bitrate: 543 kb/s Stream #0:0: Video: h264 (High) (H264 / 0x34363248), yuv420p, 1080x1080 [SAR 1:1 DAR 1:1], 464 kb/s, 23.98 fps, 23.98 tbr, 23.98 tbn, 47.95 tbc Stream #0:1: Audio: aac (LC) ([255][0][0][0] / 0x00FF), 48000 Hz, stereo, fltp, 56 kb/s vs (avc1 / 0x31637661)

(H264 / 0x34363248) vs 1359 kb/s

464 kb/s vs 90k tbn

可能是什么原因

此外,第二个视频未在Android中播放。

视频的链接是

https://drive.google.com/open?id=0B4UM6vTHw4pyMExQQ1lxZGp0N2c

3 个答案:

答案 0 :(得分:18)

有一些选项可以提高兼容性:

ffmpeg -i broken.mp4 -c:v libx264 -profile:v baseline -level 3.0 -pix_fmt yuv420p working.mp4

使用-profile:v baseline -level 3.0,您可以使文件与大多数旧玩家更兼容,包括WhatsApp;)。虽然,这会禁用一些高级功能。

-pix_fmt yuv420p是编译到基线所必需的(具有4:2:0色度子采样的YUV平面颜色空间)。

此外,您可以将其他选项调整为比特率,帧率,音频等。

来源:H.264 docs

答案 1 :(得分:6)

https://www.reddit.com/r/ffmpeg/comments/564kyc/ffmpeg_whatsapp_video_format_not_supported/?st=ivjxdi0v&sh=848ce7eb

复制
ffmpeg -i brokenvideo.mp4 -c:v libx264 -c:a aac fixedvideo.mp4

还必须应用此修复程序:FFMPEG (libx264) "height not divisible by 2"

答案 2 :(得分:2)

这在 2020 年对我有用

ffmpeg -i broken.mp4 -c:v libx264 -profile:v high -level 3.0 -pix_fmt yuv420p -brand mp42 fixed.mp4