【问题标题】:ffmpeg - whatsapp: video format not supportedffmpeg - whatsapp:不支持视频格式
【发布时间】:2017-02-14 17:15:40
【问题描述】:

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

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

a) 上传视频的属性:

  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

b) 没有上传到 whatsapp 的视频(因为它的格式不支持)

  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

我注意到的视频差异:

(avc1 / 0x31637661)(H264 / 0x34363248)

1359 kb/s464 kb/s

90k tbn23.98 tbn

可能是什么原因?

第二个视频也没有在 Android 中播放。

视频的链接是https://drive.google.com/open?id=0B4UM6vTHw4pyMExQQ1lxZGp0N2c

【问题讨论】:

  • 您是在使用 ffmpeg 生成第二个视频吗?
  • here 提出了同样的问题,那里有解决方案。

标签: ffmpeg whatsapp


【解决方案1】:

【讨论】:

  • 此命令将重新编码视频和音频。我敢打赌这只是视频标签的问题。试试ffmpeg -i broken.mp4 -c copy -vtag avc1 fixed.mp4
【解决方案2】:

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

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

【讨论】:

  • 就我而言,问题出在 pix_fmt 不是 yuv420p
  • 非常感谢,工作就像一个魅力!如果只有 Kazam 可以立即使用这些设置,它会更容易截屏和分享。
  • 从GIF转换时需要设置-pix_fmt yuv420p
  • 说真的,这很好用,但是你怎么可能知道这个庞大的命令行呢? ?
  • @CaioMar 我真的不记得我是怎么得到它的。我认为通过研究 ffmpeg H264 文档和“尝试和失败”。一切都与“兼容性”有关……而 h264 编码可以选择 ?。
【解决方案3】:

这在 2020 年对我有用

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

【讨论】:

  • 相同(其他没有)
  • 我找不到 -brand mp42 作为 ffmpeg 或 H264 编码的选项。也许这是来自 MP4Box (here)。如果你想用ffmpeg将fourcc设置为mp42,那么你应该使用-tag:v mp42
  • 它还在工作
猜你喜欢
  • 2020-06-16
  • 2015-08-05
  • 1970-01-01
  • 1970-01-01
  • 2010-12-04
  • 2011-07-10
  • 2011-12-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多