Skip to content

Commit

Permalink
update scale description and add some quality option
Browse files Browse the repository at this point in the history
  • Loading branch information
bayu committed Dec 30, 2021
1 parent 4759976 commit daa547f
Showing 1 changed file with 11 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ class InnoVideoConverter(
* Compress file input uri file video with quality option
* @param fileUriVideo file uri of video file
* @param qualityOption option of video quality.
* @param scale scale size of video
*
*/
fun compressVideoQuality(
Expand All @@ -29,9 +30,12 @@ class InnoVideoConverter(
val inputFile = FFmpegKitConfig.getSafParameterForRead(activity, fileUriVideo)
val file = getFileCacheDir()
val crf = when (qualityOption) {
QualityOption.ULTRA_HIGH -> "0"
QualityOption.VERY_HIGH -> "10"
QualityOption.HIGH -> "18"
QualityOption.MEDIUM -> "23"
QualityOption.LOW -> "28"
QualityOption.VERY_LOW -> "33"
}
val exe =
"-y -i " + inputFile + " -vf scale=${scale.width}:${scale.height} -preset veryfast -crf $crf " + file.absolutePath
Expand Down Expand Up @@ -111,12 +115,18 @@ interface InnoVideoConverterCallback {

/**
* Video Quality Option for compressing the video
* [VERY_LOW] for very low quality of video
* [LOW] for low quality of video
* [MEDIUM] for medium quality of video
* [HIGH] for high quality of video.
* [VERY_HIGH] for very high quality of video.
* [ULTRA_HIGH] for ultra high quality of video.
*/
enum class QualityOption {
ULTRA_HIGH,
VERY_HIGH,
HIGH,
MEDIUM,
LOW
LOW,
VERY_LOW
}

0 comments on commit daa547f

Please sign in to comment.