librestreaming icon indicating copy to clipboard operation
librestreaming copied to clipboard

视频数据很小,观看黑屏

Open flyminiboy opened this issue 8 years ago • 17 comments

魅族Pro5 上面出现视频数据很小 只有十几k 观看黑屏?

flyminiboy avatar Oct 21 '16 03:10 flyminiboy

发送的时候 ByteBuffer 很小 偶尔会有一帧数据正常,然后观看的时候就会画面一闪而过

flyminiboy avatar Oct 21 '16 03:10 flyminiboy

好像也碰到过这种情况, 同时 flv 的视频, 回放的时候偏移量比较大, iOS侧推的flv就准确很多.

hike2008 avatar Oct 21 '16 06:10 hike2008

怎么解决的呢?

flyminiboy avatar Oct 24 '16 01:10 flyminiboy

int eobIndex = dstVideoEncoder.dequeueOutputBuffer(eInfo, WAIT_TIME); 这个地方的 eInfo 最后的数据量是一个固定的11

flyminiboy avatar Oct 24 '16 03:10 flyminiboy

最后定位到问题应该是 int eobIndex = dstVideoEncoder.dequeueOutputBuffer(eInfo, WAIT_TIME); 这个地方得到的索引值一直是-1 没有拿到编码数据

flyminiboy avatar Oct 24 '16 04:10 flyminiboy

我手头没有pro5,你设的什么分辨率?

lakeinchina avatar Oct 24 '16 04:10 lakeinchina

1280 720

flyminiboy avatar Oct 24 '16 06:10 flyminiboy

好像刚才的描述有问题 int eobIndex = dstVideoEncoder.dequeueOutputBuffer(eInfo, WAIT_TIME); 返回值不是一直是-1 但是eInfo这个的尺寸很小是一个固定的值,我这是11 正常的得到的eobIndex的值 [-1, 7] 异常得到的eobIndex的值 [-1, 3]

flyminiboy avatar Oct 24 '16 06:10 flyminiboy

第一帧还是正常的会出现一闪而过的画面这个时候 eInfo 的数据大小也是正常的,但是之后就不正常了

flyminiboy avatar Oct 24 '16 09:10 flyminiboy

我测了一下没发现问题额,你详细设置贴一下,码率啥的

lakeinchina avatar Oct 24 '16 09:10 lakeinchina

帧率 25 码率 450 分辨率 1280*720 关键帧间隔 2

flyminiboy avatar Oct 24 '16 09:10 flyminiboy

我还是没测出来问题,你码率填的是450*1024吧?硬模式吗?

lakeinchina avatar Oct 24 '16 09:10 lakeinchina

硬模式 码率填的是 450*1000

flyminiboy avatar Oct 24 '16 09:10 flyminiboy

还是没测出来问题,android5.1,flyme5.1?你用最新版本的demo试一下?

lakeinchina avatar Oct 24 '16 09:10 lakeinchina

flyme5.1.10.0A Android5.1嗯我用最新的demo试试 再找一个手机试试 估计是手机问题

flyminiboy avatar Oct 24 '16 09:10 flyminiboy

感觉是MediaCodec兼容性的问题吧

hike2008 avatar Oct 27 '16 04:10 hike2008

我也有同样的问题。logcat有报错信息: E/OMXNodeInstance: getParameter(1:google.aac.encoder, ??(0x7f200406)) ERROR: UnsupportedIndex(0x8000101a) 最新版的demo Flyme 5.1.11.1A Android 5.1 魅蓝m3 note 硬编码,软编正常

decide15 avatar Dec 28 '16 09:12 decide15