Basically, “Encoder” is a device that is used to convert data from one format to another. It can be either software or hardware. An encoder is important for converting the forage from your camera to streamable data.
RTMP (Real Time Messaging Protocol) is the most popular format for the converted data. The encoder takes the format that is required and converts it into codecs (decompression/compression/). For instance, H.264 is the standard for streaming internet sources. It is also the suggested video compression format for high definition (HD) because it can generate lossless encoding.
Software encoders are programs that run on laptop or desktop computer. The quality on software encoders is great. You can change or tweak most facets of the codecs (decompressors/compressors) to get the video quality and bit-rate you want.
Hardware encoders are dedicated processors. These encoders use a designed algorithm to encode data and video into streamable content. These encoders can come in larger permanent fixtures or smaller, portable boxes.