Видео (mp4) записывается с камеры Android и отправляется на сервер, здесь я использую обертку ffmpeg для сжатия видео [44 МБ видео до 5,76 МБ]. сжатие работает хорошо, но когда я отправляю видео для воспроизведения в Android (exo player), для запуска требуется слишком много времени.
ниже мой код для сжатия:
FFmpegBuilder builder = new FFmpegBuilder()
.setInput("D:/dummyVideos/myvideo.mp4") // Filename, or a FFmpegProbeResult
.overrideOutputFiles(true) // Override the output if it exists
.addOutput("D:/dummyVideos/myvideo_ffmpeg.mp4") // Filename for the destination
.setFormat("mp4") // Format is inferred from filename, or can be set
.disableSubtitle() // No subtiles
.setAudioChannels(1) // Mono audio
.setAudioCodec("aac") // using the aac codec
.setAudioSampleRate(48_000) // at 48KHz
.setAudioBitRate(32768) // at 32 kbit/s
.setVideoCodec("libx264") // Video using x264
.setVideoFrameRate(24, 1) // at 24 frames per second
.setVideoResolution(1280, 720) // at 640x480 resolution
.setVideoBitRate(762800)
.setStrict(FFmpegBuilder.Strict.EXPERIMENTAL) // Allow FFmpeg to use experimental specs
.done();
Может кто-нибудь сказать мне, почему видео занимает слишком много времени для воспроизведения в Exo Player? Что-то не так в сжатии?