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.
- Converts raw YUV420P data to H264 format.
- Uses I_PCM block format without compression.
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.
- Go toolchain
- YUV420P raw data input
Install the package:
go install github.com/dzeromsk/hello264@latest
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.
Inspired by
This project is licensed under the Apache License - see the LICENSE file for details.