Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. C/C++
  3. OpenH264

OpenH264

BSD-2-ClauseC++v2.6.0

An open-source H.264 codec library for real-time video encoding and decoding, widely used in WebRTC applications.

GitHubGitHub
6.1k stars1.9k forks0 contributors

What is OpenH264?

OpenH264 is an open-source library that implements the H.264 video compression standard for both encoding and decoding video streams. It is designed specifically for real-time applications like video conferencing and WebRTC, providing a reliable and performant codec solution. The project addresses the need for a freely available, high-quality H.264 implementation that can be integrated into various software and platforms.

Target Audience

Developers building real-time communication applications, video streaming services, embedded systems requiring video codecs, and WebRTC implementers who need a standardized H.264 solution.

Value Proposition

Developers choose OpenH264 because it offers a production-ready, BSD-licensed H.264 implementation with broad platform support and optimizations for real-time use. Its integration with WebRTC and focus on constrained baseline profile compliance make it a practical choice for interoperable video communication without licensing complexities.

Overview

Open Source H.264 Codec

Use Cases

Best For

  • Implementing video encoding/decoding in WebRTC applications
  • Adding H.264 support to real-time communication platforms
  • Embedded systems requiring efficient video compression
  • Cross-platform video processing libraries
  • Educational projects exploring video codec implementation
  • Open-source alternatives to proprietary H.264 codecs

Not Ideal For

  • Projects requiring high-resolution video encoding beyond 4K (3840x2160)
  • Applications needing advanced H.264 profiles like High Profile for better compression
  • Developers seeking a simple, out-of-the-box codec without complex build dependencies

Pros & Cons

Pros

WebRTC-Focused Optimization

Specifically designed for real-time communication with features like temporal scalability and simulcast, making it seamless for WebRTC integration as highlighted in the encoder features.

Extensive Cross-Platform Support

Runs on Windows, macOS, Linux, Android, iOS across x86, ARM, and other architectures, verified in the OS Support section for broad deployment.

Performance with Assembly Code

Includes MMX/SSE optimizations for Intel and NEON for ARM, with multi-threading in encoding, enhancing processing speed for live video as noted in processor support.

Cons

Limited H.264 Profile Support

Only implements Constrained Baseline Profile, lacking advanced features like High Profile, which reduces compression efficiency for non-real-time use compared to full-featured codecs.

Complex Build and Dependencies

Requires external tools like NASM with specific version constraints (e.g., below 2.11.08 for Mac) and platform-specific setups, increasing integration overhead as detailed in the building instructions.

Resolution and Size Limitations

Known issues cause encoder errors when resolution exceeds 3840x2160 or compressed frame size is too large, restricting high-definition applications as admitted in the Known Issues section.

Frequently Asked Questions

Quick Stats

Stars6,057
Forks1,895
Contributors0
Open Issues259
Last commit5 months ago
CreatedSince 2013

Tags

#media-processing#embedded#video-encoding#cross-platform#webrtc#real-time

Built With

g
gtest
M
Make
N
NASM
M
Meson
C
C++

Included in

C/C++70.6k
Auto-fetched 1 day ago

Related Projects

libde265libde265

Open h.265 video codec implementation.

Stars1,884
Forks484
Last commit4 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub