Transcoder
Transcoder copied to clipboard
Trim and Merge issue
When I trim and merge multiple videos I can see there are some glitches from output video (on video switches).
I am using
` private lateinit var builder: TranscoderOptions.Builder private var mTranscodeVideoStrategy: TrackStrategy? = null
private var mTranscodeOutputFile: File? = null
init {
mTranscodeVideoStrategy = DefaultVideoStrategy.Builder()
.addResizer(MyExactResizer(1080, 1920))
.frameRate(30)
.build()
}
fun setVideos(
mTranscodeOutputFile: File?,
videoList: ArrayList<AnalyzeResult>,
context: Context,
musicPath: String?
) {
this.mTranscodeOutputFile = mTranscodeOutputFile
builder = Transcoder.into(mTranscodeOutputFile!!.absolutePath)
videoList.forEach {
val start: Long = (max(0, it.startMs!!) * 1000).toLong()
val end: Long = (max(0, it.duration!! + it.startMs!!) * 1000).toLong()
builder.addDataSource(
TrackType.VIDEO,
ClipDataSource(
UriDataSource(context, Uri.parse(it.mediaPath)),
start,
end
)
)
}
musicPath?.let {
builder.addDataSource(TrackType.AUDIO, context, Uri.parse(it))
}
}
fun processVideo(transcoderListener: TranscoderListener) {
builder
.setListener(transcoderListener)
.setVideoTrackStrategy(mTranscodeVideoStrategy)
.transcode()
}`
Any recommendations ?