设为首页收藏本站

AnyChat技术支持论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 5257|回复: 14
打印 上一主题 下一主题

使用anychat单通道录制视频问题

[复制链接]

4

主题

21

帖子

76

积分

注册会员

Rank: 2

积分
76
跳转到指定楼层
楼主
发表于 2016-8-17 10:38:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    在使用单通道视频录制过程中,录制结束后有时会出现   - (void) OnAnyChatRecordCallBackint) dwUserid : (NSString*) lpFileName : (int) dwElapse : (int) dwFlags : (int) dwParam : (NSString*) lpUserStr 这个函数没有回调的情况,出现的概率高.
    由打印的消息看会出现:Unable to find a suitable output format for '/var/mobile/Containers/Data/Application/7ADCE2F4-6278-49CE-BDEB-0C228A106FC3/Documents.
    使用的是有6.0版本的 AnyChatSelfRecord demo进行嵌入。
    能帮忙分析下原因吗?

   不胜感激!

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

沙发
发表于 2016-8-17 10:53:00 | 只看该作者
你好,请贴下 你调用录制接口的具体代码信息。
回复 支持 反对

使用道具 举报

4

主题

21

帖子

76

积分

注册会员

Rank: 2

积分
76
板凳
 楼主| 发表于 2016-8-17 11:03:43 | 只看该作者
佰锐科技-白玉冰 发表于 2016-8-17 10:53
你好,请贴下 你调用录制接口的具体代码信息。

初始化:
- (void)initAnyChat
{
    [[NSNotificationCenter defaultCenter] addObserver:self selectorselector(AnyChatNotifyHandler name"ANYCHATNOTIFY" object:nil];
   
    [AnyChatPlatform InitSDK:0];
   
    anyChat = [[AnyChatPlatform alloc] init];
    anyChat.notifyMsgDelegate = self;
    anyChat.transDataDelegate = self;
    anyChat.recordSnapShotDelegate = self;
   
    self.theVideoRecordMArray = [[NSMutableArray alloc] initWithCapacity:5];
   
    //创建默认视频参数
    [[SettingVC sharedSettingVC] createObjPlistFileToDocumentsPath];

}

//连接登录
- (void)AnyChatConnecToServer
{
    [AnyChatPlatform Connect:AnyChatIP : [AnyChatPort integerValue]];
   
    [AnyChatPlatform Login:AnyChatUserName :nil];

}

// 进入房间后打开录制界面
- (void) OnAnyChatEnterRoomint) dwRoomId : (int) dwErrorCode
{
   
    self.TimerCount.hidden = NO;
   
    [AnyChatPlatform SetSDKOptionInt:BRAC_SO_LOCALVIDEO_WIDTHCTRL :352];
    [AnyChatPlatform SetSDKOptionInt:BRAC_SO_LOCALVIDEO_HEIGHTCTRL :288];
    RecordLocalVC *recordVC = [[RecordLocalVC alloc]init];
    [self.navigationController pushViewController:recordVC animated:YES];
   
}

//开始录制和结束录制方法
- (IBAction)recordLocolBtn_OnClickedid)sender
{
    int theRecordId = -1;
    theLocalRecordFlags = ANYCHAT_RECORD_FLAGS_AUDIO + ANYCHAT_RECORD_FLAGS_VIDEO + ANYCHAT_RECORD_FLAGS_LOCALCB;
   
    if (theLocolFunBtn.selected == NO)
    {
        //Self recording
        [AnyChatPlatform StreamRecordCtrlEx: theRecordId
                                           : YES
                                           : theLocalRecordFlags
                                           : 0
                                           : @"StarLocolSelfRecord"];
        
        //Show LocalRecord Time
        self.theLocalRecordTimeLab.hidden = NO;
        [theLocalRecordMZTimer reset];
        [theLocalRecordMZTimer start];
        
        theLocolFunBtn.selected = YES;
        [theLocolFunBtn setBackgroundImage:[UIImage imageNamed"btn_endRecord"] forState:UIControlStateSelected];
        self.btnComplete.enabled = YES;
    }
    else
    {
            //Stop recording local
            [AnyChatPlatform StreamRecordCtrlEx: theRecordId
                                               : NO
                                               : theLocalRecordFlags
                                               : 0
                                               : @"StopLocolRecord"];
            
            //Close LocalRecord Time
            self.theLocalRecordTimeLab.hidden = YES;
            [theLocalRecordMZTimer pause];
            
            theLocolFunBtn.selected = NO;
    }
   
}


// 回调事件,但是经常性没有回调
- (void) OnAnyChatRecordCallBackint) dwUserid : (NSString*) lpFileName : (int) dwElapse : (int) dwFlags : (int) dwParam : (NSString*) lpUserStr
{

    self.theVideoPath = lpFileName;
    self.isRecordCompleted = YES;

}
回复 支持 反对

使用道具 举报

地板
发表于 2016-8-17 11:44:11 | 只看该作者
你好,录制没有回调,说明录制是没有成功的;
Unable to find a suitable output format for '/var/mobile/Containers/Data/Application/7ADCE2F4-6278-49CE-BDEB-0C228A106FC3/Documents. 这个是 录制文件的保存路径 异常,如果录制成功,后面应该是 mp4(自选录制格式)格式名结尾。
至于,录制是失败的原因,有可能是网络中断等,你可以对比下自己正常的情况。
回复 支持 反对

使用道具 举报

5#
发表于 2016-8-17 11:49:28 | 只看该作者
您好,录制回调没有触发,那视频文件有没有生成呢?

请将anychat的日志发过来,在沙盒document中:BRAnychatcore.log;
或者将控制台信息发上来,谢谢
回复 支持 反对

使用道具 举报

4

主题

21

帖子

76

积分

注册会员

Rank: 2

积分
76
6#
 楼主| 发表于 2016-8-17 15:11:32 | 只看该作者
把库替换成贵司最新的SDKv6.1解决了

谢谢两位的帮助!


回复 支持 反对

使用道具 举报

4

主题

21

帖子

76

积分

注册会员

Rank: 2

积分
76
7#
 楼主| 发表于 2016-9-14 11:18:13 | 只看该作者
佰锐科技-邵光清 发表于 2016-8-17 11:49
您好,录制回调没有触发,那视频文件有没有生成呢?

请将anychat的日志发过来,在沙盒document中:BRAny ...

使用v6.1版本的SDk一段时间后,又出现了录制视频后没有回调的情况……
有时候回调成功会出现:[StartVideoRecordingViewController OnAnyChatRecordCallBack::::::]: unrecognized selector sent to instance 0x1fb3780      StartVideoRecordingViewController是我自己定义的类,代码中已经实现- (void) OnAnyChatRecordCallBackint) dwUserid : (int) dwErrorCode : (NSString*) lpFileName : (int) dwElapse : (int) dwFlags : (int) dwParam : (NSString*) lpUserStr;

代码唯一的修改点就是为了解决和webRTC冲突,在进入房间后调用了
    [AnyChatPlatform SetSDKOptionInt:BRAC_SO_AUDIO_NSCTRL :0];
    [AnyChatPlatform SetSDKOptionInt:BRAC_SO_AUDIO_VADCTRL :0];
    [AnyChatPlatform SetSDKOptionInt:BRAC_SO_AUDIO_AGCCTRL :0];
    [AnyChatPlatform SetSDKOptionInt:BRAC_SO_AUDIO_ECHOCTRL :0];
    [AnyChatPlatform SetSDKOptionInt:BRAC_SO_AUDIO_CNGCTRL :0];
回复 支持 反对

使用道具 举报

4

主题

21

帖子

76

积分

注册会员

Rank: 2

积分
76
8#
 楼主| 发表于 2016-9-14 11:44:51 | 只看该作者
仔细看的话,发现回调的函数变成六个参数了,和头文件定义的不一样
回复 支持 反对

使用道具 举报

2

主题

336

帖子

1243

积分

金牌会员

Rank: 6Rank: 6

积分
1243
9#
发表于 2016-9-14 17:37:28 | 只看该作者
发日志上来 我们分析一下
回复 支持 反对

使用道具 举报

4

主题

21

帖子

76

积分

注册会员

Rank: 2

积分
76
10#
 楼主| 发表于 2016-9-18 09:44:53 | 只看该作者
佰锐科技-刘洋 发表于 2016-9-14 17:37
发日志上来 我们分析一下

[2016-09-18 09:39:49(242)]        ---------------------------AnyChat Platform Core SDK Client Log---------------------------
[2016-09-18 09:39:49(244)]        Load libanychatcore.so success!(V5.1 Build Time:Oct 14 2014 11:32:15)
[2016-09-18 09:39:49(245)]        Load libmediautil.so success!(V5.2 Build Time:Oct 14 2014 11:32:54)
[2016-09-18 09:39:49(246)]        Load libmediashow.so success!(V5.1 Build Time:Oct 14 2014 11:32:48)
[2016-09-18 09:39:49(247)]        Load libmediacore.so success!(V5.1 Build Time:Oct 14 2014 11:32:42)
[2016-09-18 09:39:49(793)]        Invoke        BRAC_Connect(121.40.44.164,8906)=0
[2016-09-18 09:39:49(794)]        Invoke        LoginServer(username=00120160918093976024)
[2016-09-18 09:39:49(886)]        CheckClientSocketLink         Connect(ip=121.40.44.164,port=8906)
[2016-09-18 09:39:50(021)]        Server version: V6.1(Build Time:2016-08-02 13:52:22, Server OS:Windows)
[2016-09-18 09:39:50(036)]        Message        OnConnect(bSuccess:1, errorcode=0)
[2016-09-18 09:39:50(325)]        Message        OnLoginSystem(userid=-354,errorcode=0,username=00120160918093976024), msg deliver worked(0)
[2016-09-18 09:39:50(327)]        Load libmediautil.so success!(V5.2 Build Time:Oct 14 2014 11:32:54)
[2016-09-18 09:39:50(329)]        Load libmediashow.so success!(V5.1 Build Time:Oct 14 2014 11:32:48)
[2016-09-18 09:39:50(330)]        Load libmediacore.so success!(V5.1 Build Time:Oct 14 2014 11:32:42)
[2016-09-18 09:39:50(340)]        Invoke        BRAC_SetSDKOption(BRAC_SO_NETWORK_P2PPOLITIC=1)
[2016-09-18 09:39:50(341)]        Apply video parameter:352x288, bitrate:180000, quality:3, gop:30, fps:12, preset:2, codec:1
[2016-09-18 09:39:50(350)]        Invoke        EnterRoom(roomid=999)
[2016-09-18 09:39:50(367)]        Connection to streaming media server successfully!(udp delay:18ms)
[2016-09-18 09:39:50(434)]        Message        OnEnterRoom(roomid=999,errorcode=0,siteindex=0)
[2016-09-18 09:39:50(650)]        Audio Playback Device Init(0, 1, 16000, 16), ios Playback Driver
[2016-09-18 09:39:50(665)]        Message        OnReceiveOnlineUser(count=1,roomid=999)
[2016-09-18 09:39:50(686)]        Invoke        SetSDKOption(BRAC_SO_AUDIO_NSCTRL,0)
[2016-09-18 09:39:50(688)]        Invoke        SetSDKOption(BRAC_SO_AUDIO_VADCTRL,0)
[2016-09-18 09:39:50(688)]        Invoke        SetSDKOption(BRAC_SO_AUDIO_AGCCTRL,0)
[2016-09-18 09:39:50(689)]        Invoke        SetSDKOption(BRAC_SO_AUDIO_ECHOCTRL,0)
[2016-09-18 09:39:50(692)]        Invoke        SetSDKOption(BRAC_SO_AUDIO_CNGCTRL,0)
[2016-09-18 09:39:54(722)]        Invoke        UserSpeakControl(userid=-1,bOpen=1)
[2016-09-18 09:39:54(723)]        Audio record control:1, result:-1
[2016-09-18 09:39:54(723)]        Invoke        BRAC_SetVideoPos(dwUserId:-1, hWnd:0x1ff1250, l:0, t:0, r:0, b:0)
[2016-09-18 09:39:54(724)]        Invoke        UserCameraControl(userid=-1,bOpen=1)
[2016-09-18 09:39:54(758)]        Default Audio Capture Driver()
[2016-09-18 09:39:54(760)]        Audio Init, error:0, device:0, 1, 16000, 16, capmode:0
[2016-09-18 09:39:54(761)]        Audio codec init, handle:1, 11, 1, 16000, 16, 15850
[2016-09-18 09:39:54(903)]        Audio FX Status: VAD:0, NS:0, AGC:0, AEC:0
[2016-09-18 09:39:55(418)]        video init finish: 352x288, 25fps, fmt:100, ret:0
[2016-09-18 09:39:55(420)]        video init finish:352x288, YUV420, fps:25
[2016-09-18 09:39:55(492)]        video codec init:codec:1, 12fps, 352x288, bitrate:180kbps, quality:3, preset:2, gop:30, handle:2
[2016-09-18 09:39:57(716)]        Invoke        StreamRecordCtrlEx(-1, 1, 0x803, 0, StarLocolSelfRecord)=0
[2016-09-18 09:39:57(839)]        Could not open '/var/mobile/Containers/Data/Application/4A44F809-37BE-4072-BCB4-BB405D162B5F/DocumentsF@®±
P/2016-09-18/09-39-57-790_00120160918093976024_77.mp4': No such file or directory
[2016-09-18 09:40:03(477)]        Invoke        StreamRecordCtrlEx(-1, 0, 0x803, 0, StopLocolRecord)=0
[2016-09-18 09:40:03(483)]        Invoke        UserSpeakControl(userid=-1,bOpen=0)
[2016-09-18 09:40:03(487)]        Invoke        UserCameraControl(userid=-1,bOpen=0)

/***************这部分是有回调然后奔溃的log*****************************************/
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|AnyChat ( 粤ICP备13022410号-1 )  

GMT+8, 2024-4-21 10:09 , Processed in 0.128501 second(s), 21 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表