[英]Compressed mp4 video is taking too long time to play (exoplayer)
Video(mp4) is recorded from android camera and sent to backend, here I am using ffmpeg wrapper to compress the video[44mb video to 5.76mb]. Video(mp4)是从android摄像机录制的,并发送到后端,这里我使用ffmpeg包装器将视频压缩[44mb video to 5.76mb]。 compression is working well, But when I send the video for play in android(exo player), is taking too long time to start. 压缩效果很好,但是当我发送视频以在android(exo player)中播放时,开始时间太长。
below is my code to compress: 下面是我要压缩的代码:
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();
Can anyone tell me why video is taking too long time to play in exo player? 谁能告诉我为什么视频需要很长时间才能在exo播放器中播放? Is anything wrong in the compression? 压缩中有什么问题吗?
Based on comments I am writing ans here, Because of "moov" atom video is taking long time to play, Here's the described blog: https://rigor.com/blog/2016/01/optimizing-mp4-video-for-fast-streaming 基于评论,我在这里写ans,因为“ moov”原子视频需要花费很长时间才能播放,所以这里是描述的博客: https : //rigor.com/blog/2016/01/optimizing-mp4-video-for-快速流
code is: 代码是:
try{
QtFastStart.fastStart(inputFile, outputFile); // Adds moov to your input
// Now your output file is ready to stream!
}catch (QtFastStart.MalformedFileException m){
logger.error("QT", m);
}catch (QtFastStart.UnsupportedFileException q){
logger.error("QT", q);
}catch (IOException i){
logger.error("QT", i);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.