There are some concepts, terms and abbreviations widely used in this manual and needed to be explained for better understanding of VASTreaming libraries.
AAC (ISO/IEC standard 14496-3 or ITU-T Rec. H.264 - MPEG-4 Part 3, Audio) stands for Advanced Audio Coding, a proprietary audio coding standard for lossy digital audio compression. AAC provides better sound quality than MP3 at the same bit rate.
DirectShow is a multimedia framework and API produced by Microsoft for software developers to perform various operations with media files or streams.
Elementary stream is a stream containing the same type of data (video or audio) and transferring with the same bitrate.
FFmpeg is a free open-source software project producing libraries and executables for handling multimedia data. It is a leading multimedia framework giving users an opportunity to decode, encode, transcode, stream, filter and play various multimedia contents.
H.264 (ISO/IEC standard 14496-10 or ITU-T Rec. H.264 - MPEG-4 Part 10, Advanced Video Coding) is a block-oriented motion-compensation-based video compression standard.
H.265 (ISO/IEC standard 23008-2 or ITU-T Rec. H.265 - High efficiency video coding) or High Efficiency Video Coding (HEVC), also known as MPEG-H, is a video compression standard. In comparison to H.264, HEVC offers about double the data compression ratio at the same level of video quality.
HLS (RFC8216) stands for HTTP Live Streaming, a media streaming protocol developed by Apple utilizing transport stream as a container and the HTTP as a transport.
JSON API is a specification for how a client should request resources to be fetched or modified, and how a server should respond to those requests. JSON API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers.
LL-HLS stands for Low-Latency HLS. It extends the protocol to enable low-latency video streaming while maintaining compatibility. The low-latency mode lowers video latencies over public networks into the range of standard television broadcasts.
Media descriptor is a set of MediaType objects describing all streams of a particular media source, media sink or publishing point.
Media Foundation is a COM-based multimedia framework pipeline and infrastructure platform for digital media in Windows Vista, Windows 7, Windows 8, Windows 8.1 and Windows 10.
MJPEG - Motion JPEG, a video compression format in which each video frame or interlaced field of a digital video sequence is compressed separately as a JPEG image.
MP1/2/3 is an audio compression format defined by ISO/IEC 11172-3. Correspondently, MP1/2/3 are MPEG-1 Audio Layer I (MP1), MPEG-2 Audio Layer II (MP2), and MPEG-1 Audio Layer III (MP3). These formats use a form of lossy data compression to encode data with approximations and the partial discarding of data what allows to reduce file size significantly.
MP4 (ISO/IEC standard 14496-14) is a digital multimedia container format most commonly used to store video and audio. It also allows storing other data such as subtitles and still images. Being a container format, MP4 can be used for streaming the media data over the Internet.
MPEG-DASH is an adaptive bitrate streaming technique that enables high quality streaming of media content over the Internet delivered from HTTP web servers. DASH stands for Dynamic Adaptive Streaming over HTTP.
Multicast is a form of communication where a piece of information is sent from one point to many points. There is only one sender and any number of connected receivers.
NTP stands for Network Time Protocol. This protocol defines clock synchronization between computer systems over packet-switched, variable-latency data networks.
OBS stands for Open Broadcaster Software, free and open-source software for video recording and live streaming.
OpenGL stands for Open Graphics Library, an open-source software interface to graphics hardware, supported on almost all platforms. The interface consists of over 250 different function calls which can be used to draw complex two and three-dimensional scenes from geometric primitives.
Publishing point is a virtual entity on a media server answering users requests with some content. After a user connects a publishing point, the server manages the connection and streams the content. The term was introduced by Microsoft to translate client requests for content into a physical path on the server hosting the content.
RTP stands for Real-time Transport Protocol, a network protocol for delivering audio and video over IP networks.
RTMP stands for Real Time Messaging Protocol, a streaming protocol developed by Adobe. It maintains persistent connections and allows low-latency communication. The RTMP supports a limited number of codecs.
RTSP (RFC2326) stands for Real Time Streaming Protocol. The protocol is used for establishing and controlling media sessions between end points. Like the RTMP, it also allows low-latency communication but supports a lot of codecs.
SDP stands for Session Description Protocol, a format for describing multimedia communication sessions for the purposes of announcement and invitation.
Unicast is a communication where a piece of information is sent from one point to another. There is only one sender, and one receiver.
URI stands for Universal Resource Identifier.
VOD stands for Video On Demand. VOD is used to access previously prepared contents. Unlike the live streaming, VOD allows pausing and seeking the contents at any point of a recorded video.
WASAPI stands for Windows Audio Session API. It is Microsoft multi-channel audio interface for communication with audio devices. WASAPI enables client applications to manage the flow of audio data between the application and an audio endpoint device.
WebRTC is a streaming standard providing web browsers, mobile users and any other applications with real-time two-way communication. Critical characteristic of this standard is low latency. It can also be utilized for traditional one-way streaming.
WPF stands for Windows Presentation Foundation, a free and open-source graphical subsystem originally developed by Microsoft for rendering user interfaces in Windows-based applications.