AnyChat技术支持论坛

标题: 关于视频方向问题 [打印本页]

作者: hsfzer    时间: 2013-8-12 15:41
标题: 关于视频方向问题
您好。官方demo采用的是横屏。
请问可不可以一个手机是横屏,一个手机是竖屏呢?
另外,java视频采集指的是什么呢?
如果不采用java视频采集会出现什么问题呢?

作者: admin    时间: 2013-8-12 15:51
您好,关于横竖屏:最好还是横屏,如果是竖屏,则会涉及到摄像头采集方向的修正问题,而且前、后摄像头修正的参数还不相同,最麻烦的是不同型号的Android设备的修正参数也可能不同(iOS的修正参数都是统一的,这主要是Android碎片化造成的),所以建议用横屏,关于摄像头视频采集方向修正可参考这个帖子:http://bbs.anychat.cn/forum.php? ... &extra=page%3D1

关于Java视频采集是指在Java层进行视频采集,效率不是最高,但是兼容性最好,参考这个帖子:http://bbs.anychat.cn/forum.php? ... &extra=page%3D1
作者: hsfzer    时间: 2013-8-12 15:55
admin 发表于 2013-8-12 15:51
您好,关于横竖屏:最好还是横屏,如果是竖屏,则会涉及到摄像头采集方向的修正问题,而且前、后摄像头修正 ...

因为只是演示需要,所以我并不需要支持不同型号的设备。
并且只需要修正前摄像头就可以了。
小米2A或者HTC G11是我正在用的设备。
如果这两部手机,我需要一部是全屏竖屏显示对方视频,另一个是横屏左半屏显示对方视频。
这样可以实现吗?
作者: admin    时间: 2013-8-12 15:56
您好,如果是特定型号的设备,则是可以实现的,参考:http://bbs.anychat.cn/forum.php? ... &extra=page%3D1
作者: hsfzer    时间: 2013-8-12 16:06
admin 发表于 2013-8-12 15:56
您好,如果是特定型号的设备,则是可以实现的,参考:http://bbs.anychat.cn/forum.php?mod=viewthread&tid ...

orientation的取值从0到6是怎么定义的呢?还有您说的修正参数是指什么呢?

作者: admin    时间: 2013-8-12 16:16
您好,修正参数就是orientation的值,不同的设备0 - 6的值不尽相同,所以需要您自己做一些调试的工作。
作者: hsfzer    时间: 2013-8-12 16:21
admin 发表于 2013-8-12 16:16
您好,修正参数就是orientation的值,不同的设备0 - 6的值不尽相同,所以需要您自己做一些调试的工作。

我需要一台机横屏一台机竖屏。
针对这种情况,我只需要在竖屏的机器上去修正就可以了吧。
横屏的机器就用demo不修改可以吗?

作者: admin    时间: 2013-8-12 16:24
是的,横屏的机器不用修改。
作者: hsfzer    时间: 2013-8-12 16:30
admin 发表于 2013-8-12 16:24
是的,横屏的机器不用修改。

好的。谢谢你的耐心解答。
作者: admin    时间: 2013-8-12 16:45
不客气,
作者: hsfzer    时间: 2013-8-12 17:47
hsfzer 发表于 2013-8-12 16:30
好的。谢谢你的耐心解答。

在当前手机显示的remote surfaceview 需要和对方的一样大吗?可不可以自己rescale呢?
我希望在当前的手机上全屏显示对方的视频,但是对方那里不希望他的本地视频是全屏的。
作者: admin    时间: 2013-8-12 17:51
您好,可以rescale,您可以调整SurfaceView的大小,视频显示时,会自动填充整个SurfaceView。
作者: hsfzer    时间: 2013-8-12 17:56
本帖最后由 hsfzer 于 2013-8-12 17:57 编辑
admin 发表于 2013-8-12 17:51
您好,可以rescale,您可以调整SurfaceView的大小,视频显示时,会自动填充整个SurfaceView。

也就是说在对方手机显示的surfaceview的大小,和本地手机上采集的视频分辨率可以不一样对吗?如果是这样,我如何指定本地要上传的视频采集分辨率呢?

作者: admin    时间: 2013-8-12 18:00
本地上传视频参数设置,可参考AnyChat for Android SDK的标准示例代码,里面的【设置】功能,可以设置视频相关参数(包括分辩率、输出码率等),源代码在:HallActivity.java中的:ApplyVideoConfig()中:
  1.                 if(configEntity.configMode == 1)                // 自定义视频参数配置
  2.                 {
  3.                         // 设置本地视频编码的码率(如果码率为0,则表示使用质量优先模式)
  4.                         AnyChatCoreSDK.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_BITRATECTRL, configEntity.videoBitrate);
  5.                         if(configEntity.videoBitrate==0)
  6.                         {
  7.                                 // 设置本地视频编码的质量
  8.                                 AnyChatCoreSDK.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_QUALITYCTRL, configEntity.videoQuality);
  9.                         }
  10.                         // 设置本地视频编码的帧率
  11.                         AnyChatCoreSDK.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_FPSCTRL, configEntity.videoFps);
  12.                         // 设置本地视频编码的关键帧间隔
  13.                         AnyChatCoreSDK.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_GOPCTRL, configEntity.videoFps*4);
  14.                         // 设置本地视频采集分辨率
  15.                         AnyChatCoreSDK.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_WIDTHCTRL, configEntity.resolution_width);
  16.                         AnyChatCoreSDK.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_HEIGHTCTRL, configEntity.resolution_height);
  17.                         // 设置视频编码预设参数(值越大,编码质量越高,占用CPU资源也会越高)
  18.                         AnyChatCoreSDK.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_PRESETCTRL, configEntity.videoPreset);
  19.                 }
复制代码

作者: admin    时间: 2013-8-12 18:12
您好,帖子太长了,若有新的问题建议新开一个帖子,谢谢,




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