AnyChat技术支持论坛

标题: Android平台客户端只支持320*240的输入? [打印本页]

作者: shtzsp    时间: 2014-3-26 09:06
标题: Android平台客户端只支持320*240的输入?
本帖最后由 shtzsp 于 2014-3-26 09:14 编辑

我在试用AnyChatCallCenter.apk时,发现不管我怎么设置,video的分辨率始终是320*240,即 BRAnyChatCore.log里始终显示:
video codec init:codec:1, 25fps, 320x240, bitrate:800000, quality:3, preset:5,


这是我服务器端的配置:
[Video Settings]
VideoWidth=1280
VideoHeight=720

VideoFPS=25
VideoGOPSize=25
VideoBitrate=900000
VideoCodec=1
VideoQuality=5
VideoPreset=5


和客服沟通,说是Android上1280*720以上的分辨率“需要使用瑞芯微芯片的硬件编解码”,在Android上没有使用那个芯片的话就不能支持1280*720以上的分辨率了,是这样的吗?
附件是 BRAnyChatCore.log。
BRAnyChatCore.zip (2.18 KB, 下载次数: 0)



作者: 佰锐技术-卓剑锐    时间: 2014-3-26 09:26
你好,没有使用硬件编解码的话,高清分辨率会很卡的。试下640*480?
作者: shtzsp    时间: 2014-3-26 09:32
本帖最后由 shtzsp 于 2014-3-26 10:02 编辑

关键是怎么总是320*240呢?好像设置的参数不管用?开始我以为是默认打开前置摄像头,而前置摄像头不支持1280*720的原因,所以把VideoActivity里面271-273行改成下面:

                                // 默认打开前置摄像头
                                AnyChatCoreSDK.mCameraHelper
                                                .SelectVideoCapture(AnyChatCoreSDK.mCameraHelper.CAMERA_FACING_BACK);


也就是改成后置摄像头,后置摄像头是肯定支持1280*720的,但是改了以后,看日志里video的分辨率似乎还是320*240,难道Android平台上只支持这个分辨率吗?

作者: shtzsp    时间: 2014-3-26 09:32
320*240的话,放大后图像太不清楚了
作者: 廖斌    时间: 2014-3-26 10:00
shtzsp 发表于 2014-3-26 09:32
320*240的话,放大后图像太不清楚了

您好,android端demo没有处理服务器配置的情况,我们稍后处理下demo。你也可以在本地端设置参数看下效果。
作者: shtzsp    时间: 2014-3-26 10:07
廖斌 发表于 2014-3-26 10:00
您好,android端demo没有处理服务器配置的情况,我们稍后处理下demo。你也可以在本地端设置参数看下效果 ...

本地端我也试过了,附件是本地端参数的日志,你可以看到
Apply video parameter:1280x720, bitrate:800000, quality:3, gop:100, fps:25, preset:5, codec:0
......
video init finish:320x240, NV21, fps:25

是不是还是320*240?
BRAnyChatCore.zip (1.52 KB, 下载次数: 4)



作者: admin    时间: 2014-3-26 10:23
您好,关于视频分辩率参数,有如下几点需要注意:
1、SDK默认是采用服务器的参数配置(AnyChatCoreServer.ini);
2、如果SDK本地设置了视频参数,则以本地设置为准。目前Android的Demo程序都是本地设置的参数(可参考源代码),这样的话修改服务器配置文件是没有效果的;
3、设定的分辩率能否被最终采用,还需要看设备硬件驱动是否支持,如果不支持,则会采用默认的分辩率参数:320x240;
作者: 廖斌    时间: 2014-3-26 10:47
shtzsp 发表于 2014-3-26 10:07
本地端我也试过了,附件是本地端参数的日志,你可以看到
Apply video parameter:1280x720, bitrate:8000 ...

你是改代码设置的吗?如果摄像头不支持的,就不会用1280x720,用默认的320x240。如果你摄像头支持640x480,可以用这个分辨率试下
作者: shtzsp    时间: 2014-3-26 11:00
廖斌 发表于 2014-3-26 10:47
你是改代码设置的吗?如果摄像头不支持的,就不会用1280x720,用默认的320x240。如果你摄像头支持640x480 ...

你们的demo程序不是提供本地”设置“的功能吗?我就在你们提供的设置里面设置的。而且我的摄像头是支持1280*720的,是小米3的摄像头,参数如下:
[preferred-preview-size-for-video=1024x768, null, null, null, rotation-values=0,90,180,270, null, null, null, recording-hint=false, max-num-detected-faces-hw=10, video-stabilization=false, null, zoom-supported=true, null, null, null, null, whitebalance=auto, scene-mode=auto, null, null, preview-format-values=yuv420p,yuv420sp, rotation=0, jpeg-thumbnail-quality=90, null, preview-format=yuv420sp, null, null, null, null, video-frame-format-values=yuv420p, video-size-values=176x144,320x240,352x288,640x480,704x576,720x480,720x576,768x432,960x540,1280x720,1920x1080,1920x1088, null, preview-size=320x240, null, null, null, null, null, null, null, flash-mode-values=off,on,auto,torch,red-eye, preview-frame-rate-values=5,8,10,15,20,24,25,30, max-num-metering-areas=4, null, null, null, preview-frame-rate=30, null, null, focus-mode-values=auto,infinity,macro,fixed,continuous-video,continuous-picture, null, null, jpeg-thumbnail-width=320, video-size=1280x720, preview-fps-range-values=(1000,120000), jpeg-thumbnail-size-values=0x0,320x240,240x320,400x224,224x400, null, null, zoom-ratios=100,125,150,175,200,225,250,275,300,325,350,375,400, null, preview-size-values=176x144,320x240,352x288,480x480,640x480,704x576,720x408,720x480,720x576,768x432,800x448,960x720,1024x576,1024x768, null, null, null, recording-hint-values=false,true, null, null, picture-size-values=320x240,480x480,640x480,640x368,800x600,960x720,1024x768,1280x720,1280x752,1280x960,1440x1080,1600x1200,1836x1080,1920x1080,2048x1152,2048x1360,2048x1536,2592x1456,2592x1520,2592x1920,2592x1944,2592x1952,3264x1840,3264x2448,4096x3072,4208x2368,4208x3120, null, preview-fps-range=1000,120000, min-exposure-compensation=-20, max-num-focus-areas=1, null, vertical-view-angle=60.400, null, null, horizontal-view-angle=60.400, null, null, xiaomi-still-beautify-all-values=i:0,i:1,i:2,i:3,a:0,a:1,a:2,a:3,a:4,a:5,a:6,a:7, video-stabilization-supported=true, null, null, null, smooth-zoom-supported=true, null, null, focus-mode=auto, null, null, null, null, null, null, null, null, null, auto-whitebalance-lock-supported=true, null, video-frame-format=yuv420p, picture-format-values=jpeg,jfif,exif,yuv420p,yuv420sp, max-exposure-compensation=20, focus-areas=(0,0,0,0,0), null, video-snapshot-supported=true, exposure-compensation-step=0.1, null, null, null, null, flash-mode=off, auto-exposure-lock=false, effect-values=mono,negative,none,posterize,sepia,aqua,solarize,nv-vivid,nv-emboss, null, null, picture-size=2592x1944, null, whitebalance-values=auto,incandescent,fluorescent,warm-fluorescent,daylight,cloudy-daylight,shade,twilight,manual,measure, null, null, auto-exposure-lock-values=false,true, null, null, null, auto-exposure-lock-supported=true, xiaomi-still-beautify-values=i:0, antibanding-values=off,auto,50hz,60hz]
你觉得是摄像头不支持吗?附件是小米3本地配置1280*720运行后的日志。我昨天应该也试过640*480了,一会儿我可以再试下,但我觉得根本不是那个问题。
BRAnyChatCore_mi3_1280_720_local.zip (1.46 KB, 下载次数: 4)



作者: 廖斌    时间: 2014-3-26 11:30
shtzsp 发表于 2014-3-26 11:00
你们的demo程序不是提供本地”设置“的功能吗?我就在你们提供的设置里面设置的。而且我的摄像头是支持12 ...

怎么样?640x480应该可以的吧?
作者: shtzsp    时间: 2014-3-26 11:47
廖斌 发表于 2014-3-26 11:30
怎么样?640x480应该可以的吧?

试了,日志里果然变成video init finish:640x480, NV21, fps:25了,但是我的摄像头应该是支持1280*720的呢?难道SDK在判断参数的时候还是用的前置摄像头? 一般手机上前置摄像头比较差一些。
我看了下源码,在HallActivity里ApplyVideoConfig()时,并没有判断用前置还是后置摄像头,那AnyChatCoreSDK用的哪个摄像头呢? 直到后来开始video chat了才判断前置还是后置摄像头,这里不是已经ApplyVideoConfig()过了,应该就没用了吧。
作者: 廖斌    时间: 2014-3-26 11:56
shtzsp 发表于 2014-3-26 11:47
试了,日志里果然变成video init finish:640x480, NV21, fps:25了,但是我的摄像头应该是支持1280*720的 ...

ApplyVideoConfig只是负责设置参数,具体设置什么参数还需要看摄像头支持什么参数,在AnyChatCameraHelper中有判断的。另外android标准demo默认是打开前置摄像头,参考VideoActivity的代码
  1.         // 默认打开前置摄像头
  2.                                 AnyChatCoreSDK.mCameraHelper
  3.                                                 .SelectVideoCapture(AnyChatCoreSDK.mCameraHelper.CAMERA_FACING_FRONT);
复制代码
你们可以改成默认打开后置
作者: shtzsp    时间: 2014-3-26 12:54
廖斌 发表于 2014-3-26 11:56
ApplyVideoConfig只是负责设置参数,具体设置什么参数还需要看摄像头支持什么参数,在AnyChatCameraHelpe ...

我前面帖子说过, 我已经把VideoActivity的默认改为后置摄像头了,但是不行,我不知道SDK是什么时候开始判断摄像头分辨率的,VideoActivity里改已经不能影响SDK了? 我刚才试了一个没有前置摄像头的比较老的HTC手机,日志显示video初始参数是1280*720,说明确实是前置摄像头影响了,但到底在哪里设置初始使用的摄像头呢?
作者: admin    时间: 2014-3-26 12:56
您好,您可以看一下AnyChatCameraHelper.java源代码,有关摄像头操作的源代码都在这个类里面。
作者: shtzsp    时间: 2014-3-26 13:51
廖斌 发表于 2014-3-26 11:56
ApplyVideoConfig只是负责设置参数,具体设置什么参数还需要看摄像头支持什么参数,在AnyChatCameraHelpe ...

我再看看AnyChatCameraHelper的源码,多谢你耐心的帮助!
作者: shtzsp    时间: 2014-3-26 13:51
admin 发表于 2014-3-26 12:56
您好,您可以看一下AnyChatCameraHelper.java源代码,有关摄像头操作的源代码都在这个类里面。

好的,我看下,谢谢!




欢迎光临 AnyChat技术支持论坛 (http://bbs.anychat.cn/) Powered by Discuz! X3