diff options
Diffstat (limited to 'transcoder/src')
-rw-r--r-- | transcoder/src/fragment.rs | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/transcoder/src/fragment.rs b/transcoder/src/fragment.rs index 3be7d39..7c5cadd 100644 --- a/transcoder/src/fragment.rs +++ b/transcoder/src/fragment.rs @@ -38,9 +38,9 @@ pub async fn transcode( .unwrap_or("ffmpeg %a".to_owned()); let filter = match kind { - TrackKind::Video => format!("-vf scale={}:-1", format.width.unwrap()), - TrackKind::Audio => String::new(), - TrackKind::Subtitle => String::new(), + TrackKind::Video => "-vf scale=%w:%h", + TrackKind::Audio => "", + TrackKind::Subtitle => "", }; let typechar = match kind { TrackKind::Video => "v", @@ -61,8 +61,9 @@ pub async fn transcode( .replace("%a", "-hide_banner %i %f %e %o") .replace("%i", "-f matroska -i pipe:0 -copyts") .replace("%o", "-f matroska pipe:1") - .replace("%w", &format.width.unwrap_or_default().to_string()) .replace("%f", &filter) + .replace("%w", &format.width.unwrap_or_default().to_string()) + .replace("%h", &format.height.unwrap_or_default().to_string()) .replace("%e", "-c:%t %c -b:%t %r") .replace("%t", typechar) .replace("%c", fallback_encoder) |