Remove all video metadata (#6224)
Use `InAppMp4Muxer` with a custom metadata provider that removes all metadata entries
This commit is contained in:
parent
73bfbccac7
commit
7d412d9461
1 changed files with 6 additions and 0 deletions
|
|
@ -24,6 +24,7 @@ import androidx.media3.transformer.EditedMediaItem
|
||||||
import androidx.media3.transformer.Effects
|
import androidx.media3.transformer.Effects
|
||||||
import androidx.media3.transformer.ExportException
|
import androidx.media3.transformer.ExportException
|
||||||
import androidx.media3.transformer.ExportResult
|
import androidx.media3.transformer.ExportResult
|
||||||
|
import androidx.media3.transformer.InAppMp4Muxer
|
||||||
import androidx.media3.transformer.ProgressHolder
|
import androidx.media3.transformer.ProgressHolder
|
||||||
import androidx.media3.transformer.TransformationRequest
|
import androidx.media3.transformer.TransformationRequest
|
||||||
import androidx.media3.transformer.Transformer
|
import androidx.media3.transformer.Transformer
|
||||||
|
|
@ -88,6 +89,10 @@ class VideoCompressor(
|
||||||
// If we need to resize the video, we also want to recalculate the bitrate
|
// If we need to resize the video, we also want to recalculate the bitrate
|
||||||
val newBitrate = videoCompressorConfig.newBitRate
|
val newBitrate = videoCompressorConfig.newBitRate
|
||||||
|
|
||||||
|
// Remove all video metadata
|
||||||
|
val removeMetadataMuxer = InAppMp4Muxer.Factory { metadataEntries ->
|
||||||
|
metadataEntries.removeAll { true }
|
||||||
|
}
|
||||||
val inputMediaItem = MediaItem.fromUri(uri)
|
val inputMediaItem = MediaItem.fromUri(uri)
|
||||||
val outputMediaItem = EditedMediaItem.Builder(inputMediaItem)
|
val outputMediaItem = EditedMediaItem.Builder(inputMediaItem)
|
||||||
.setFrameRate(newFrameRate)
|
.setFrameRate(newFrameRate)
|
||||||
|
|
@ -109,6 +114,7 @@ class VideoCompressor(
|
||||||
.setAudioMimeType(MimeTypes.AUDIO_AAC)
|
.setAudioMimeType(MimeTypes.AUDIO_AAC)
|
||||||
.setPortraitEncodingEnabled(false)
|
.setPortraitEncodingEnabled(false)
|
||||||
.setEncoderFactory(encoderFactory)
|
.setEncoderFactory(encoderFactory)
|
||||||
|
.setMuxerFactory(removeMetadataMuxer)
|
||||||
.addListener(object : Transformer.Listener {
|
.addListener(object : Transformer.Listener {
|
||||||
override fun onCompleted(composition: Composition, exportResult: ExportResult) {
|
override fun onCompleted(composition: Composition, exportResult: ExportResult) {
|
||||||
trySend(VideoTranscodingEvent.Completed(tmpFile))
|
trySend(VideoTranscodingEvent.Completed(tmpFile))
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue