Skip to content
Snippets Groups Projects
Unverified Commit 27c7cb3c authored by Dominic Meiser's avatar Dominic Meiser
Browse files

render videos with 3x bitrate

parent f2f3f67d
No related branches found
No related tags found
No related merge requests found
......@@ -79,7 +79,7 @@ macro_rules! resolutions {
}
}
fn bitrate(self) -> &'static str {
fn bitrate(self) -> u64 {
match self {
$(Self::$res => $bitrate),+
}
......@@ -100,12 +100,12 @@ macro_rules! resolutions {
}
resolutions! {
nHD: 640 x 360 at "500k",
HD: 1280 x 720 at "1M",
FullHD: 1920 x 1080 at "2M",
WQHD: 2560 x 1440 at "3M",
nHD: 640 x 360 at 500_000,
HD: 1280 x 720 at 1_000_000,
FullHD: 1920 x 1080 at 2_000_000,
WQHD: 2560 x 1440 at 3_000_000,
// TODO qsx muss mal sagen wieviel bitrate für 4k
UHD: 3840 x 2160 at "4M"
UHD: 3840 x 2160 at 4_000_000
}
#[derive(Deserialize, Serialize)]
......
......@@ -110,7 +110,7 @@ enum FfmpegFilter {
pub(crate) struct Ffmpeg {
inputs: Vec<FfmpegInput>,
filter: FfmpegFilter,
video_bitrate: Option<&'static str>,
video_bitrate: Option<u64>,
output: FfmpegOutput,
filter_idx: usize
......@@ -182,7 +182,7 @@ impl Ffmpeg {
self
}
pub fn set_video_bitrate(&mut self, bitrate: &'static str) -> &mut Self {
pub fn set_video_bitrate(&mut self, bitrate: u64) -> &mut Self {
self.video_bitrate = Some(bitrate);
self
}
......@@ -272,7 +272,7 @@ impl Ffmpeg {
cmd.arg("-c:v").arg("copy");
}
if venc && self.video_bitrate.is_some() {
cmd.arg("-b:v").arg(self.video_bitrate.unwrap());
cmd.arg("-b:v").arg(self.video_bitrate.unwrap().to_string());
}
if aenc {
cmd.arg("-c:a").arg("aac");
......
......@@ -443,6 +443,15 @@ impl<'a> Renderer<'a> {
// we're done :)
ffmpeg.set_filter_output(overlay);
ffmpeg.set_video_bitrate(
project
.source
.metadata
.as_ref()
.unwrap()
.source_res
.bitrate() * 3
);
ffmpeg.run()?;
Ok(output)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment