Best export settings for PMVs (porn music videos)
You spent hours curating clips and finding the perfect song. The beat-sync is tight, the energy builds perfectly, and the preview looks great. Then you upload it to Discord and it looks like it was filmed through a wet napkin.
Every platform re-encodes your video after upload. The trick is giving it a file that survives compression with minimal quality loss. This guide covers exactly what settings to use.
Quick reference table
If you just want the answer, here it is. Details and reasoning below.
| Setting | Recommended | Why |
|---|---|---|
| Codec | H.264 (AVC) | Universal platform support — every site accepts it without re-encoding to a different codec |
| Container | .mp4 | Most compatible container format across all platforms |
| Resolution | 1920x1080 (1080p) | Best quality-to-filesize ratio. 4K is overkill for most sharing platforms and gets downscaled anyway |
| Frame rate | 30fps or 60fps | 60fps looks smoother for fast cuts but doubles file size. 30fps is the safe default |
| Bitrate (1080p 30fps) | 8-12 Mbps VBR | High enough to look clean, low enough to stay under upload limits |
| Bitrate (1080p 60fps) | 12-16 Mbps VBR | 60fps needs more bitrate to maintain quality on fast motion |
| Bitrate (4K 30fps) | 25-40 Mbps VBR | Only if sharing on a platform that preserves 4K |
| Rate control | VBR (variable bitrate) | Allocates more bits to complex scenes (fast cuts, high motion) and fewer to static moments |
| Audio | AAC, 320kbps, stereo | Transparent quality for music. Lower bitrates add audible compression artifacts on beat-heavy tracks |
H.264 vs H.265 vs AV1 — which codec to use
This is the most common question, and the answer is simpler than most guides make it: use H.264 for sharing, H.265 for archiving.
| Codec | File size | Quality | Encode speed | Platform support | Best for |
|---|---|---|---|---|---|
| H.264 (AVC) | Baseline | Great | Fast | Universal — every platform, every browser, every device | Sharing on Discord, Reddit, Twitter/X |
| H.265 (HEVC) | ~30-50% smaller | Slightly better at same bitrate | Slower | Good but not universal — some browsers and older devices struggle | Archiving your master copy, saving disk space |
| AV1 | ~30-50% smaller than H.265 | Best at same bitrate | Very slow | Growing — YouTube, Discord, and most modern browsers support it. Reddit and some older apps don't | YouTube uploads if you have the encode time |
The reason H.264 wins for sharing: when a platform re-encodes your upload, it's decoding your file and re-encoding it in its own format. If you upload H.265 to a platform that stores H.264 internally, your video gets decoded and re-encoded — two generations of compression instead of one. H.264 input to an H.264 pipeline minimizes that quality loss.
What about file size?
A 4-minute 1080p PMV at 10 Mbps VBR is roughly 300 MB in H.264. That's well under Reddit's 1 GB limit and manageable for most Discord servers with Nitro users. If file size is a problem, drop the bitrate to 6-8 Mbps before switching codecs — H.264 at 8 Mbps looks better than H.265 at 4 Mbps on most platforms because the re-encoding penalty is lower.
CBR vs VBR — which rate control to use
CBR (constant bitrate) allocates the same number of bits to every second of video, whether it's a static held shot or a rapid-fire beat drop with 4 cuts per second.
VBR (variable bitrate) gives more bits to complex scenes and fewer to simple ones. For PMVs — which alternate between held shots and rapid cuts — this means the hard parts (fast cuts on drops) get the quality they need while the easy parts (slow pans during verses) don't waste space.
Use VBR. PMVs have extreme variation in visual complexity by design. CBR wastes bitrate on calm sections and starves the intense sections. Every modern encoder handles VBR well.
Platform-specific upload guides
Discord
| Tier | Max file size | Notes |
|---|---|---|
| Free | 25 MB | Extremely limiting. A 4-minute 1080p PMV won't fit. Use a link (Catbox, Gofile) instead of direct upload |
| Nitro Basic | 50 MB | Still tight for anything over 1-2 minutes at decent quality |
| Nitro | 500 MB | Comfortable for most PMVs at full quality |
Discord compression behavior: Videos uploaded directly are re-encoded if they exceed the server's playback threshold. To minimize quality loss: keep bitrate under 8 Mbps for direct uploads, use H.264, and stick to 1080p. For full-quality sharing, upload to an external host (Catbox.moe has a 200 MB limit with no account, Gofile has no limit) and share the link.
Tip: Discord embeds play inline up to a certain file size. If your video shows as a download link instead of an embedded player, the file is too large for the server's tier.
| Setting | Limit |
|---|---|
| Max file size | 1 GB |
| Max duration | 15 minutes |
| Supported formats | .mp4, .mov |
| Max resolution | 1080p (higher gets downscaled) |
Reddit compression (v.redd.it): Reddit always re-encodes uploaded video through its own pipeline. It creates multiple quality tiers (240p, 360p, 480p, 720p, 1080p) and serves the one matching the viewer's connection. The re-encoding is aggressive — expect visible quality loss, especially on fast-cut content where compression artifacts are most obvious.
Best approach: Upload at 1080p with 10-12 Mbps bitrate. Giving Reddit a high-quality source means even after re-encoding, the 1080p tier looks decent. Uploading at low bitrate means the re-encoded version looks terrible. Over-feeding quality in is the only defense against Reddit's compression.
Alternative: Many NSFW subreddits allow link posts. Upload your PMV to Catbox or RedGIFs at full quality and post the link instead of using Reddit's native video player.
Twitter / X
| Setting | Limit |
|---|---|
| Max file size | 512 MB (free), 2 GB (Premium) |
| Max duration | 140 seconds (free), 60 min (Premium) |
| Supported codecs | H.264 |
| Max resolution | 1920x1200 |
X compression: Extremely aggressive. X re-encodes everything, often dropping bitrate to 2-4 Mbps regardless of input quality. Fast-cut PMVs suffer badly — compression artifacts appear as blocky smearing on every cut transition. There's no way to avoid this entirely.
Best approach: Upload at 1080p, 8-10 Mbps, H.264. Keep the duration under 140 seconds for free accounts. Accept that X will degrade the quality and use the post to link to a full-quality version hosted elsewhere.
Why PMVs suffer more from compression than normal video
Video compression works by reusing information between frames — if frame 2 is similar to frame 1, the encoder only stores the difference. This works great for talking-head videos or slow pans where 90% of pixels stay the same between frames.
PMVs break this assumption. Every beat-synced cut is a complete scene change — zero pixel reuse between frames. A 4-minute PMV at 120 BPM with cuts on every beat has roughly 480 scene changes. Each one forces the encoder to store a full keyframe, which is much larger than a predicted frame.
This is why the same bitrate that looks fine for a YouTube vlog looks terrible for a PMV. You need higher bitrate to compensate for the constant scene changes. If your export looks blocky or smeary right after each cut, increase the bitrate — that's where the quality is being lost.
Post-export compression with HandBrake
If your exported file is too large for a platform's limit, use HandBrake (free, open-source) to compress it:
- Codec: H.264 (x264)
- Quality: RF 18-20 (lower = better quality, larger file). RF 18 is visually transparent for most content. RF 22+ starts showing artifacts on fast cuts
- Preset: Slow or Very Slow (better quality at same file size, but takes longer to encode)
- Audio: AAC passthrough (don't re-encode the audio if it's already AAC)
Avoid compressing more than once. Each generation of compression stacks artifacts. Export from your editor at high quality, then compress once with HandBrake for the target platform.
Troubleshooting
Video looks blurry after upload
The platform re-encoded it at low bitrate. Fix: upload at higher bitrate (10-12 Mbps for 1080p) so the re-encoded version has more quality to start with. Or share via direct link (Catbox, Gofile) instead of native upload.
Blocky artifacts on every cut
The encoder is running out of bits on scene changes. Fix: increase your export bitrate. PMVs with fast cuts need more bitrate than normal video — 8 Mbps minimum for 1080p, 12+ for 60fps.
Audio and video out of sync after export
Usually caused by variable frame rate (VFR) source clips. Some screen recordings and phone videos use VFR. Fix: convert source clips to constant frame rate (CFR) before editing with HandBrake, or ensure your editor's export is set to CFR.
File too large for Discord
At 25 MB (free tier), you can fit roughly 30 seconds of 1080p at 6 Mbps. For anything longer, either compress with HandBrake targeting a specific file size, or upload to Catbox/Gofile and share the link.
Export takes forever
H.265 and AV1 encode much slower than H.264. If you're exporting H.264 and it's still slow, check if your editor is using software encoding instead of hardware encoding (NVENC for NVIDIA, QSV for Intel, AMF for AMD). Hardware encoding is 5-10x faster with minimal quality difference at the bitrates PMVs use.
Already using Onset Engine?
Onset Engine exports H.264 MP4 by default at optimized settings for beat-synced content. If you need to adjust bitrate or resolution, check the export panel before rendering.
Try Onset Engine or try the free demo first - no credit card neededRelated guides
- How to make a PMV
- How to choose music for PMVs
- PMV pacing and energy curves
- Best PMV software compared