lulinchen / jpeg_open

A hardware MJPEG encoder and RTP transmitter
MIT License
36 stars 17 forks source link
encoder fpga mjpeg rtp

A hardware MJPEG encoder and RTP transmitter

This project realizes a JPEG baseline encoder and transmitter over ehternet.

The code is written by Verilog/SystemVerilog and Synthesized on Xilinx KintexUltrascale FPGA using Vivado.

With full pipleline implementation, the encoder has the ability to encoder 4k video realtime.

Demo

Xilinx KCU105 Board, with an HDMI input daughter board.

The input 1080P HDMI input is encoded to JPEG and transported over ethernet to PC.

On the PC, play with VLC or ffmpeg.

VLC sdp file:

v=0
c=IN IP4 255.255.255.255 
t=0 
m=video 39630 RTP/AVP 26 
a=rtpmap:26 JPEG

ffplay:

run ffplay -i rtp://225.255.255.255:39630

TODO

Reference

OpenCores jpeg IP cores

JasonJiangSheng, "JpegEnc"

RFCxxxx

Author

LulinChen
lulinchen@aliyun.com