librestreaming
librestreaming copied to clipboard
视频数据很小,观看黑屏
魅族Pro5 上面出现视频数据很小 只有十几k 观看黑屏?
发送的时候 ByteBuffer 很小 偶尔会有一帧数据正常,然后观看的时候就会画面一闪而过
好像也碰到过这种情况, 同时 flv 的视频, 回放的时候偏移量比较大, iOS侧推的flv就准确很多.
怎么解决的呢?
int eobIndex = dstVideoEncoder.dequeueOutputBuffer(eInfo, WAIT_TIME); 这个地方的 eInfo 最后的数据量是一个固定的11
最后定位到问题应该是 int eobIndex = dstVideoEncoder.dequeueOutputBuffer(eInfo, WAIT_TIME); 这个地方得到的索引值一直是-1 没有拿到编码数据
我手头没有pro5,你设的什么分辨率?
1280 720
好像刚才的描述有问题 int eobIndex = dstVideoEncoder.dequeueOutputBuffer(eInfo, WAIT_TIME); 返回值不是一直是-1 但是eInfo这个的尺寸很小是一个固定的值,我这是11 正常的得到的eobIndex的值 [-1, 7] 异常得到的eobIndex的值 [-1, 3]
第一帧还是正常的会出现一闪而过的画面这个时候 eInfo 的数据大小也是正常的,但是之后就不正常了
我测了一下没发现问题额,你详细设置贴一下,码率啥的
帧率 25 码率 450 分辨率 1280*720 关键帧间隔 2
我还是没测出来问题,你码率填的是450*1024吧?硬模式吗?
硬模式 码率填的是 450*1000
还是没测出来问题,android5.1,flyme5.1?你用最新版本的demo试一下?
flyme5.1.10.0A Android5.1嗯我用最新的demo试试 再找一个手机试试 估计是手机问题
感觉是MediaCodec兼容性的问题吧
我也有同样的问题。logcat有报错信息: E/OMXNodeInstance: getParameter(1:google.aac.encoder, ??(0x7f200406)) ERROR: UnsupportedIndex(0x8000101a) 最新版的demo Flyme 5.1.11.1A Android 5.1 魅蓝m3 note 硬编码,软编正常