Skip to content

dzeromsk/hello264

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hello264

This project is a very basic H264 encoder built in Go. The primary goal of this project was to gain an understanding of how H264 file format works. It utilizes the I_PCM block type, hence there's no compression of raw YUV420P data.

Features

  • Converts raw YUV420P data to H264 format.
  • Uses I_PCM block format without compression.

How it Works

The project takes raw YUV420P data and encodes it into the H264 format using the I_PCM block type. It segments the encoded data into NAL units.

Getting Started

Prerequisites

  • Go toolchain
  • YUV420P raw data input

Installation

Install the package:

go install github.com/dzeromsk/hello264@latest

Usage

To encode raw YUV420P data to H264:

hello264 < input.yuv > output.h264

Replace input.yuv with the path to your raw YUV420P data and output.h264 with the desired output file path.

Notes

Inspired by

License

This project is licensed under the Apache License - see the LICENSE file for details.

About

minimal h264 encoder

Resources

License

Stars

Watchers

Forks