Skip to content

Commit

Permalink
Compare MaxSize with actual size (#24)
Browse files Browse the repository at this point in the history
  • Loading branch information
Tschucki authored Dec 28, 2024
1 parent 5673bde commit 034560d
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 0 deletions.
6 changes: 6 additions & 0 deletions app/Conversion/MediaOperations/MaxSizeOperation.php
Original file line number Diff line number Diff line change
Expand Up @@ -30,12 +30,18 @@ public function applyToFormat(DefaultVideo $format): DefaultVideo
// TODO: feels wrong to hardcode this :/

$maxSizeInMB = $this->conversion->max_size - 4;
$currentSizeInBytes = Storage::disk($this->conversion->file->disk)->size($this->conversion->file->filename);
$maxSizeInBytes = $maxSizeInMB * 1024 * 1024;
$duration = $this->actualDuration();
$audioBitrate = $this->conversion->audio ? $this->currentAudioBitrate * $this->conversion->audio_quality : 0;
$audioBitrateInKiloBits = $audioBitrate / 1024;
$maxSizeInBits = $maxSizeInMB * 1024 * 1024 * 8;
$videoBitrate = floor(($maxSizeInBits / $duration) - floor($audioBitrateInKiloBits));

if ($currentSizeInBytes <= $maxSizeInBytes) {
return $format;
}

if ($videoBitrate < 0) {
$videoBitrate = 0;
}
Expand Down
1 change: 1 addition & 0 deletions app/Jobs/DownloadVideoJob.php
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ public function handle(): void
->restrictFileNames(true)
->continue(true)
->noPlaylist()
->ffmpegLocation(config('laravel-ffmpeg.ffmpeg.binaries'))
->cookies(config('converter.cookies.file'))
->cleanupMetadata(true)
->maxDownloads(1)
Expand Down

0 comments on commit 034560d

Please sign in to comment.