Skip to content

Commit 7d35f34

Browse files
committed
fix(RNVideoTrimmer): minimum bitrate fix
don't set averageBitrate higher than video's bitrate
1 parent 35be8be commit 7d35f34

2 files changed

Lines changed: 9 additions & 4 deletions

File tree

ios/RNVideoProcessing/RNVideoTrimmer/RNVideoTrimmer.swift

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -121,8 +121,13 @@ class RNVideoTrimmer: NSObject {
121121
width = width ?? Float(abs(naturalSize.width))
122122
height = height ?? Float(abs(naturalSize.height))
123123
var averageBitrate = bps / bitrateMultiplier
124-
if minimumBitrate != nil && averageBitrate < minimumBitrate! {
125-
averageBitrate = minimumBitrate!
124+
if minimumBitrate != nil {
125+
if averageBitrate < minimumBitrate! {
126+
averageBitrate = minimumBitrate!
127+
}
128+
if bps < minimumBitrate! {
129+
averageBitrate = bps
130+
}
126131
}
127132

128133
var outputURL = documentDirectory.appendingPathComponent("output")
@@ -152,12 +157,12 @@ class RNVideoTrimmer: NSObject {
152157
AVVideoHeightKey: NSNumber.init(value: height!),
153158
AVVideoCompressionPropertiesKey: [
154159
AVVideoAverageBitRateKey: NSNumber.init(value: averageBitrate),
155-
AVVideoProfileLevelKey: AVVideoProfileLevelH264High40
160+
AVVideoProfileLevelKey: AVVideoProfileLevelH264HighAutoLevel
156161
]
157162
]
158163
compressionEncoder?.audioSettings = [
159164
AVFormatIDKey: kAudioFormatMPEG4AAC,
160-
AVNumberOfChannelsKey: 2,
165+
AVNumberOfChannelsKey: 1,
161166
AVSampleRateKey: 44100,
162167
AVEncoderBitRateKey: 128000
163168
]

0 commit comments

Comments
 (0)