Cast videos to your TV in Amethyst

⚡ Dee Kay ⚡

npub1e2yuky03caw4ke3zy68lg0fz3r4gkt94hx4fjmlelacyljgyk79svn3eef

hex

2c683f9f5089e42efbe65abaf43e08da8d015dcd2a96b3dbfafec3372a2c83c3

nevent

nevent1qqszc6plnaggnepwl0n94wh58cyd4rgpthxj494nm0a0aseh9gkg8scprpmhxue69uhhyetvv9ujuem4d36kwatvw5hx6mm9qgsv4zwtz8cuwh2mvc3zdrl5853g365t9j6mn25edlul7uz0eyzt0zcuzysp9

naddr

naddr1qqg85j66ff35cvtrxa8y74tdd964yqgcwaehxw309aex2mrp0yhxwatvw4nh2mr49ekk7egzyr9gnjc378r46kmxygnglapay2yw4zevkku64xt0l8lhqn7fqjmckqcyqqq823cj5nrn7

Kind-30023 (Article)

2026-06-18T07:08:27Z

A video lands in your feed, it's actually good, and you're squinting at it on a slab of glass the size of a playing card. #amethyst now lets you fling that video straight onto the big screen: tap Cast, pick your TV, lean back. The phone goes quiet, the telly takes over, and you look like someone who has their life together.

Here's the one fact that explains everything else: your phone is not the projector here. It isn't mirroring its screen and bouncing your display across the room. It just hands the TV the video's web link and says "you fetch it." The TV streams the video itself, directly. That's why this is smooth instead of a laggy, battery-melting screen-share — and it's also why a couple of things below behave the way they do. Hold that thought.

Before you start (the boring-but-load-bearing bits)

  • You need the Google Play build of #amethyst. Casting rides on the Google Cast SDK, which only exists in the Play build.
  • You need a Chromecast-y receiver on your network: a Chromecast dongle, a Google TV / Chromecast-built-in telly, or a compatible soundbar or speaker.
  • Phone and TV on the same Wi-Fi. Different networks, guest VLANs, "I'm on data" — no handshake, no cast.
  • The video has to live on the web (an https:// link). Casting a file that's only on your phone isn't a thing the TV can fetch, so the Cast button politely hides itself for local files.

How to actually fling it

  1. Open a video in your feed and start it playing like normal.
  2. Tap the Cast button — the little screen-with-waves icon, sitting top-right of the player by default.
  3. #amethyst pops up "Cast to…" and "Searching for devices on your Wi-Fi…" while it sniffs around for receivers.
  4. Tap your TV in the list.
  5. The video springs to life on the TV, your phone's player pauses itself automatically (so you're not hearing it twice in a slightly cursed echo), and the Cast icon flips to a "connected" look.

That's it. The TV is now doing the heavy lifting and your phone is just the remote.

https://blossom.primal.net/3253cc372352e30fbc3f90b1c560e65875d1f04e260cf0df9432fc22dfeb13b3.jpg

Stopping the show

Tap the Cast button again (it's wearing its connected icon now) and choose "Stop casting." The TV stops, the credits roll, you reclaim your evening.

Tidy up the button if it's in your way

Don't love a Cast button living in the top bar? Head to Settings → Video Player, and shove "Cast to Device" into the overflow (⋯) menu — or reorder the player buttons however suits you. It's your cockpit.

What plays beautifully — and what sulks

Time for the asterisk. Casting works great with mainstream formats and gets weirdly precious with the exotic ones, because the TV is the one decoding the video (remember — the TV fetches and plays it, not your phone). Some receivers, LG and Samsung especially, are fussy eaters and will sit on a loading spinner forever rather than admit they can't read a format.

Plays well

  • Standard https:// MP4 videos — H.264 video with AAC-LC audio. The bread and butter.
  • Live HLS streams that use H.264 + AAC-LC.

Often won't start

  • HEVC / H.265 videos, and HLS streams that only offer HEVC variants. Lots of TVs just won't decode these when cast.
  • HE-AAC audio. Some videos ship this flavour of audio; the TV loads the picture and then stalls forever, which is a deeply annoying way to fail.
  • HLS streams whose links carry auth tokens in the URL — the TV drops the token when fetching the next chunk and 400s itself into a corner.
  • Local files and any non-https link — as mentioned, the Cast button won't even appear for these.

If a video refuses to start on the TV, it's almost never you and almost always the format being something the receiver can't chew. Try a different upload and move on with your life.

Movie night

Get some popcorn and head to nostr:nprofile1qqs9e40cq5kx0y0ys70sundezdr96ugata07ps9tnyzfccryck3etgspz4mhxue69uhhyetvv9ujuerpd46hxtnfduhszrnhwden5te0dehhxtnvdakz7qgswaehxw309ahx7um5wghx6mmd9ufm2jfg

You'll be the hero of the household!

Future enhancements

Support music casting to soud bar or music streamer

Video controls in amethyst

The whole thing, in one breath

Get the Play build, put your phone and TV on the same Wi-Fi, tap Cast, pick your TV. Your phone hands the TV the link and the TV streams it directly — so it's fast and light, but also format-fussy (H.264 + AAC-LC is the happy path; HEVC and HE-AAC sulk). Drive playback from the TV remote for now, tap Cast → Stop casting when you're done, and remember F-Droid folks sit this one out. Big screen, tiny effort. Go ruin someone's "the algorithm" by showing them an actually-good video at full size.

Raw JSON

{
  "kind": 30023,
  "id": "2c683f9f5089e42efbe65abaf43e08da8d015dcd2a96b3dbfafec3372a2c83c3",
  "pubkey": "ca89cb11f1c75d5b6622268ff43d2288ea8b2cb5b9aa996ff9ff704fc904b78b",
  "created_at": 1781767533,
  "tags": [
    [
      "d",
      "zKZJcL1c7NOUmiuR"
    ],
    [
      "alt",
      "Blog post: Cast videos to your TV in Amethyst"
    ],
    [
      "title",
      "Cast videos to your TV in Amethyst"
    ],
    [
      "summary",
      "Cast video to supported device"
    ],
    [
      "image",
      "https://npub1e2yuky03caw4ke3zy68lg0fz3r4gkt94hx4fjmlelacyljgyk79svn3eef.blossom.band/ed0fe27392a68c0522de72def6d7befbee68ccee315d31eaddc5bbf73804469a.jpg"
    ],
    [
      "published_at",
      "1781766507"
    ],
    [
      "t",
      "amethyst"
    ],
    [
      "t",
      "video"
    ],
    [
      "t",
      "cast"
    ],
    [
      "r",
      "https://blossom.primal.net/3253cc372352e30fbc3f90b1c560e65875d1f04e260cf0df9432fc22dfeb13b3.jpg"
    ],
    [
      "r",
      "https://h.265/"
    ],
    [
      "r",
      "https://h.264/"
    ],
    [
      "p",
      "5cd5f8052c6791e4879f0e4db913465d711d5f5fe0c0ab99049c6064c5a395a2",
      "wss://relay.damus.io/"
    ],
    [
      "client",
      "Amethyst"
    ]
  ],
  "content": "A video lands in your feed, it's actually good, and you're squinting at it on a slab of glass the size of a playing card. #amethyst now lets you fling that video straight onto the big screen: tap **Cast**, pick your TV, lean back. The phone goes quiet, the telly takes over, and you look like someone who has their life together.\n\nHere's the one fact that explains everything else: your phone is **not** the projector here. It isn't mirroring its screen and bouncing your display across the room. It just hands the TV the video's web link and says \"you fetch it.\" The TV streams the video itself, directly. That's why this is smooth instead of a laggy, battery-melting screen-share — and it's also why a couple of things below behave the way they do. Hold that thought.\n\n## Before you start (the boring-but-load-bearing bits)\n\n- **You need the Google Play build of #amethyst.** Casting rides on the Google Cast SDK, which only exists in the Play build. \n- **You need a Chromecast-y receiver** on your network: a Chromecast dongle, a Google TV / Chromecast-built-in telly, or a compatible soundbar or speaker.\n- **Phone and TV on the same Wi-Fi.** Different networks, guest VLANs, \"I'm on data\" — no handshake, no cast.\n- **The video has to live on the web** (an `https://` link). Casting a file that's only on your phone isn't a thing the TV can fetch, so the Cast button politely hides itself for local files.\n\n## How to actually fling it\n\n1. Open a video in your feed and start it playing like normal.\n2. Tap the **Cast** button — the little screen-with-waves icon, sitting top-right of the player by default.\n3. #amethyst pops up **\"Cast to…\"** and **\"Searching for devices on your Wi-Fi…\"** while it sniffs around for receivers.\n4. Tap your TV in the list.\n5. The video springs to life on the TV, your phone's player **pauses itself** automatically (so you're not hearing it twice in a slightly cursed echo), and the Cast icon flips to a \"connected\" look.\n\nThat's it. The TV is now doing the heavy lifting and your phone is just the remote.\n\nhttps://blossom.primal.net/3253cc372352e30fbc3f90b1c560e65875d1f04e260cf0df9432fc22dfeb13b3.jpg\n\n## Stopping the show\n\nTap the **Cast** button again (it's wearing its connected icon now) and choose **\"Stop casting.\"** The TV stops, the credits roll, you reclaim your evening.\n\n## Tidy up the button if it's in your way\n\nDon't love a Cast button living in the top bar? Head to **Settings → Video Player**, and shove **\"Cast to Device\"** into the overflow (⋯) menu — or reorder the player buttons however suits you. It's your cockpit.\n\n## What plays beautifully — and what sulks\n\nTime for the asterisk. Casting works *great* with mainstream formats and gets weirdly precious with the exotic ones, because the TV is the one decoding the video (remember — the TV fetches and plays it, not your phone). Some receivers, LG and Samsung especially, are fussy eaters and will sit on a loading spinner forever rather than admit they can't read a format.\n\n**Plays well**\n\n- Standard `https://` MP4 videos — H.264 video with AAC-LC audio. The bread and butter.\n- Live HLS streams that use H.264 + AAC-LC.\n\n**Often won't start**\n\n- **HEVC / H.265** videos, and HLS streams that only offer HEVC variants. Lots of TVs just won't decode these when cast.\n- **HE-AAC audio.** Some videos ship this flavour of audio; the TV loads the picture and then stalls forever, which is a deeply annoying way to fail.\n- **HLS streams whose links carry auth tokens** in the URL — the TV drops the token when fetching the next chunk and 400s itself into a corner.\n- **Local files and any non-`https` link** — as mentioned, the Cast button won't even appear for these.\n\nIf a video refuses to start on the TV, it's almost never *you* and almost always the format being something the receiver can't chew. Try a different upload and move on with your life.\n\n## Movie night \n\nGet some popcorn and head to\n nostr:nprofile1qqs9e40cq5kx0y0ys70sundezdr96ugata07ps9tnyzfccryck3etgspz4mhxue69uhhyetvv9ujuerpd46hxtnfduhszrnhwden5te0dehhxtnvdakz7qgswaehxw309ahx7um5wghx6mmd9ufm2jfg \n\nYou'll be the hero of the household! \n\n## Future enhancements\n\nSupport music casting to soud bar or music streamer \n\nVideo controls in amethyst \n\n## The whole thing, in one breath\n\nGet the Play build, put your phone and TV on the same Wi-Fi, tap Cast, pick your TV. Your phone hands the TV the link and the TV streams it directly — so it's fast and light, but also format-fussy (H.264 + AAC-LC is the happy path; HEVC and HE-AAC sulk). Drive playback from the TV remote for now, tap Cast → Stop casting when you're done, and remember F-Droid folks sit this one out. Big screen, tiny effort. Go ruin someone's \"the algorithm\" by showing them an actually-good video at full size.",
  "sig": "9df5887acd32a847e193a26b9aa7f5f39884d9aa05afe39f89245bbd983aefb47b5a890ca22092120b1875c50b731183e0a5ee6911a35f8e61773fe734f37993"
}