Video processing

The media-processing system allows you to design a variety of complex video-related business solutions, such as streaming services, video surveillance systems, broadcasts from mobile applications, online TV and so on. Thanks to VEBuS, the system can be distributed so that some tasks are shifted to different servers.
Simple pipelines
Conveyor belt–like processing
The architecture is reminiscent of a conveyor belt, in that it allows a quick buildup of a pipeline of dozens of different elements, such as decoders, demuxers, coders, parsers etc.
  • media output
  • Verona element #1
  • Verona element #2
  • media output
pic transporterpic transporter mobile
Multidimensional pipelines
Neural network–like processing
In order to create complex solutions, the pipeline can be multidimensional. For example, it can receive data from several sources at once, process it, and send it both to clients and to other servers' repositories.
pic multidimensionalpic multidimensional mobile
Pipeline elements

The basic element of the pipeline is the minimum unit, from which the whole conveyor belt is assembled. Each element performs one minimal data-processing task. To solve complex problems, the elements connect and create a conveyor belt.

Below are the main elements of Verona's pipelines.

Demuxer
Freely decides how to connect to any source by protocol; 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, H.261, H.263, H.264, H.265, HLS, MKV, MPEG-TS, MJPEG, MOV, MP3, MPC, MPEG-PS, MPEG-video, OGG, VORIBS, PCM, RAW, RTP, RTSP, SOX, SWF, WAV, WMA, WMV, webcam etc.
Video decoder
Receives any video packet, decodes it into RAW, YUV or RGB and sends it on.
pic videodecoder mobilepic videodecoder mobile
During startup, the decoder automatically analyzes the frame and determines which element needs to be decoded.
Audio decoder
Receives any audio package, decodes it into RAW PCM samples and sends it on.
pic audiodecoderpic audiodecoder mobile
Supported decoders: AAC, AC3, ADPCM, ALAC, ARM, EAC3, FLAC, GSM, MP1, MP2, MP3, MPC, PCM, WAV, Theora etc.
AAC encoder
Receives the RAW audio package and encodes it into AAC.
pic aac encoderpic aac encoder mobile
Uses falabaac instead of the FAAC encoder, which makes encoding AAC LC faster.
Audio resampler
Receives RAW audio and converts it to another format.
pic audio resamplerpic audio resampler mobile
Converts stereo to mono and vice versa.
AV sync
Receives audio or video, adjusts timestamps, smoothly aligns and sends it further.
pic av syncpic av sync mobile
Solves a lot of non-standard video problems.
H.264 encoder
Receives raw video and encodes it into H.264 within the required parameters.
pic hencoderpic hencoder mobile
x264 encoder
HEVC encoder
Receives raw video and encodes it into H.265 within the required parameters.
pic hevcpic hevc mobile
x265 encoder
JPEG encoder
Receives RAW video and encodes it into JPEG using a very fast codec.
pic jpegpic jpeg mobile
libjpeg-turbo encoder
Muxer
Converts audio and video frames into Travis, MPEG-TS or MP4.
pic muxerpic muxer mobile
Proprietary muxer implementation
Image resizer
Receives a RAW video frame, resizes it and sends it on.
pic imgrespic imgres mobile
Rate controller
Receives a stream, lowers its fps and sends it on.
pic ratepic rate mobile
Image formatter
Receives source video in any of RGB, YUV or GRAY8 palettes and converts it to another palette.
pic img formatterpic img formatter mobile
H.264 parser
Receives video in H.264, and analyzes and corrects it without decoding.
pic hparserpic hparser mobile
Media segmenter
Receives the encoded audio and video and cuts them into segments for N-seconds.
pic mediapic media mobile
BG subtractor
Receives RAW video frames and creates frames that look like long-exposure frames, while removing most of the motion.
pic subtractorpic subtractor mobile
Video estimator
Receives a RAW video frame 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