AnyChat技术支持论坛

标题: window客户端调用BRAC_StreamRecordCtrl,得到MP4文件只有音频没有视频 [打印本页]

作者: lincy    时间: 2015-4-8 10:42
标题: window客户端调用BRAC_StreamRecordCtrl,得到MP4文件只有音频没有视频
请教一个问题,我在window客户端调用BRAC_StreamRecordCtrl并列录制,得到MP4文件只有声音没有图像。

代码如下:
ulong flags = AnyChatCoreSDK.ANYCHAT_RECORD_FLAGS_VIDEO + AnyChatCoreSDK.ANYCHAT_RECORD_FLAGS_AUDIO + AnyChatCoreSDK.ANYCHAT_RECORD_FLAGS_MIXAUDIO + AnyChatCoreSDK.ANYCHAT_RECORD_FLAGS_MIXVIDEO + AnyChatCoreSDK.ANYCHAT_RECORD_FLAGS_ABREAST;
            AnyChatCoreSDK.StreamRecordCtrl(-1, true, flags, 0); //开始录像

ulong flags = AnyChatCoreSDK.ANYCHAT_RECORD_FLAGS_VIDEO + AnyChatCoreSDK.ANYCHAT_RECORD_FLAGS_AUDIO + AnyChatCoreSDK.ANYCHAT_RECORD_FLAGS_MIXAUDIO + AnyChatCoreSDK.ANYCHAT_RECORD_FLAGS_MIXVIDEO + AnyChatCoreSDK.ANYCHAT_RECORD_FLAGS_ABREAST;
            AnyChatCoreSDK.StreamRecordCtrl(-1, false, flags, 0); //结束录像

我的sdk版本为AnyChatCoreSDK_Win32_r4509

谢谢。
作者: 廖斌    时间: 2015-4-8 10:43
您好,方便将您的客户端日志发上来,我们分析下。是在视频通话过程中看到双方的图像之后才开始录制的吗?
作者: lincy    时间: 2015-4-8 13:02
是在看到图像后开始录制的,但是由于双方都运行在一台电脑上,只有一个摄像头,所以只有一方有视频图像。日志如下:[2015-04-08 11:32:46(412)]        ---------------------------AnyChat Platform Core SDK Client Log---------------------------
[2015-04-08 11:32:46(413)]        Load BRAnyChatCore.dll success!(V5.2 Build Time:Feb 10 2015 14:09:19)
[2015-04-08 11:32:46(434)]        Load BRMiscUtil.dll success!(V5.2 Build Time:Feb 10 2015 14:07:32)
[2015-04-08 11:32:46(464)]        Load BRMediaUtil.dll success!(V5.2 Build Time:Feb 10 2015 14:07:48)
[2015-04-08 11:32:46(465)]        Load BRMediaShow.dll success!(V5.2 Build Time:Feb 10 2015 14:07:40)
[2015-04-08 11:32:46(469)]        Load BRMediaCore.dll success!(V5.2 Build Time:Feb 10 2015 14:08:00)
[2015-04-08 11:32:46(500)]        Apply video parameter:1280x720, bitrate:600000, quality:0, gop:20, fps:12, preset:3, codec:0
[2015-04-08 11:32:46(501)]        Invoke        BRAC_Connect(192.168.52.144,8906)=0
[2015-04-08 11:32:46(502)]        Invoke        LoginServer(username=lincy)
[2015-04-08 11:32:46(503)]        Invoke        EnterRoom(lincy)
[2015-04-08 11:32:46(570)]        CheckClientSocketLink         Connect(ip=192.168.52.144,port=8906)
[2015-04-08 11:32:46(671)]        Server version: V5.2(Build Time:2015-02-10 14:08:34, Server OS:Windows)
[2015-04-08 11:32:46(877)]        Message        OnConnect(bSuccess:1, errorcode=0)
[2015-04-08 11:32:47(397)]        Message        OnLoginSystem(userid=20,errorcode=0,username=lincy), msg deliver worked(1)
[2015-04-08 11:32:47(398)]        Server running time: 56 days, 0 hours, 36 minutes, license mode:0
[2015-04-08 11:32:47(439)]        Connection to streaming media server successfully!(udp delay:23ms)
[2015-04-08 11:32:47(650)]        Message        OnEnterRoom(roomid=554,errorcode=0,siteindex=0)
[2015-04-08 11:32:47(652)]        Message        OnReceiveOnlineUser(count=1,roomid=554)
[2015-04-08 11:32:47(652)]        Invoke        BRAC_SetVideoPos(dwUserId:-1, hWnd:0x2600be, l:0, t:0, r:332, b:284)
[2015-04-08 11:32:47(653)]        Invoke        UserCameraControl(userid=-1,bOpen=1)
[2015-04-08 11:32:47(654)]        Invoke        UserSpeakControl(userid=-1,bOpen=1)
[2015-04-08 11:32:47(682)]        WaveIn Audio Capture Driver(麦克风 (HD Webcam C270))
[2015-04-08 11:32:47(683)]        Audio Init, error:0, device:0, 1, 16000, 16, capmode:0
[2015-04-08 11:32:47(683)]        Audio codec init, handle:1, 11, 1, 16000, 16, 15850
[2015-04-08 11:32:47(697)]        Audio Playback Device Init(0, 1, 16000, 16), WaveOut Playback Driver
[2015-04-08 11:32:47(721)]        Audio FX Status: VAD:1, NS:1, AGC:1, AEC:1
[2015-04-08 11:32:47(794)]        MinCroppingSize(640, 480)        MaxCroppingSize(640, 480)        Format(RGB24, 0x0)
[2015-04-08 11:32:47(794)]        MinCroppingSize(160, 120)        MaxCroppingSize(160, 120)        Format(RGB24, 0x0)
[2015-04-08 11:32:47(795)]        MinCroppingSize(176, 144)        MaxCroppingSize(176, 144)        Format(RGB24, 0x0)
[2015-04-08 11:32:47(796)]        MinCroppingSize(320, 176)        MaxCroppingSize(320, 176)        Format(RGB24, 0x0)
[2015-04-08 11:32:47(796)]        MinCroppingSize(320, 240)        MaxCroppingSize(320, 240)        Format(RGB24, 0x0)
[2015-04-08 11:32:47(797)]        MinCroppingSize(352, 288)        MaxCroppingSize(352, 288)        Format(RGB24, 0x0)
[2015-04-08 11:32:47(797)]        MinCroppingSize(432, 240)        MaxCroppingSize(432, 240)        Format(RGB24, 0x0)
[2015-04-08 11:32:47(798)]        MinCroppingSize(544, 288)        MaxCroppingSize(544, 288)        Format(RGB24, 0x0)
[2015-04-08 11:32:47(799)]        MinCroppingSize(640, 360)        MaxCroppingSize(640, 360)        Format(RGB24, 0x0)
[2015-04-08 11:32:47(800)]        MinCroppingSize(752, 416)        MaxCroppingSize(752, 416)        Format(RGB24, 0x0)
[2015-04-08 11:32:47(800)]        MinCroppingSize(800, 448)        MaxCroppingSize(800, 448)        Format(RGB24, 0x0)
[2015-04-08 11:32:47(801)]        MinCroppingSize(800, 600)        MaxCroppingSize(800, 600)        Format(RGB24, 0x0)
[2015-04-08 11:32:47(801)]        MinCroppingSize(864, 480)        MaxCroppingSize(864, 480)        Format(RGB24, 0x0)
[2015-04-08 11:32:47(802)]        MinCroppingSize(960, 544)        MaxCroppingSize(960, 544)        Format(RGB24, 0x0)
[2015-04-08 11:32:47(802)]        MinCroppingSize(960, 720)        MaxCroppingSize(960, 720)        Format(RGB24, 0x0)
[2015-04-08 11:32:47(803)]        MinCroppingSize(1024, 576)        MaxCroppingSize(1024, 576)        Format(RGB24, 0x0)
[2015-04-08 11:32:47(803)]        MinCroppingSize(1184, 656)        MaxCroppingSize(1184, 656)        Format(RGB24, 0x0)
[2015-04-08 11:32:47(804)]        MinCroppingSize(1280, 720)        MaxCroppingSize(1280, 720)        Format(RGB24, 0x0)
[2015-04-08 11:32:47(804)]        MinCroppingSize(1280, 960)        MaxCroppingSize(1280, 960)        Format(RGB24, 0x0)
[2015-04-08 11:32:47(805)]        MinCroppingSize(640, 480)        MaxCroppingSize(640, 480)        Format(YUV420P, 0x30323449)
[2015-04-08 11:32:47(805)]        MinCroppingSize(160, 120)        MaxCroppingSize(160, 120)        Format(YUV420P, 0x30323449)
[2015-04-08 11:32:47(806)]        MinCroppingSize(176, 144)        MaxCroppingSize(176, 144)        Format(YUV420P, 0x30323449)
[2015-04-08 11:32:47(806)]        MinCroppingSize(320, 176)        MaxCroppingSize(320, 176)        Format(YUV420P, 0x30323449)
[2015-04-08 11:32:47(807)]        MinCroppingSize(320, 240)        MaxCroppingSize(320, 240)        Format(YUV420P, 0x30323449)
[2015-04-08 11:32:47(807)]        MinCroppingSize(352, 288)        MaxCroppingSize(352, 288)        Format(YUV420P, 0x30323449)
[2015-04-08 11:32:47(808)]        MinCroppingSize(432, 240)        MaxCroppingSize(432, 240)        Format(YUV420P, 0x30323449)
[2015-04-08 11:32:47(808)]        MinCroppingSize(544, 288)        MaxCroppingSize(544, 288)        Format(YUV420P, 0x30323449)
[2015-04-08 11:32:47(809)]        MinCroppingSize(640, 360)        MaxCroppingSize(640, 360)        Format(YUV420P, 0x30323449)
[2015-04-08 11:32:47(809)]        MinCroppingSize(752, 416)        MaxCroppingSize(752, 416)        Format(YUV420P, 0x30323449)
[2015-04-08 11:32:47(810)]        MinCroppingSize(800, 448)        MaxCroppingSize(800, 448)        Format(YUV420P, 0x30323449)
[2015-04-08 11:32:47(811)]        MinCroppingSize(800, 600)        MaxCroppingSize(800, 600)        Format(YUV420P, 0x30323449)
[2015-04-08 11:32:47(811)]        MinCroppingSize(864, 480)        MaxCroppingSize(864, 480)        Format(YUV420P, 0x30323449)
[2015-04-08 11:32:47(812)]        MinCroppingSize(960, 544)        MaxCroppingSize(960, 544)        Format(YUV420P, 0x30323449)
[2015-04-08 11:32:47(813)]        MinCroppingSize(960, 720)        MaxCroppingSize(960, 720)        Format(YUV420P, 0x30323449)
[2015-04-08 11:32:47(813)]        MinCroppingSize(1024, 576)        MaxCroppingSize(1024, 576)        Format(YUV420P, 0x30323449)
[2015-04-08 11:32:47(814)]        MinCroppingSize(1184, 656)        MaxCroppingSize(1184, 656)        Format(YUV420P, 0x30323449)
[2015-04-08 11:32:47(814)]        MinCroppingSize(1280, 720)        MaxCroppingSize(1280, 720)        Format(YUV420P, 0x30323449)
[2015-04-08 11:32:47(815)]        MinCroppingSize(1280, 960)        MaxCroppingSize(1280, 960)        Format(YUV420P, 0x30323449)
[2015-04-08 11:32:47(815)]        Video Config Size(1280, 720)        Format(RGB24, 12fps)
[2015-04-08 11:32:48(147)]        video init finish:1280x720, RGB24, fps:12
[2015-04-08 11:32:48(163)]        Message        OnUserEnterRoom(userid=-220,nickname=customerTTTNETPF_600500_1_370781198510161234_100000,siteindex=1)
[2015-04-08 11:32:48(210)]        Invoke        BRAC_SetVideoPos(dwUserId:-220, hWnd:0x111302, l:0, t:0, r:557, b:338)
[2015-04-08 11:32:48(211)]        Invoke        UserCameraControl(userid=-220,bOpen=1)
[2015-04-08 11:32:48(212)]        Invoke        UserSpeakControl(userid=-220,bOpen=1)
[2015-04-08 11:32:48(733)]        Message        OnP2PConnectState(userid=-220, state=1)
[2015-04-08 11:32:48(853)]        Message        OnP2PConnectState(userid=-220, state=3)
[2015-04-08 11:32:48(893)]        On Remote UserCameraControl(dwUserId:-220, bOpen:1)
[2015-04-08 11:32:48(894)]        On Remote UserSpeakControl(dwUserId:-220, bOpen:1)
[2015-04-08 11:32:49(714)]        video codec init:codec:1, 12fps, 1280x720, bitrate:600kbps, quality:0, preset:3, gop:20, handle:3
[2015-04-08 11:32:49(908)]        Invoke        SnapShot(-220, 0x0, 0)=0
[2015-04-08 11:32:56(382)]        Invoke        StreamRecordCtrlEx(-1, 1, 0x133, 0, )=0
[2015-04-08 11:32:57(770)]        Record audio parameters: aac, 2 channel, 16.0kHz, 64kbps
[2015-04-08 11:32:57(771)]        Record video parameters: h264, 2560x720, 12fps, 0kbps
[2015-04-08 11:32:57(771)]        Record status, input video count:14(1264 ms), record video count:16(1333 ms), 12 fps, audio frame count:20480(1280 ms), audio_eof:1, video_eof:1
[2015-04-08 11:32:57(772)]        Record filename: C:\Users\lincy\AppData\Local\Temp\2015-04-08\11-32-56-422_lincy_0.mp4
[2015-04-08 11:32:57(773)]        Invoke        StreamRecordCtrlEx(-1, 0, 0x133, 0, )=0

作者: lincy    时间: 2015-4-8 13:20
本帖最后由 lincy 于 2015-4-8 13:21 编辑

另外这句好像也不起作用:AnyChatCoreSDK.SetSDKOption(AnyChatCoreSDK.BRAC_SO_RECORD_TMPDIR, recordPath, frmRoom.recordPath.Length);保存路径没有修改。 我是写在如下位置:
AnyChatCoreSDK.SetSDKOption(AnyChatCoreSDK.BRAC_SO_RECORD_TMPDIR, recordPath, frmRoom.attachmentPath.Length);
ulong flags = AnyChatCoreSDK.ANYCHAT_RECORD_FLAGS_VIDEO + AnyChatCoreSDK.ANYCHAT_RECORD_FLAGS_AUDIO + AnyChatCoreSDK.ANYCHAT_RECORD_FLAGS_MIXAUDIO + AnyChatCoreSDK.ANYCHAT_RECORD_FLAGS_MIXVIDEO + AnyChatCoreSDK.ANYCHAT_RECORD_FLAGS_ABREAST;
            AnyChatCoreSDK.StreamRecordCtrlEx(-1, true, flags, 0,""); //开始录像
作者: lincy    时间: 2015-4-8 13:27
本帖最后由 lincy 于 2015-4-8 13:32 编辑
lincy 发表于 2015-4-8 13:20
另外这句好像也不起作用:AnyChatCoreSDK.SetSDKOption(AnyChatCoreSDK.BRAC_SO_RECORD_TMPDIR, recordPath ...


这句现在可以了,原因是最后一个参数应该是字节数。
作者: lincy    时间: 2015-4-8 14:32
是不是因为双方在同一台电脑上运行的关系?
作者: lincy    时间: 2015-4-8 14:51
lincy 发表于 2015-4-8 14:32
是不是因为双方在同一台电脑上运行的关系?

我试了一下,果然是这个原因!
作者: lincy    时间: 2015-4-8 14:52
另外再问一下,我在客户端触发开始录制和停止录制的话,能把录制的文件放在服务器上而不是客户端本地吗?
作者: 陈文仲    时间: 2015-4-8 15:16
本帖最后由 陈文仲 于 2015-4-8 15:38 编辑

您好,在录制的参数flags 中加上AnyChatCoreSDK.ANYCHAT_RECORD_FLAGS_SERVER就是在服务器端进行录制,录制文件保存在录像服务器上;服务器录制需要部署中心录像服务器,参考http://bbs.anychat.cn/forum.php? ... 1%B7%FE%CE%F1%C6%F7
作者: lincy    时间: 2015-4-8 16:04
陈文仲 发表于 2015-4-8 15:16
您好,在录制的参数flags 中加上AnyChatCoreSDK.ANYCHAT_RECORD_FLAGS_SERVER就是在服务器端进行录制,录制 ...

那么快照是否也可使用这个flag,在服务器端保存?
作者: 陈文仲    时间: 2015-4-8 16:13
lincy 发表于 2015-4-8 16:04
那么快照是否也可使用这个flag,在服务器端保存?

图片抓拍目前不能使用这个参数在服务器中进行保存,可以通过传输文件的功能把抓拍到的文件传输到服务器。
作者: lincy    时间: 2015-4-8 16:19
好的,明白了,谢谢




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