Blog
Why Your Video Link Won’t Embed on Patreon — and How to Fix It
Learn how to distinguish a source-file problem from a player-link problem and a Patreon preview problem before republishing your post.
Read article →Build a straightforward HTTPS MP4 delivery setup, understand its limits, and use RedShoreMedia to turn a compatible file link into a Patreon player.
RedShoreMedia · Reviewed 2026-10-29
Start with a supported Linux release, a public hostname and a provider that permits your content and expected video traffic. Check disk space, monthly transfer, excess charges and network capacity. Keep an independent backup. This tutorial describes files already stored on infrastructure you control; RedShoreMedia does not automatically administer your VPS or transcode your original video.
Create an administrator with SSH-key access, keep the system updated and configure the firewall carefully. Preserve SSH access before enabling restrictions, and expose only the services you need. Do not put your SSH keys, application credentials or database backups in a directory served by the web server.
Point video.example.com at your server, substituting your own real hostname. Install Nginx and configure a trusted HTTPS certificate with a maintained certificate tool, or use a server such as Caddy that manages HTTPS. Verify renewal and the complete certificate chain. The configuration example below belongs inside an existing, correctly configured HTTPS virtual host; it does not by itself issue a certificate.
For broad compatibility, prepare a suitable H.264 video with AAC audio in MP4 when appropriate. The example FFmpeg command only moves container metadata; it copies the existing codecs and does not make an incompatible video compatible. Keep the source master and test the delivery copy before replacing anything. Disable directory listing, use read-only public file permissions and serve the correct media type.
Request the file directly and inspect a byte-range request. A working range response should return 206 with an appropriate Content-Range. A normal HEAD response is useful but is not sufficient proof that playback and seeking work. Static Nginx delivery normally supports ranges; unusual proxies and storage gateways may alter the behavior.
The sample uses wildcard CORS for intentionally public, credential-free files. That is a compatibility setting, not a privacy system. For private delivery, design authentication or signed sources separately. HLS needs valid access and CORS on all playlists, segments and keys, so begin with a simple MP4 until the basic delivery path works.
Open the public URL tester with a non-sensitive file. Use its three-hour test link to check a real Patreon post if needed. For permanent publication, create an account, add Your server or storage, save the source and copy the library’s RedShoreMedia watch link into Patreon’s Embed URL field. Set the intended audience and test both app and browser.
Keep monitoring storage, certificates, traffic and error rates. A VPS gives control, not unlimited capacity or automatic anti-piracy. If a release spike exceeds its network, add suitable delivery infrastructure or move the source while retaining your saved RedShoreMedia link. Source-file access protection remains a separate responsibility on your host.
# Example: Ubuntu server; first configure DNS and HTTPS for YOUR hostname.
sudo apt update
sudo apt install nginx ffmpeg
sudo install -d -m 755 /srv/videos
ffmpeg -i input.mp4 -c copy -movflags +faststart output.mp4
sudo install -m 644 output.mp4 /srv/videos/lesson.mp4
# Inside your existing HTTPS server { ... } block:
location /videos/ {
alias /srv/videos/;
autoindex off;
types { video/mp4 mp4; video/webm webm; }
add_header X-Content-Type-Options nosniff always;
# Public, credential-free playback. A token is NOT made private by CORS.
add_header Access-Control-Allow-Origin "*" always;
add_header Access-Control-Expose-Headers "Content-Length, Content-Range, Accept-Ranges" always;
}
# Validate before reloading; preserve other server blocks.
sudo nginx -t
sudo systemctl reload nginx
curl -I https://video.example.com/videos/lesson.mp4
curl -sS -D - -o /dev/null -H "Range: bytes=0-1023" https://video.example.com/videos/lesson.mp4Preview a compatible video without an account, then create a three-hour link to test in a real Patreon post.
Test your URL Create a permanent video link