AnyChat技术支持论坛

标题: 关于录像服务器疑问咨询 [打印本页]

作者: liweiqiang888    时间: 2015-8-6 13:53
标题: 关于录像服务器疑问咨询
您好,关于录像服务器配置中,有如下描述:
【RecordRootURL】表示录像文件保存本地根目录的互联网访问地址,是一个URL地址,通过该URL地址,可以访问到中心录像服务器目录下的指定文件,通常需要在Web服务器(如Apache)中设置一个虚拟路径指向【RecordRootDir】,而【RecordRootURL】就是该虚拟路径;

这里的“通常需要在Web服务器(如Apache)中设置一个虚拟路径指向【RecordRootDir】”怎么理解,该怎么操作?

1.jpg (257.84 KB, 下载次数: 4520)

1.jpg

作者: admin    时间: 2015-8-6 14:10
您好,请参考:有关中心录像服务器配置项【RecordRootURL】的说明
作者: liweiqiang888    时间: 2015-8-6 14:34
admin 发表于 2015-8-6 14:10
您好,请参考:有关中心录像服务器配置项【RecordRootURL】的说明。

[Base Settings]
DebugMode=1
ServerIpAddr=127.0.0.1
ServerUdpPort=8907
RecordRootDir=D:\myeclipse2013\recordPathServer\WebRoot\record\
RecordRootURL=http://10.168.96.27:8888/recordPathServer/record/
ServerCallBackPathType=2
ClientCallBackPathType=2
StreamBufferTime=10000

录制的参数:
var dwFlags = ANYCHAT_RECORD_FLAGS_SERVER+ANYCHAT_RECORD_FLAGS_LOCALCB+ANYCHAT_RECORD_FLAGS_VIDEO+ ANYCHAT_RECORD_FLAGS_AUDIO + ANYCHAT_RECORD_FLAGS_MIXVIDEO + ANYCHAT_RECORD_FLAGS_MIXAUDIO;

实际返回的:
2015-08-06/14-30-09-713_04134_58.mp4

在修改完配置后,启动录像服务器日志,发现其加载的recode跟路径不是我配置的RecordRootDir路径!
请问这个怎么破?
作者: admin    时间: 2015-8-6 14:38
您好,修改配置文件之后,需要重启录像服务器。
作者: liweiqiang888    时间: 2015-8-6 14:41
admin 发表于 2015-8-6 14:38
您好,修改配置文件之后,需要重启录像服务器。

是有重启的,改的参数总是不生效。
作者: admin    时间: 2015-8-6 14:44
您好,请参考:AnyChat使用攻略之独立部署Windows中心录像服务器,请注意您是否启动了多个录像服务器?可以查看一下AnyChatRecordServer进程的信息,是否有多个进程存在?
作者: liweiqiang888    时间: 2015-8-6 14:59
admin 发表于 2015-8-6 14:44
您好,请参考:AnyChat使用攻略之独立部署Windows中心录像服务器,请注意您是否启动了多个录像服务器?可以 ...

我本地windows环境测试,确认只启动了一台核心服务器和一台录像服务器,业务服务器部署在tomcat中!
作者: admin    时间: 2015-8-6 15:02
您可以尝试修改,然后重启录像服务器:
ServerCallBackPathType=1
ClientCallBackPathType=1
看是否可以返回绝对路径?
作者: liweiqiang888    时间: 2015-8-6 15:05
admin 发表于 2015-8-6 15:02
您可以尝试修改,然后重启录像服务器:
ServerCallBackPathType=1
ClientCallBackPathType=1

[2015-08-06 15:04:44(616)]        AnyChat Record Server Init,V5.3, Build Time:Jul 31 2015 22:09:05
[2015-08-06 15:04:44(618)]        Record Root Directory: D:\myeclipse2013\recordPathServer\WebRoot\record\
[2015-08-06 15:04:44(618)]        Record Stream Buffer Time: 10000 ms
[2015-08-06 15:04:44(618)]        Ready to connect anychatcoreserver  127.0.0.1(8907)....
[2015-08-06 15:04:44(624)]        Load BRMediaUtil.dll success!(V5.3 Build Time:Jul 31 2015 22:08:30)


OnAnyChatServerRecordExCallBack: dwUserId4134 ,Record Event ,szRecordFileName:D:\record\2015-08-06\15-04-56-445_04134_3.mp4
作者: liweiqiang888    时间: 2015-8-6 15:06
liweiqiang888 发表于 2015-8-6 15:05
[2015-08-06 15:04:44(616)]        AnyChat Record Server Init,V5.3, Build Time:Jul 31 2015 22:09:05
[2015 ...

储存的路径和我配置的路径不一致!
作者: liweiqiang888    时间: 2015-8-6 15:10
问题解决了
原因:RecordRootDir=D:\myeclipse2013\recordPathServer\WebRoot\record
RecordRootURL=http://10.168.96.27:8888/recordPathServer/record
后面不能多加个/ 不然无法加载!
作者: liweiqiang888    时间: 2015-8-6 15:38
还有个问题:
在视频录制完成后,服务端OnAnyChatServerRecordExCallBack时间中,能够传值过来,用来标志本次录像属于那一次业务请求?
作者: admin    时间: 2015-8-6 15:54
您好,API定义和回调函数设计已经考虑到了您的需求:

// 用户音、视频录制(扩展)
BRAC_API DWORD BRAC_StreamRecordCtrlEx(DWORD dwUserId, BOOL bStartRecord, DWORD dwFlags, DWORD dwParam, LPCTSTR lpUserStr);

// 录像、快照任务完成扩展回调函数定义
typedef void (CALLBACK * BRAC_RecordSnapShotEx_CallBack)(DWORD dwUserId, LPCTSTR lpFileName, DWORD dwElapse, DWORD dwFlags, DWORD dwParam, LPCTSTR lpUserStr, LPVOID lpUserValue);

其中dwParam(整型)和lpUserStr(字符串)是上层业务可以自定义的。

作者: liweiqiang888    时间: 2015-8-6 16:21
admin 发表于 2015-8-6 15:54
您好,API定义和回调函数设计已经考虑到了您的需求:

// 用户音、视频录制(扩展)

此问题结局,谢谢!

还有另外一个问题:
录像服务器配置:
ServerCallBackPathType=2
ClientCallBackPathType=2
为什么不能同时为2,我这边需要客户端和服务端都返回远程路径,如果都设置为2,则2个都不会返回远程URL路径?
作者: 陈文仲    时间: 2015-8-6 16:36
liweiqiang888 发表于 2015-8-6 16:21
此问题结局,谢谢!

还有另外一个问题:

您好,如果这两个都设置为2是可以正常返回URL路径的,您那边设置后返回的是什么路径呢?


作者: liweiqiang888    时间: 2015-8-6 18:35
陈文仲 发表于 2015-8-6 16:36
您好,如果这两个都设置为2是可以正常返回URL路径的,您那边设置后返回的是什么路径呢?

这个问题,我这边OK了,经检查时以前的版本驻留在服务中了。

另外的问题:
拍照能不能实现服务端拍照并存储在服务端?
作者: admin    时间: 2015-8-6 18:38
另外的问题:拍照能不能实现服务端拍照并存储在服务端?

您好,请参考:AnyChat支持中心服务器端拍照
作者: liweiqiang888    时间: 2015-8-6 18:42
admin 发表于 2015-8-6 18:38
您好,请参考:AnyChat支持中心服务器端拍照

DWORD BRAC_StreamRecordCtrlEx(DWORD dwUserId, BOOL bStartRecord, DWORD dwFlags, DWORD dwParam, LPCTSTR lpUserStr);

使用如上方法来实现拍照时, BOOL bStartRecord参数怎么传?
作者: admin    时间: 2015-8-6 18:45
bStartRecord=1就行了,只需要调用一次即可,不需要和录像那样,需要调用两次(开始、停止)。
作者: liweiqiang888    时间: 2015-8-6 18:48
admin 发表于 2015-8-6 18:45
bStartRecord=1就行了,只需要调用一次即可,不需要和录像那样,需要调用两次(开始、停止)。

dwFlags=ANYCHAT_RECORD_FLAGS_SERVER+ANYCHAT_RECORD_FLAGS_LOCALCB//                               
BRAC_StreamRecordCtrlEx(-1,1, dwFlags, 789,apply_code );


这个拍照对吗?好像不行呀
作者: admin    时间: 2015-8-6 18:52
您好,应该是:dwFlags = ANYCHAT_RECORD_FLAGS_SERVER+ANYCHAT_RECORD_FLAGS_LOCALCB+ANYCHAT_RECORD_FLAGS_SNAPSHOT;
作者: liweiqiang888    时间: 2015-8-7 09:53
admin 发表于 2015-8-6 18:52
您好,应该是:dwFlags = ANYCHAT_RECORD_FLAGS_SERVER+ANYCHAT_RECORD_FLAGS_LOCALCB+ANYCHAT_RECORD_FLAG ...

你好,我现在已经服务器从windows环境部署到linux环境下了。
目前遇到一个问题:
录像服务器,在linux下存储的文件,文件名中存在中文的,就会变成乱码?这个有解决方法吗?

作者: admin    时间: 2015-8-7 09:56
您好,可能是您的Linux环境没有安装中文语言包所导致的。
作者: liweiqiang888    时间: 2015-8-7 10:14
admin 发表于 2015-8-7 09:56
您好,可能是您的Linux环境没有安装中文语言包所导致的。

LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=

我这边已经设置成中文编码,并且已经有日志里面打印出中文了!
作者: liweiqiang888    时间: 2015-8-7 10:25
请问录像、拍照文件命名规则怎么设置,我直接设置的不让他存储中文
作者: liweiqiang888    时间: 2015-8-7 10:31
admin 发表于 2015-8-7 09:56
您好,可能是您的Linux环境没有安装中文语言包所导致的。

补充下,我的业务服务器也是部署在同一台机器上,业务服务器的回调能够正常显示中文,只是真正存储时,却是中文!
作者: liweiqiang888    时间: 2015-8-7 10:32
liweiqiang888 发表于 2015-8-7 10:31
补充下,我的业务服务器也是部署在同一台机器上,业务服务器的回调能够正常显示中文,只是真正存储时,却 ...

上面写错了,却是乱码
作者: 佰锐科技-李永星    时间: 2015-8-7 10:37
liweiqiang888 发表于 2015-8-7 10:32
上面写错了,却是乱码

您好!请稍等,我们再次实测验证一下。
作者: liweiqiang888    时间: 2015-8-7 10:39

[2015-08-07 09:55:52(437)]      Received recording tasks(userid:159, roomid:1, flags:0x837), preparing record...
[2015-08-07 09:55:52(909)]              userid:159-received audio stream info: codec:11, 1, 16000, 16
[2015-08-07 09:55:52(909)]              userid:159-received video stream info: codec:1, 320x240, 15fps
[2015-08-07 09:55:53(909)]              userid:123-received audio stream info: codec:11, 1, 16000, 16
[2015-08-07 09:55:53(909)]              userid:123-received video stream info: codec:1, 320x240, 15fps
[2015-08-07 09:56:00(502)]      Received stop record command(userid:159)
[2015-08-07 09:56:00(524)]              Prepare stop record(userid:159)
[2015-08-07 09:56:00(525)]      Stop recording(userid:159), seconds:0, elapse:8 , record file name:

[2015-08-07 09:56:00(525)]              userid:123-CRecordScheme::StreamRecordCheck(audio seq:-1, audio max:-1, video seq:-1, video max:-1)
[2015-08-07 09:56:00(525)]              userid:159-CRecordScheme::StreamRecordCheck(audio seq:-1, audio max:-1, video seq:-1, video max:-1)
[2015-08-07 09:56:34(538)]      Received recording tasks(userid:159, roomid:1, flags:0x837), preparing record...
[2015-08-07 09:56:34(953)]              userid:159-received audio stream info: codec:11, 1, 16000, 16
[2015-08-07 09:56:34(953)]              userid:159-received video stream info: codec:1, 320x240, 15fps
[2015-08-07 09:56:35(952)]              userid:123-received audio stream info: codec:11, 1, 16000, 16
[2015-08-07 09:56:35(953)]              userid:123-received video stream info: codec:1, 320x240, 15fps
[2015-08-07 09:56:46(515)]      Received stop record command(userid:159)
[2015-08-07 09:56:46(573)]              Prepare stop record(userid:159)
[2015-08-07 09:56:46(573)]      Stop recording(userid:159), seconds:0, elapse:12 , record file name:

[2015-08-07 09:56:46(573)]              userid:123-CRecordScheme::StreamRecordCheck(audio seq:-1, audio max:-1, video seq:-1, video max:-1)
[2015-08-07 09:56:46(573)]              userid:159-CRecordScheme::StreamRecordCheck(audio seq:-1, audio max:-1, video seq:-1, video max:-1)
[2015-08-07 10:06:09(265)]      Finish image capture(userid:123-->userid:159), 320x240, filename:/root/server/apache-tomcat-7.0.47/webapps/recordPathServer/record/2015-08-07/10-06-09-264_.jpg

[2015-08-07 10:13:24(261)]      Finish image capture(userid:123-->userid:159), 320x240, filename:/root/server/apache-tomcat-7.0.47/webapps/recordPathServer/record/2015-08-07/10-13-24-257_9.jpg


/root/server/apache-tomcat-7.0.47/webapps/recordPathServer/record/2015-08-07
-rw-rw-rw- 1 root root 11735 8月   7 09:49 09-49-11-309_??????_38.jpg
-rw-rw-rw- 1 root root 12057 8月   7 09:55 09-55-49-638_??????_4.jpg
-rw-rw-rw- 1 root root 10911 8月   7 10:06 10-06-09-264_??????_4.jpg
-rw-rw-rw- 1 root root 11510 8月   7 10:13 10-13-24-257_??????_29.jpg
作者: admin    时间: 2015-8-7 10:43
上面是拍照(.jpg文件),有没有看一下录像(.mp4文件)是否正常?
作者: liweiqiang888    时间: 2015-8-7 10:47
admin 发表于 2015-8-7 10:43
上面是拍照(.jpg文件),有没有看一下录像(.mp4文件)是否正常?

5-08-07 10:44:59(707)]      Received recording tasks(userid:159, roomid:1, flags:0x837), preparing record...
[2015-08-07 10:45:00(505)]              userid:123-received audio stream info: codec:11, 1, 16000, 16
[2015-08-07 10:45:00(505)]              userid:123-received video stream info: codec:1, 320x240, 15fps
[2015-08-07 10:45:00(505)]              userid:159-received audio stream info: codec:11, 1, 16000, 16
[2015-08-07 10:45:00(505)]              userid:159-received video stream info: codec:1, 320x240, 15fps
[2015-08-07 10:45:28(314)]      Received stop record command(userid:159)
[2015-08-07 10:45:28(314)]              Prepare stop record(userid:159)
[2015-08-07 10:45:28(314)]      Stop recording(userid:159), seconds:0, elapse:28 , record file name:

[2015-08-07 10:45:28(314)]              userid:123-CRecordScheme::StreamRecordCheck(audio seq:-1, audio max:-1, video seq:-1, video max:-1)
[2015-08-07 10:45:28(314)]              userid:159-CRecordScheme::StreamRecordCheck(audio seq:-1, audio max:-1, video seq:-1, video max:-1)
[2015-08-07 10:46:07(836)]      Received recording tasks(userid:159, roomid:1, flags:0x837), preparing record...
[2015-08-07 10:46:08(565)]              userid:159-received audio stream info: codec:11, 1, 16000, 16
[2015-08-07 10:46:08(566)]              userid:159-received video stream info: codec:1, 320x240, 15fps
[2015-08-07 10:46:09(568)]              userid:123-received audio stream info: codec:11, 1, 16000, 16
[2015-08-07 10:46:09(568)]              userid:123-received video stream info: codec:1, 320x240, 15fps
[2015-08-07 10:47:06(364)]      Received stop record command(userid:159)
[2015-08-07 10:47:06(378)]              Prepare stop record(userid:159)
[2015-08-07 10:47:06(378)]      Stop recording(userid:159), seconds:0, elapse:58 , record file name:

[2015-08-07 10:47:06(378)]              userid:123-CRecordScheme::StreamRecordCheck(audio seq:-1, audio max:-1, video seq:-1, video max:-1)
[2015-08-07 10:47:06(378)]              userid:159-CRecordScheme::StreamRecordCheck(audio seq:-1, audio max:-1, video seq:-1, video max:-1)
作者: liweiqiang888    时间: 2015-8-7 10:48
录像的时候,不能生成文件,也没有回调!
作者: admin    时间: 2015-8-7 10:53
您好,根据上面的日志判断,是录像服务器没有收到语音、视频流,请确认当前Linux服务器是否有防火墙?关闭防火墙,或是打开对应的端口(默认配置为UDP:8907)再测试看看?
作者: liweiqiang888    时间: 2015-8-7 11:02
admin 发表于 2015-8-7 10:53
您好,根据上面的日志判断,是录像服务器没有收到语音、视频流,请确认当前Linux服务器是否有防火墙?关闭 ...

视频可以,中文可以显示!
作者: liweiqiang888    时间: 2015-8-7 11:38
admin 发表于 2015-8-7 10:53
您好,根据上面的日志判断,是录像服务器没有收到语音、视频流,请确认当前Linux服务器是否有防火墙?关闭 ...

拍照存储乱码问题,你们那能重现吗?我这边就差这个问题了!
作者: admin    时间: 2015-8-7 12:20
您好,请重新下载AnyChat for Linux SDK,更新中心录像服务器程序,看问题是否可以得到解决。
作者: liweiqiang888    时间: 2015-8-7 14:01
admin 发表于 2015-8-7 12:20
您好,请重新下载AnyChat for Linux SDK,更新中心录像服务器程序,看问题是否可以得到解决。

可以了,3Q




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