Video Processing
The system of mediaprocessing allows you to design a variety of complex business solutions related to video, such as streaming services, video surveillance systems, broadcasts from mobile applications, online TV and so on. Thanks to VeBus, the system can be distributed where some tasks can be shifted to different servers.
Simple pipelines
Processing like conveyor
The architecture looks like a conveyor, that allows quickly build a pipline of dozens of different elements, such as decoders, demuxers, coders, parsers and others.
  • media output
  • Verona element #1
  • Verona element #2
  • media output
pic transporterpic transporter mobile
Multidimensional pipelines
Processing like neural networks
To create complex solutions, the pipeline can be multidimensional. For example, to receive data from several sources at once, process them, send them both to clients and to the repository to other servers.
pic multidimensionalpic multidimensional mobile
The elements for pipelines

The element of the payline is the minimum unit, of which the whole conveyor is assembled. Each element performs one minimal data processing task. To solve complex problems, the elements connect to each other and create a conveyor.

Below are the main elements for Verona's piplines.

Free to decide how connect to any source by protocol and unpacks media from the container.
pic demuxer mobilepic demuxer mobile
Supported containers: aac, ac3, aiff, amr, apng, asf, avi, bink, dts, dvb, flac, flv, gXXX, gif, gsm, h261, h263, h264, h265, hls, mkv, mpegts, mjpeg, mov, mp3, mpc, mpegps, mpegvideo, ogg, voribs, pcm, raw, rtp, rtsp, sox, swf, wav, wma, wmv, webcam and etc.
Video Decoder
Receives on the input any video packet, decodes it in a RAW, YUV or RGB frame and sends it further.
pic videodecoder mobilepic videodecoder mobile
During startup, it automatically analyzes the frame and determines which element to decode better.
Audio Decoder
Receives on the input any audio package, decodes it into RAW PCM samples and sends it further.
pic audiodecoderpic audiodecoder mobile
Supported decoders: aac, ac3, adpcm, alac, arm, eac3, flac, gsm, mp1, mp2, mp3, mpc, pcm, wav, theora and etc.
AAC Encoder
Receives on input RAW audio package and encodes it into AAC.
pic aac encoderpic aac encoder mobile
Uses falabaac encoder instead FAAC encoder. That is faster on encoding AAC LC profile.
Audio Resampler
Receives RAW audio on input and produces it into another sample.
pic audio resamplerpic audio resampler mobile
Also able to convert stereo to mono or vice versa.
Receives audio or video on input, adjusts timestamps, aligns smooth and sends further.
pic av syncpic av sync mobile
Solves a lot of non-standard problems with video.
H264 Encoder
Receives raw video on the input and encodes it in to h.264 with the required parameters.
pic hencoderpic hencoder mobile
The encoder x264 is used.
HEVC Encoder
Receives raw video on the input and encodes it in to h.265 with the required parameters.
pic hevcpic hevc mobile
The encoder x265 is used.
JPEG Encoder
Receives RAW video from the input and encodes it into JPEG using a very fast codec.
pic jpegpic jpeg mobile
The encoder libjpeg-turbo is used.
Collects audio and video frames into Travis, MpegTS or MP4.
pic muxerpic muxer mobile
Own implementation of the muxers.
Image Resizer
Gets the input of a RAW video frame, changes its size and gives it further.
pic imgrespic imgres mobile
Rate Controller
Receives at the input any stream with any fps and gives further with a lowered fps.
pic ratepic rate mobile
Image Formatter
Receives on the input source video in any of RGB, YUV or GRAY8 palettes and converts it to another.
pic img formatterpic img formatter mobile
H264 Parser
Receives video on input in h.264 and analyzes & corrects it without decoding.
pic hparserpic hparser mobile
Media Segmenter
Receives the encoded audio & video on the input and then cuts them into segments for N-seconds.
pic mediapic media mobile
BG Subtractor
Gets RAW video frames on input and on make output frames looks like a frame on a long exposure and mostly removing any movement.
pic subtractorpic subtractor mobile
Video Estimator
Receives RAW video frames on the input and returns information about how much it has changed relative to the previous one.
pic video estimatorpic video estimator mobile
List of Verona pipeline elements