StormByte C++ Library: Multimedia module 0.0.9999
StormByte-Multimedia is a StormByte library module for parsing configuration files
Loading...
Searching...
No Matches
Public Member Functions | Friends | List of all members
StormByte::Multimedia::Pipeline::Transcoder::Track Class Reference

Fluent handle for one origin stream in this job. More...

#include <StormByte/multimedia/pipeline/transcoder.hxx>

Public Member Functions

TrackRemux () noexcept
 Remux this track (no destination codec).
 
TrackCodec (const Codec &codec) noexcept
 Encodes this track to codec.
 
TrackImplementation (std::string name) noexcept
 Pins an FFmpeg encoder name.
 
TrackCRF (int value) noexcept
 Sets CRF/CQ.
 
TrackBitRate (std::int64_t bits_per_second) noexcept
 Sets target bitrate.
 
TrackMaxBitRate (std::int64_t bits_per_second) noexcept
 Sets VBV / max bitrate.
 
TrackPreset (std::string name) noexcept
 Sets encoder preset.
 
TrackTune (std::string name) noexcept
 Sets encoder tune.
 
TrackFineTune (std::map< std::string, std::string > options) noexcept
 Replaces vendor leftovers.
 
TrackLanguage (std::string language) noexcept
 Overrides stream language.
 
TrackTitle (std::string title) noexcept
 Overrides stream title.
 
template<typename FilterType , typename... Args>
TrackFilter (Args &&... args) noexcept
 Appends a Process, Packet or Analytics filter to this track.
 
Lifecycle
 Track (const Track &other) noexcept=default
 Copy constructor.
 
 Track (Track &&other) noexcept=default
 Move constructor.
 
 ~Track () noexcept=default
 Destructor.
 
Trackoperator= (const Track &other) noexcept=default
 Copy assignment.
 
Trackoperator= (Track &&other) noexcept=default
 Move assignment.
 

Friends

class Transcoder
 

Detailed Description

Fluent handle for one origin stream in this job.

Writes the matching Config leaf. Mux order is the order of Add on this job, not a field here. Call before Run.

Constructor & Destructor Documentation

◆ Track() [1/2]

StormByte::Multimedia::Pipeline::Transcoder::Track::Track ( const Track other)
defaultnoexcept

Copy constructor.

Parameters
otherSource handle.

◆ Track() [2/2]

StormByte::Multimedia::Pipeline::Transcoder::Track::Track ( Track &&  other)
defaultnoexcept

Move constructor.

Parameters
otherHandle to take.

◆ ~Track()

StormByte::Multimedia::Pipeline::Transcoder::Track::~Track ( )
defaultnoexcept

Destructor.

Member Function Documentation

◆ BitRate()

Track & StormByte::Multimedia::Pipeline::Transcoder::Track::BitRate ( std::int64_t  bits_per_second)
noexcept

Sets target bitrate.

Clears CRF.

Parameters
bits_per_secondBits per second.
Returns
*this.

◆ Codec()

Track & StormByte::Multimedia::Pipeline::Transcoder::Track::Codec ( const Codec codec)
noexcept

Encodes this track to codec.

Parameters
codecDestination registry codec.
Returns
*this.

◆ CRF()

Track & StormByte::Multimedia::Pipeline::Transcoder::Track::CRF ( int  value)
noexcept

Sets CRF/CQ.

Clears BitRate.

Parameters
valueQuality value.
Returns
*this.

◆ Filter()

template<typename FilterType , typename... Args>
Track & StormByte::Multimedia::Pipeline::Transcoder::Track::Filter ( Args &&...  args)
inlinenoexcept

Appends a Process, Packet or Analytics filter to this track.

Template Parameters
FilterTypeChild of Filter::Process, Filter::Packet or Filter::Analytics.
Parameters
argsConstructor arguments, forwarded.
Returns
*this.

Call before Transcoder::Run. Frame filters on a remux track Fail the stretch. Global analytics attach on Transcoder::Filter. Both are allowed; there is no dedup.

◆ FineTune()

Track & StormByte::Multimedia::Pipeline::Transcoder::Track::FineTune ( std::map< std::string, std::string >  options)
noexcept

Replaces vendor leftovers.

Parameters
optionsKey / value map.
Returns
*this.

◆ Implementation()

Track & StormByte::Multimedia::Pipeline::Transcoder::Track::Implementation ( std::string  name)
noexcept

Pins an FFmpeg encoder name.

Parameters
nameTable name.
Returns
*this.

◆ Language()

Track & StormByte::Multimedia::Pipeline::Transcoder::Track::Language ( std::string  language)
noexcept

Overrides stream language.

Parameters
languageISO tag. Empty clears the override.
Returns
*this.

◆ MaxBitRate()

Track & StormByte::Multimedia::Pipeline::Transcoder::Track::MaxBitRate ( std::int64_t  bits_per_second)
noexcept

Sets VBV / max bitrate.

Parameters
bits_per_secondBits per second.
Returns
*this.

◆ operator=() [1/2]

Track & StormByte::Multimedia::Pipeline::Transcoder::Track::operator= ( const Track other)
defaultnoexcept

Copy assignment.

Parameters
otherSource handle.
Returns
*this.

◆ operator=() [2/2]

Track & StormByte::Multimedia::Pipeline::Transcoder::Track::operator= ( Track &&  other)
defaultnoexcept

Move assignment.

Parameters
otherHandle to take.
Returns
*this.

◆ Preset()

Track & StormByte::Multimedia::Pipeline::Transcoder::Track::Preset ( std::string  name)
noexcept

Sets encoder preset.

Parameters
namePreset name.
Returns
*this.

◆ Remux()

Track & StormByte::Multimedia::Pipeline::Transcoder::Track::Remux ( )
noexcept

Remux this track (no destination codec).

Returns
*this.

◆ Title()

Track & StormByte::Multimedia::Pipeline::Transcoder::Track::Title ( std::string  title)
noexcept

Overrides stream title.

Parameters
titleTitle text. Empty clears the override.
Returns
*this.

◆ Tune()

Track & StormByte::Multimedia::Pipeline::Transcoder::Track::Tune ( std::string  name)
noexcept

Sets encoder tune.

Parameters
nameTune name.
Returns
*this.

Friends And Related Symbol Documentation

◆ Transcoder

friend class Transcoder
friend

The documentation for this class was generated from the following file: