pub enum OutputSubtitleFormat {
Srt,
Ass,
Vtt,
Sub,
}
Expand description
Supported output subtitle formats for conversion operations.
This enum defines all subtitle formats that SubX can generate as output. Each format has specific characteristics and use cases:
- SRT: Simple, widely supported, good for basic subtitles
- ASS: Advanced formatting, styling, and positioning capabilities
- VTT: Web-optimized, supports HTML5 video elements
- SUB: Frame-based timing, used in some legacy systems
§Format Characteristics
Format | Timing | Styling | Web Support | Compatibility |
---|---|---|---|---|
SRT | Time | Basic | Good | Excellent |
ASS | Time | Rich | Limited | Good |
VTT | Time | Medium | Excellent | Good |
SUB | Frame | Basic | Poor | Limited |
§Examples
use subx_cli::cli::OutputSubtitleFormat;
let srt_format = OutputSubtitleFormat::Srt;
assert_eq!(srt_format.as_str(), "srt");
assert_eq!(srt_format.file_extension(), ".srt");
Variants§
Srt
SubRip (.srt) format - most widely supported subtitle format.
Features:
- Simple time-based format
- Basic text formatting (bold, italic, underline)
- Excellent player compatibility
- Small file size
Ass
Advanced SubStation Alpha (.ass) format - professional subtitle format.
Features:
- Rich styling and formatting options
- Precise positioning and animation
- Multiple font and color support
- Advanced timing controls
Vtt
WebVTT (.vtt) format - web-optimized subtitle format.
Features:
- HTML5 video element support
- CSS-like styling capabilities
- Cue positioning and alignment
- Web accessibility features
Sub
MicroDVD/SubViewer (.sub) format - frame-based subtitle format.
Features:
- Frame-based timing (not time-based)
- Basic text formatting
- Legacy format support
- Compact file structure
Implementations§
Source§impl OutputSubtitleFormat
impl OutputSubtitleFormat
Sourcepub fn as_str(&self) -> &'static str
pub fn as_str(&self) -> &'static str
Returns the format identifier as a string.
This method provides the lowercase string representation of the format, which is used for command-line arguments and configuration files.
§Examples
use subx_cli::cli::OutputSubtitleFormat;
assert_eq!(OutputSubtitleFormat::Srt.as_str(), "srt");
assert_eq!(OutputSubtitleFormat::Ass.as_str(), "ass");
assert_eq!(OutputSubtitleFormat::Vtt.as_str(), "vtt");
assert_eq!(OutputSubtitleFormat::Sub.as_str(), "sub");
Sourcepub fn file_extension(&self) -> &'static str
pub fn file_extension(&self) -> &'static str
Returns the file extension for this format including the dot prefix.
This method provides the standard file extension used for each subtitle format, which is useful for generating output filenames.
§Examples
use subx_cli::cli::OutputSubtitleFormat;
assert_eq!(OutputSubtitleFormat::Srt.file_extension(), ".srt");
assert_eq!(OutputSubtitleFormat::Ass.file_extension(), ".ass");
assert_eq!(OutputSubtitleFormat::Vtt.file_extension(), ".vtt");
assert_eq!(OutputSubtitleFormat::Sub.file_extension(), ".sub");
Trait Implementations§
Source§impl Clone for OutputSubtitleFormat
impl Clone for OutputSubtitleFormat
Source§fn clone(&self) -> OutputSubtitleFormat
fn clone(&self) -> OutputSubtitleFormat
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for OutputSubtitleFormat
impl Debug for OutputSubtitleFormat
Source§impl Display for OutputSubtitleFormat
impl Display for OutputSubtitleFormat
Source§impl PartialEq for OutputSubtitleFormat
impl PartialEq for OutputSubtitleFormat
Source§impl ValueEnum for OutputSubtitleFormat
impl ValueEnum for OutputSubtitleFormat
impl Eq for OutputSubtitleFormat
impl StructuralPartialEq for OutputSubtitleFormat
Auto Trait Implementations§
impl Freeze for OutputSubtitleFormat
impl RefUnwindSafe for OutputSubtitleFormat
impl Send for OutputSubtitleFormat
impl Sync for OutputSubtitleFormat
impl Unpin for OutputSubtitleFormat
impl UnwindSafe for OutputSubtitleFormat
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
fn into_sample(self) -> T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string
, but without panic on OOM.