Skip to main content

Video Encoding for Digital Signage

Video content dominates digital signage, but improper encoding leads to playback failures, poor quality, excessive bandwidth, and frustrated deployments. This comprehensive guide covers everything you need to know about encoding video for reliable digital signage playback.


Video Encoding Fundamentals​

The Encoding Pipeline​

Source Video → Decode → Process → Encode → Container → Distribute → Decode → Display

Key Decisions:
├── Codec: How video is compressed (H.264, HEVC, AV1)
├── Container: File format wrapper (MP4, MKV, MOV)
├── Resolution: Frame dimensions (1920×1080, 3840×2160)
├── Bitrate: Data rate (quality vs. file size)
├── Frame Rate: Frames per second (24, 30, 60 fps)
└── Profile/Level: Codec capability subset

Why Encoding Matters for Signage​

Common Problems from Poor Encoding:

  • Playback stuttering or freezing
  • Audio/video sync issues
  • Player crashes
  • Excessive storage consumption
  • Network congestion
  • Display compatibility failures
  • Color/quality degradation

Properly Encoded Video Delivers:

  • Reliable 24/7 playback
  • Consistent quality across devices
  • Efficient bandwidth utilization
  • Reduced storage costs
  • Simplified content management

Video Codec Comparison​

Major Codecs for Digital Signage​

CodecAlso Known AsReleasedCompressionSupport Level
H.264AVC, MPEG-4 Part 102003GoodUniversal
H.265HEVC2013ExcellentGood
VP9-2013ExcellentGood
AV1-2018BestGrowing
MPEG-2H.2621995PoorLegacy
MPEG-4 Part 2DivX, Xvid1999PoorLegacy

Why H.264 Remains the Standard:

  • Universal hardware decode support
  • Mature, well-optimized encoders
  • Extensive player compatibility
  • Reasonable file sizes
  • Well-documented behavior

H.264 Profiles:

ProfileUse CaseFeatures
BaselineLegacy devices, mobileI and P frames, no CABAC
MainStandard signageB frames, CABAC
HighHD/4K content8×8 transform, additional tools
High 10HDR content10-bit color depth
High 4:2:2Broadcast, professional4:2:2 chroma

Recommended: High Profile for modern signage players

H.264 Levels:

LevelMax ResolutionMax BitrateUse Case
3.11280×72014 Mbps720p signage
4.02048×102420 Mbps1080p standard
4.12048×102450 Mbps1080p high quality
4.22048×108850 Mbps1080p 60fps
5.03840×2160135 Mbps4K 30fps
5.14096×2160240 Mbps4K 60fps

H.265/HEVC (For 4K and Advanced Deployments)​

Advantages:

  • 40-50% better compression than H.264
  • Essential for 4K content
  • HDR/WCG support
  • Growing hardware support

Considerations:

  • Requires modern hardware decode
  • Licensing complexity
  • Slower encoding
  • Not universal yet

HEVC Profiles:

ProfileFeaturesUse Case
Main8-bit, 4:2:0Standard 4K signage
Main 1010-bit, 4:2:0HDR content
Main 4:2:2 1010-bit, 4:2:2Professional/broadcast

Player Support Matrix:

PlatformHEVC Hardware Decode
Windows (Intel 6th gen+)Yes
Windows (AMD 2016+)Yes
Windows (NVIDIA 900+)Yes
Android (2016+)Most devices
Raspberry Pi 4/5Yes
BrightSign (HD/XD/XT)Yes
Chrome OSVaries by device
Smart TVs (2017+)Most models

AV1 (Future Standard)​

Advantages:

  • 30% better than HEVC
  • Royalty-free
  • Growing hardware support
  • Best for 4K/8K

Current Limitations:

  • Limited hardware decode (2020+ devices)
  • Slower encoding
  • Not yet universal
  • Player support varies

AV1 Timeline:

  • 2024-2025: Growing hardware support
  • 2026+: Becoming mainstream option

VP9 (Alternative for Specific Platforms)​

Use Cases:

  • YouTube/Google ecosystem
  • Web-based players
  • Chrome devices
  • Android primary

Limitations:

  • Less universal than H.264
  • Fewer hardware decoders
  • Google-centric ecosystem

Codec Selection Guide​

Decision Matrix​

Select Your Codec:

Need universal compatibility?
├── Yes → H.264 High Profile
└── No ↓

Is 4K content primary?
├── Yes → HEVC (verify player support)
└── No ↓

Bandwidth severely limited?
├── Yes → HEVC or AV1 (if supported)
└── No ↓

Web-based player only?
├── Yes → H.264 or VP9
└── No ↓

Default recommendation → H.264 High Profile

Platform-Specific Recommendations​

PlatformPrimary CodecSecondaryAvoid
Windows PlayersH.264HEVCMPEG-2
BrightSignH.264HEVCVP9
Android/SoCH.264HEVCAV1 (older)
Raspberry Pi 4+H.264HEVCVP9
Chrome OSH.264VP9HEVC (some)
Samsung TizenH.264HEVCVP9
LG webOSH.264HEVCAV1
Web PlayersH.264VP9HEVC

Resolution and Frame Rate​

Resolution Guidelines​

Display ResolutionSource ResolutionNotes
1920×1080 (FHD)1920×1080Native 1:1
3840×2160 (4K)3840×2160Native 1:1
1080×1920 (Portrait FHD)1080×1920Encode portrait
2160×3840 (Portrait 4K)2160×3840Encode portrait
Video Wall (custom)Match total pixelsOr per-screen segments

Resolution Best Practices:

  • Match source to display native resolution
  • Never upscale source content
  • Encode in display orientation (portrait/landscape)
  • Video walls: Encode at total wall resolution

Frame Rate Selection​

Content TypeRecommended FPSNotes
Static/text heavy24-30 fpsLower = smaller files
General signage30 fpsGood balance
Smooth motion60 fpsSports, smooth scroll
Cinematic content24 fpsFilm look
Animation30 fpsSufficient fluidity

Frame Rate Rules:

  • Match source frame rate (don't convert 24 → 30)
  • Use constant frame rate (not variable)
  • 60 fps only when motion requires it
  • Higher fps = larger files, more processing

Aspect Ratio Handling​

ScenarioApproach
16:9 content → 16:9 displayDirect playback
4:3 content → 16:9 displayPillarbox or crop
16:9 content → 9:16 portraitLetterbox, crop, or re-edit
Non-standard → StandardEncode to target with padding

Bitrate Optimization​

Understanding Bitrate​

Bitrate = File Size / Duration

  • Higher bitrate = better quality, larger files
  • Lower bitrate = smaller files, potential quality loss
  • Balance: Sufficient quality with efficient file size

H.264 Bitrate Guidelines:

ResolutionLow MotionMedium MotionHigh Motion
720p (30fps)2-4 Mbps4-6 Mbps6-8 Mbps
1080p (30fps)4-6 Mbps6-10 Mbps10-15 Mbps
1080p (60fps)6-10 Mbps10-15 Mbps15-20 Mbps
4K (30fps)15-20 Mbps20-35 Mbps35-50 Mbps
4K (60fps)25-35 Mbps35-50 Mbps50-80 Mbps

HEVC Bitrate Guidelines (30-40% lower than H.264):

ResolutionLow MotionMedium MotionHigh Motion
1080p (30fps)3-4 Mbps4-7 Mbps7-10 Mbps
4K (30fps)10-15 Mbps15-25 Mbps25-35 Mbps
4K (60fps)18-25 Mbps25-35 Mbps35-55 Mbps

VBR vs. CBR​

Constant Bitrate (CBR):

  • Fixed data rate throughout
  • Predictable file sizes
  • Predictable bandwidth
  • Quality varies with content complexity

Variable Bitrate (VBR):

  • Adapts to content complexity
  • Better quality per bit
  • Less predictable file sizes
  • More efficient overall

Recommendation: VBR with constrained maximum (capped VBR)

Encoding Settings:

Constrained VBR Example:
- Target bitrate: 8 Mbps
- Maximum bitrate: 12 Mbps
- VBV buffer: 1.5× target = 12 Mbit

Result: Quality adapts to content, never exceeds 12 Mbps

Calculating Storage Requirements​

File Size (GB) = (Bitrate in Mbps × Duration in seconds) / 8 / 1024

Example:
- 8 Mbps video
- 60 seconds
- Size = (8 × 60) / 8 / 1024 = 0.059 GB ≈ 60 MB

Daily Loop (8 hours, various content):
- Average 6 Mbps
- 28,800 seconds
- Size = (6 × 28800) / 8 / 1024 = 21.1 GB

Container Formats​

Containers vs. Codecs​

Container = File format (packaging) Codec = Compression method (content)

Example: video.mp4

Container: MP4 (MPEG-4 Part 14)
├── Video track: H.264 codec
├── Audio track: AAC codec
└── Metadata: Duration, chapters, etc.

Container Comparison​

ContainerExtensionH.264HEVCAV1Signage Use
MP4.mp4✓✓✓Recommended
MOV.mov✓✓✓Mac-origin
MKV.mkv✓✓✓Flexible
WebM.webm✗✗✓Web players
AVI.avi✓✗✗Legacy
TS.ts✓✓✗Streaming

Recommendation: MP4 for maximum compatibility

MP4 Best Practices​

Moov Atom Placement:

  • Place at file start (fast start/web optimized)
  • Enables immediate playback without full download
  • Critical for network-delivered content

FFmpeg Command:

-movflags +faststart

Audio Encoding​

Audio Codec Selection​

CodecQualityCompatibilityUse Case
AAC-LCGoodUniversalDefault choice
AAC-HEGood (low bitrate)GoodBandwidth limited
MP3AcceptableUniversalLegacy
AC3/DolbyGoodHDMI outputAV systems
OpusExcellentGrowingWeb, modern
PCMPerfectLarge filesArchival

Recommendation: AAC-LC for universal signage

Audio Bitrate Guidelines​

Quality LevelStereo BitrateTypical Use
Background64-96 kbpsAmbient, low priority
Standard128 kbpsGeneral signage
Good192 kbpsMusic-focused
High256-320 kbpsPremium audio

Audio Sample Rate​

Sample RateUse Case
44.1 kHzMusic, CD-quality
48 kHzVideo standard (recommended)
96 kHzProfessional audio

Recommendation: 48 kHz to match video standards

Channel Configuration​

ChannelsConfigurationNotes
1MonoSimple, small files
2StereoStandard
5.1SurroundRequires compatible output

Signage Recommendation: Stereo (2 channel) at 48 kHz, 128-192 kbps AAC


Encoding Tools and Settings​

Professional Tools​

Software Encoders:

ToolTypeBest For
FFmpegCommand-lineAutomation, batch
HandBrakeGUIIndividual files
Adobe Media EncoderGUICreative workflow
DaVinci ResolveGUIColor grading + encode
Compressor (Apple)GUIApple ecosystem

Hardware Encoders:

  • NVIDIA NVENC
  • Intel QuickSync
  • AMD VCE
  • Apple VideoToolbox

FFmpeg Reference Commands​

Standard 1080p H.264 for Signage:

ffmpeg -i input.mp4 \
-c:v libx264 \
-preset medium \
-profile:v high \
-level 4.1 \
-crf 18 \
-maxrate 10M \
-bufsize 15M \
-c:a aac \
-b:a 192k \
-ar 48000 \
-movflags +faststart \
output.mp4

4K HEVC for Modern Players:

ffmpeg -i input.mp4 \
-c:v libx265 \
-preset medium \
-profile:v main \
-crf 20 \
-maxrate 25M \
-bufsize 37M \
-c:a aac \
-b:a 192k \
-ar 48000 \
-movflags +faststart \
output.mp4

Portrait Mode Encoding (1080×1920):

ffmpeg -i input.mp4 \
-vf "scale=1080:1920:force_original_aspect_ratio=decrease,pad=1080:1920:(ow-iw)/2:(oh-ih)/2" \
-c:v libx264 \
-preset medium \
-crf 18 \
-c:a aac \
-b:a 192k \
-movflags +faststart \
output.mp4

Batch Encoding Script (Bash):

#!/bin/bash
for file in *.mp4; do
ffmpeg -i "$file" \
-c:v libx264 -preset medium -crf 18 \
-c:a aac -b:a 192k \
-movflags +faststart \
"encoded/${file%.mp4}_signage.mp4"
done

Quality Settings Explained​

CRF (Constant Rate Factor):

  • Range: 0-51 (lower = better quality, larger files)
  • 18: Visually lossless for most content
  • 20-22: Excellent quality, good compression
  • 23-25: Good quality, smaller files
  • 26+: Noticeable quality loss

Preset (Encoding Speed):

PresetSpeedCompressionUse
ultrafastFastestPoorestTesting only
veryfastVery fastPoorReal-time
fasterFastBelow averageQuick jobs
fastFastAverageDaily use
mediumMediumGoodRecommended
slowSlowBetterFinal encode
slowerSlowerEven betterQuality priority
veryslowSlowestBestMaximum quality

Recommendation: medium preset with crf 18-20


Common Issues and Solutions​

Playback Problems​

SymptomLikely CauseSolution
Video won't playCodec incompatibilityRe-encode with H.264
Stuttering/choppyBitrate too highReduce bitrate or resolution
Audio out of syncVFR sourceConvert to CFR
Black screen with audioHardware decode failureCheck player codec support
Freezing mid-playbackCorrupt fileRe-encode, check source
Color looks wrongColor space mismatchSet bt709 color space
Blocky artifactsBitrate too lowIncrease bitrate

Variable Frame Rate (VFR) Issues​

Problem: Many phone/screen recordings use VFR, causing playback issues.

Detection:

ffprobe -v error -select_streams v:0 \
-show_entries stream=r_frame_rate,avg_frame_rate \
input.mp4

If r_frame_rate ≠ avg_frame_rate, content may be VFR.

Solution - Convert to CFR:

ffmpeg -i input.mp4 \
-vsync cfr \
-r 30 \
[other options] \
output.mp4

Color Space Issues​

Standard for SDR Signage:

-colorspace bt709 -color_primaries bt709 -color_trc bt709

Full FFmpeg Example:

ffmpeg -i input.mp4 \
-c:v libx264 -crf 18 \
-colorspace bt709 \
-color_primaries bt709 \
-color_trc bt709 \
-c:a aac \
output.mp4

File Size Optimization​

When Files Are Too Large:

  1. Reduce bitrate (try CRF 22-24)
  2. Lower resolution if viewing distance allows
  3. Use HEVC if players support it
  4. Reduce frame rate for low-motion content
  5. Optimize source content (remove unnecessary complexity)

When Quality Is Insufficient:

  1. Verify source quality is good
  2. Lower CRF (try 16-18)
  3. Increase bitrate limits
  4. Use slower encoding preset
  5. Check for VFR issues

Encoding Workflow​

Production Workflow​

Content Creation Workflow:

1. PRODUCTION
├── Shoot/create at highest practical quality
└── Export masters in production codec (ProRes, DNxHD)

2. ARCHIVAL
├── Keep production masters
└── Create high-quality archive version

3. SIGNAGE ENCODE
├── Encode from archival master (not production master)
├── Target specific player requirements
└── Create multiple versions if needed

4. QUALITY CHECK
├── Test on target hardware
├── Verify playback performance
└── Check sync, color, audio

5. DEPLOYMENT
├── Upload to CMS
├── Verify delivery
└── Monitor playback

Multi-Platform Encoding​

When supporting multiple player types:

Source Master
│
├──► H.264 High Profile (universal)
│ └── Resolution/bitrate for weakest player
│
├──► HEVC Main Profile (4K players)
│ └── Higher quality, smaller files
│
└──► WebM/VP9 (web players)
└── Browser compatibility

Frequently Asked Questions​


Summary​

Universal Signage Encoding Settings:

Codec: H.264 High Profile (Level 4.1 for 1080p, 5.0 for 4K)
Container: MP4 with fast start
Resolution: Match display native
Frame Rate: 30 fps (60 for smooth motion)
Bitrate: 6-10 Mbps (1080p) / 20-35 Mbps (4K)
Audio: AAC-LC, 192 kbps, 48 kHz, Stereo

Key Principles:

  1. Always verify player codec support before encoding
  2. Match resolution to display native resolution
  3. Use constant frame rate (CFR), not variable (VFR)
  4. Enable fast start for MP4 files
  5. Test on actual target hardware before deployment
  6. Keep source masters for re-encoding needs

Proper video encoding prevents playback failures, optimizes bandwidth, and ensures consistent quality across your digital signage network.

Try it on your own screens, free​

DigitalSignage.com, which publishes this guide, runs a permanent free plan: the first 3 screens are free forever (no credit card, no ads, no time limit), then from $3 per screen per month with volume pricing via a public calculator. The free SignPlayer runs on Windows, Mac, Android and Android TV, Chrome OS, Raspberry Pi, iPad or any modern web browser. Start free · 2026 pricing