Components
Video SDK for Linux involves the GStreamer elements and dynamic libraries as follows:
Top level objects:
SolveigMM Video Editing Engine (smm_editengine.so) Object with API similar to Windows COM allows frame/GOP accurate trimming and joining of MPEG-2, MP4, MOV, AVCHD files without decoding/encoding.
SolveigMM Custom Encoder (smm_customencoder.so) Library for partial reencoding of video fragments.
GStreamer trimmer elements:
SolveigMM HEVC Video Trimmer Element (smm_hevcvideotrimmer.so) GStreamer element for GOP/Frame accurate trimming HEVC video
SolveigMM AVC Video Trimmer Element (smm_avcvideotrimmer.so) GStreamer element for GOP/Frame accurate trimming MPEG4 AVC video
SolveigMM MP4V Video Trimmer Element (smm_mp4vvideotrimmer.so) GStreamer element for GOP accurate trimming MP4V video
SolveigMM H263 Video Trimmer Element (smm_h263videotrimmer.so) GStreamer element for GOP accurate trimming H263 video
SolveigMM MPEG2 Frame Accurate Trimmer (smm_mpeg2videotrimmer.so) GStreamer element for GOP/Frame accurate trimming MPEG-2 video.
SolveigMM Audio Trimmer Element (smm_audiotrimmer.so) GStreamer element for trimming audio
SolveigMM Subtitles Trimmer Element (smm_subtitlestrimmer.so) GStreamer element for trimming subtitles/text streams
SolveigMM Raw Data Trimmer Element (smm_rawdatatrimmer.so) GStreamer element for trimming noncompressed YUV or PCM streams
GStreamer media format Demultiplexer/Multiplexer elements:
SolveigMM MP4 format Demultiplexer (smm_mp4demuxer.so) GStreamer element for the QuickTime File Format and MPEG-4 demultiplexing
SolveigMM MP4 format Multiplexer (smm_mp4muxer.so) GStreamer element for video and audio streams multiplexing into QuickTime File Format and MPEG-4.
SolveigMM MPEG-2 format Multiplexer (smm_mp2muxer.so) GStreamer element for video and audio streams multiplexing into MPEG-2.
SolveigMM Transport Stream format Demultiplexer (smm_tsdemuxer.so) GStreamer element for the MPEG-2 Transport Streams demultiplexing.
SolveigMM H264 format Demultiplexer (smm_h264demuxer.so) GStreamer element for demultiplexing H264 video elementary stream.
Nablet MXF Demultiplexer (nbmxfdemux.so) GStreamer element for the MXF demultiplexing.
Nablet MXF Multiplexer (nbmxfmux.so) GStreamer element for multiplexing video and audio streams into MXF.
Nablet Transport Stream Demultiplexer (libgstnbtsdemux.so) GStreamer element for multiplexing video and audio streams into MXF.
GStreamer Decoder/Encoder elements:
Nablet H264 Encoder Wrapper (smm_nb_h262encoder.so) GStreamer wrapper element for Nablet MPEG-2 video encoder.
Nablet H264 Decoder Wrapper (smm_nb_h262decoder.so) GStreamer wrapper element for Nablet MPEG-2 video decoder.
Nablet H264 Encoder Wrapper (smm_nb_h264encoder.so) GStreamer wrapper element for Nablet H264 encoder.
Nablet H264 Decoder Wrapper (smm_nb_h264decoder.so) GStreamer wrapper element for Nablet H264 decoder.
SolveigMM AAC Encoder - Decoder (smm_fdkaac.so) GStreamer element for compressing raw audio into AAC and decompressing AAC audio.
SolveigMM Pipe Encoder Wrapper (smm_pipeencoder.so) GStreamer wrapper element for utilizing x264 and x265 compressors.
Other GStreamer elements:
SolveigMM Trimm Manager (smm_trimmanager.so) GStreamer element that manages trimming process in trimming pipelines. Works with trimmer elements: smm_audiotrimmer.so, smm_avcvideotrimmer.so, smm_hevcvideotrimmer.so, smm_mp4vvideotrimmer.so
SolveigMM Audio Resampler Element (smm_audioresample.so) GStreamer element that resamples raw audio to a different sample rates.
SolveigMM Video Converter Element (smm_videoconvert.so) GStreamer element that performs raw video conversion (scaling, color space conversion etc.).
SolveigMM Time Sifter Element (smm_shifttime.so) GStreamer element that shifts audio or video frame time.
SolveigMM Smooth Wave Element (smm_smoothwave.so) GStreamer element that eliminates audio signal value gaps on intervals concatenation.
SolveigMM Video Compositor Element (smm_compositor.so) GStreamer element mixes frames from multiple video streams.
Internal GStreamer elements:
SolveigMM Samples Spy Element (smm_samples_spy.so) GStreamer element that logs input samples. Also used for the progress estimation.
SolveigMM Sample Grabber Dump Element (smm_samplegrabberdump.so) GStreamer element to get a sample data inside the pipeline.
SolveigMM Skip Caps Transform Element (smm_skipcapstransform.so) GStreamer element that blocks GST_CAPS messages transition.
SolveigMM Trimmer Emulator Element (smm_trimmer_emulator.so) GStreamer element that emulates a trimmer for the cases of entire interval transcoding.
SolveigMM Custom Source Element (smm_customsrc.so) GStreamer element used as a source of input data frames.
SolveigMM Custom Dump Element (smm_customdump.so) GStreamer element used as a storage of the output data frames.
SolveigMM Custom Transform Element (smm_customtransform.so) GStreamer element used by the Custom Encoder to output only the specified number of frames.