Check My OG
Made by Dayward AI

og:video checker: make link previews play video

og:video is the Open Graph tag that points a link preview at a video file. Two apps play it: iMessage and Discord. Every other app tested shows og:image. This page covers the tags, the MP4 file they point at, and what to fix when the video doesn't play.

Paste a page URL. Check My OG reads its og:video tags, downloads the MP4 and probes it: codec, pixel format, faststart, content type, range requests and size.

What og:video is

The Open Graph protocol lists og:video as an optional property, described as "A URL to a video file that complements this object" (ogp.me). It takes the same structured properties as og:image. Put them after the og:video tag they describe.

TagWhat it holds
og:videoThe URL of the video file. og:video:url means the same thing.
og:video:secure_urlAn https URL for the same file. Facebook asks for it even when og:video is already https.
og:video:typeThe MIME type. Use video/mp4.
og:video:width, og:video:heightThe size in pixels. Facebook calls them required. Discord measures the file itself.

Tags that work

This is the tag set on the Check My OG home page, which passes every check.

<meta property="og:type" content="website">
<meta property="og:title" content="Your page title">
<meta property="og:video" content="https://example.com/preview.mp4">
<meta property="og:video:secure_url" content="https://example.com/preview.mp4">
<meta property="og:video:type" content="video/mp4">
<meta property="og:video:width" content="1200">
<meta property="og:video:height" content="630">
<meta property="og:image" content="https://example.com/preview.png">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:image:alt" content="What the image shows">
<meta name="twitter:card" content="summary_large_image">

Discord's docs say to set og:type to video.* or twitter:card to player. In Check My OG's device test (24 Oct 2026, Mac and iOS) a plain og:type website page with a direct MP4 played without either.

Which apps play og:video

AppWhat it shows
iMessagePlays. Autoplays the MP4 muted and looping. With autoplay off or Reduce Motion on, the poster with a play button. A video that can only be streamed (HLS) needs a tap.
DiscordPlays. An inline player with a play button; it doesn't autoplay.
X (Twitter)og:image. The large card needs twitter:card set to summary_large_image.
Facebookog:image. Its docs call an MP4 only "eligible" for inline play; in testing it showed the image.
Slackog:image. Video players only for sites Slack handles itself, or through an app unfurl.
LinkedInog:image, title and description. No video seen.
Blueskyog:image. Link cards have no video field.
Mastodonog:image. Video cards come from oEmbed, not og:video.
WhatsApp, Telegram, Signal, Matrix / Elementog:image.

Status as of 26 Oct 2026, from support.json. Not yet tested: Messenger, Instagram DMs, Threads, Reddit, Teams, Google Chat and a few others.

What the MP4 file needs

Check My OG runs these checks on the file og:video points at.

CheckWhy
A direct link to the fileApple says videos that need embedding HTML won't play inline in Messages. Discord says to point og:video directly at the file. A YouTube or Vimeo page URL fails the content type check below.
Absolute https URLDiscord's docs ask for https. Facebook asks for an https URL for inline play.
Answers 200, served as video/mp4The checker fetches the file as Twitterbot and reads the Content-Type header. Apple asks servers to send the correct MIME type for .mp4 files.
Range requests (206)Apple says iOS needs byte-range requests for random access in media playback.
Faststart (moov before mdat)FFmpeg's guide: with the index first, the video can start playing before it fully downloads.
H.264 and yuv420pFFmpeg's H.264 guide says QuickTime and most other players only support 4:2:0 chroma subsampling for H.264.
Real size matches the tagsThe file's width and height should equal og:video:width and og:video:height.
Video under 50 MBDiscord's fetch returns at most 50 MB and must finish, measuring the image and video included, within 10 seconds.
Video plus poster under 10 MB, page under 1 MBApple's guideline: the page itself under 1 MB; icons, images and video together under 10 MB.

One FFmpeg command fixes the codec, pixel format and faststart checks:

ffmpeg -i input.mov -c:v libx264 -pix_fmt yuv420p -movflags +faststart preview.mp4

Why og:image still matters

Ten of the twelve apps above show only og:image. iMessage shows it as the poster when autoplay is off. Discord's docs say og:image is required to render the video and becomes its preview frame. The checker tests the poster too: PNG, JPEG, GIF or WebP, at least 600 px wide at 1.91:1, the same shape as the video, under 5 MB. Apple suggests 900 px or wider for Messages. The video's first frame is a good choice.

Common problems and fixes

Clearing a cached preview

Apps cache a preview by its URL, so a fixed page can keep showing the old card. Discord holds one for about 30 minutes; its Embed Debugger (discord.com/developers/embeds) shows how it reads a URL. Facebook's Sharing Debugger fetches the page again, but caches images by URL. Bluesky saves the card into each post, so only a new post fetches the page again. In every app, share the link with a new query string such as ?v=2, and give a changed video or image file a new URL too.

Questions

Which apps play og:video?

iMessage autoplays it, muted and looping. Discord shows an inline player you tap to play. X, Facebook, Telegram, WhatsApp, Slack, LinkedIn, Bluesky, Mastodon, Signal and Matrix show og:image instead.

Why is my video link preview not working?

Most often og:video points at a player page instead of an MP4 file, or the file misses one requirement: H.264, yuv420p, faststart, served as video/mp4 over https with range requests. Also make sure you are testing in iMessage or Discord, the only apps that play it.

Can og:video point to a YouTube or Vimeo link?

No. Apple says videos that need embedding HTML will not play inline in Messages, and Discord's docs say to point og:video directly at the video file. Use the URL of the MP4 itself.

Do I still need og:image if I have og:video?

Yes. Most apps show og:image and never play the video, iMessage shows it when autoplay is off, and Discord's docs say og:image is required to render the video.

Is og:video:secure_url required?

The Open Graph spec describes it as an alternate URL for pages that need HTTPS. Facebook asks for it even when og:video is already https, so set both tags to the same https URL.

Sources