Agora Cloud Recording 不录制混入音频文件

时间:2021-06-18 03:55:08

标签: agora.io

您好,我已经成功录制了一个 Agora 音频通话,其中一个人以广播角色发言,并且在通话过程中混入了多个音频文件。

在我们升级到 flutter 2 和相关的升级包之前,所有音频都被记录下来。

现在只录制广播员的声音,没有混入音频。

广播公司和观众都可以毫无问题地听到通话中的混合音频。

代码(Flutter)类似于:

使用默认设置将音频混入有效的 RTC 会话中

    final playing = await session.playAudioFile(path, (){
      state = MessagePlayerState.STOPPED;
      if (!disposing) {
        whenFinished();
      }
    });

录音选项如下(我的UID是硬编码的字符串,与任何参与者的UID都不一样)

    http.Response response = await http.post(
      Uri.https(AGORA_REST_URL, '$AGORA_REST_API_VERSION/$appId/cloud_recording/resourceid/$resourceId/mode/mix/start'),
      headers: <String, String>{
        HttpHeaders.authorizationHeader: 'Basic $basicAuth',
        HttpHeaders.contentTypeHeader: 'application/json; charset=UTF-8',
      },
      body: jsonEncode(<String, dynamic>{
        'cname': channelName,
        'uid': uid,
        'clientRequest': {
          'recordingConfig':{
            'channelType':0,
            'streamTypes':2, // TODO: Should be a streamTypes of 0 (audio only), but get failures.
            'audioProfile':1,
            'videoStreamType':0,
            'maxIdleTime':120,
            'transcodingConfig':{
              'width':360,
              'height':640,
              'fps':30,
              'bitrate':600,
              'maxResolutionUid':'1',
              'mixedVideoLayout':1
            },
            'recordingFileConfig':{
              'avFileType': ['hls','mp4']
            }
          },
          'storageConfig':{
            'vendor':1,
            'region':3,
            'bucket':AWS_RECORDING_BUCKET, // TODO: Env Var
            'accessKey':AWS_BUCKET_ACCESS_KEY,
            'secretKey':AWS_BUCKET_SECRET_KEY,
          }
        },
      }),
    );

m3u8 和 ts 文件存在于 S3 存储桶中。

在 S3 中调整元数据标签会导致文件在 Safari 中正常播放,但听不到混合音频。

使用 ffmpeg 将文件转换为 aac 显示此错误

[hls @ 0x7fd6cc808200] Opening '2838cfc6254e9fec2e3088976f39d7ce_bip_20210618014151427.ts' for reading
[mpegts @ 0x7fd6cc00a600] Packet corrupt (stream = 0, dts = 1437390).
size=     480kB time=00:00:30.69 bitrate= 128.1kbits/s speed=1.49e+03x    
video:0kB audio:470kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 2.093976%

结果与来自 S3 存储桶的结果相同。

感谢任何帮助或提示。

1 个答案:

答案 0 :(得分:0)

这可以关闭/忽略。事实证明,当应用正常使用时,我们有一个边缘条件没有显示,但例如,如果您想要一个非常舞台管理的录音向其他人炫耀它坏了。