Videos auf WhatsApp hochladbar machen

Soeben wollte ich einen Playback-Mitschnitt meiner Wyze-Kamera über WhatsApp teilen, doch auf dem iPhone erhalte ich beim Versand die Meldung:

This video could not be sent. Please choose a different video.

Unter macOS war der Versand möglich, das Video wird aber nicht abspielbar angezeigt, sondern nur als Attachment zum Download angeboten (als wäre es irgendein Binärformat).

Die Lösung:

$ ffmpeg -i "2021-04-01 23-25.mp4" -c:v libx264 -profile:v baseline -level 3.0 -pix_fmt yuv420p "2021-04-01 23-25.whatsapp.mp4"

Quelle: ffmpeg – whatsapp: video format not supported

Wie unterscheiden sich die beiden Videoformate?

$ ffmpeg -i "2021-04-01 23-25.mp4"
...
Guessed Channel Layout for Input Stream #0.1 : mono
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '2021-04-01 23-25.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42isom
Duration: 00:01:39.40, start: 0.000000, bitrate: 841 kb/s
Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1920x1080, 1143 kb/s, 15 fps, 15 tbr, 90k tbn, 20 tbc (default)
Metadata:
encoder : JVT/AVC Coding
Stream #0:1(und): Audio: pcm_alaw (alaw / 0x77616C61), 8000 Hz, mono, s16, 64 kb/s (default)

sowie der WhatsApp-kompatible Clip:

$ ffmpeg -i "2021-04-01 23-25.whatsapp.mp4"
...
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '2021-04-01 23-25.whatsapp.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf58.45.100
Duration: 00:01:39.53, start: 0.000000, bitrate: 1628 kb/s
Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 1920x1080, 2344 kb/s, 15 fps, 15 tbr, 15360 tbn, 30 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 8000 Hz, mono, fltp, 36 kb/s (default)
Metadata:
handler_name : SoundHandler