yellowcath / VideoProcessor

process video(cut & scale & increase & decrease & reverse) with mediacodec
Apache License 2.0
968 stars 141 forks source link

视频压缩回调进度不准确 #53

Open DevRamonLee opened 3 years ago

DevRamonLee commented 3 years ago

version:2.4.2

// 协程工作线程中运行
VideoProcessor.processor(context)
                    .input(videoPath)
                    .bitrate(bitrate / 2)
                    .output(videoOutCompressPath)
                    .progressListener { progress ->
                        val intProgress = (progress * 100).toInt()
                        if (intProgress == 100) {
                           // 回调中上传视频到腾讯云
                            compressDone.invoke(videoOutCompressPath)
                        }
                    }.process()

这里的进度回调错误导致上传到腾讯云的视频不完整,无法播放

gejiashu commented 3 years ago

遇到同样的问题,progress 为1的 回调会回调很多次

gejiashu commented 3 years ago

image 发现是这里导致的,我需要裁剪的视频时长是15s, 实际裁剪的时候是裁剪的15.4s的视频 所以会导致多次回调progress 1 这个问题在很多手机都没有出现在荣耀8x上面出现的。

gejiashu commented 3 years ago

建议增加一个视频处理完的回调,而不是通过判断progress =1 来判断视频是否处理完成

W-quan commented 2 years ago

我的情况是, progress = 1只有一次,但是 马上上传 有时 文件有问题

[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fc290808200] moov atom not found

延迟一点再上传就正常。 估计是没处理完成

W-quan commented 2 years ago
图片

相差大概500ms

stubhbw commented 2 years ago

回调进度有问题,压缩的回到progress=100,实际没有完成,还在处理转码,如果压缩完马上上传会报错

zjunch commented 1 year ago

视频压缩进度一直到不了1

yaowen369 commented 1 year ago

我这边也碰到了这个问题,华为鸿蒙系统上, progress = 100会回调多次

youyuanme commented 1 year ago

视频压缩之后不支持流式传输,The mp4 file will not be streamable.如何在压缩时设置成可以流式传输?