tencent cloud

短视频 SDK

动态与公告
产品动态
关于短视频 SDK “startPlay”接口名变更的公告
产品简介
产品概述
产品功能
应用场景
基本概念
购买指南
价格总览
退款说明
免费测试
License 指引
新增与续期 License
配置查看 License
Demo 体验
SDK 下载
SDK 下载
发布日志(App)
含 UI 集成方案
小视频 App
源码解读(iOS)
源码解读(Android)
不含 UI 集成方案
SDK 集成
拍照和录制
预览裁剪和拼接
上传和播放
美颜特效
高级功能和特效
API 文档
短视频编辑
短视频录制
技术支持
错误码表
功能答疑
常见问题
上传常见问题
Android 编译问题
Android 常见问题
iOS 常见问题
License 常见问题
UGSV 政策
隐私政策
数据处理和安全协议

iOS 常见问题

PDF
聚焦模式
字号
最后更新时间: 2022-08-16 17:09:23

关于 TXUGCPublish.h 的问题?

从4.5版本开始,TXUGCPublish相关的类从 SDK 上移到了 Demo 层,开发者如果需要使用,使用时直接把VideoUpload目录整个拖入自己的工程即可。

Xcode 中直接运行 Demo 报错?

报错信息:



解决方法:执行 pod install。

连接 Xcode 调试,短视频录制报错?

连接 Xcode 调试,短视频录制报错,报错信息:Main Thread Checker: UI API called on a background thread



原因:某些 API(一般是 UI 相关的)需要在主线程调用,如果在非主线程调用,同时有勾选Main Thread Checker的话,就会报错。
解决办法:Product>Scheme>Edit Scheme>Run>Diagnostics,取消勾选Main Thread Checker
说明:
该问题在4.9版本已经修复。

使用 SDK 时报找不到头文件?

执行 pod install 即可。

运行工程时报找不到类别方法或者 crash?

SDK 用到了一些类别的方法,加载类别方法需要在工程配置:Build Settings>Linking>Other Linker Flags添加-ObjC

录制短视频时设置背景音乐无效?

1. 确定传的 BGM path 下有没有文件,以及是否可以正常播放。
2. 确定接口的调用顺序:startCameraSimple:preview:>setBGM:>startRecord
注意:
很多接口调用有时序要求,不然会无效。一般在注释上会有说明。
例如短视频录制的setVideoResolution:setVideoBitrate:setAspectRatio:等接口都需要在 startRecord 之前设置才有效。

录制设置 BGM 不能循环播放?

目前逻辑暂未支持循环播放。

录制设置 BGM,endTime时没有完成回调?

如果设置的endTime小于音乐文件总时长,4.6及之前的版本是在 BGM 播放完后才会触发完成回调,从4.7版本开始在endTime时触发完成回调。

为什么录制时第一次打开摄像头比较慢?

苹果手机摄像头第一次打开时(冷启动)耗时相对较长,通过系统接口打开摄像头也是如此。
因为摄像头打开的操作不适合放在子线程去做,经过测试在子线程中进行打开摄像头操作耗时会更大,并且在主线程连续打开/关闭摄像头的时候,子线程的响应延迟会更高,体验不好。

返回继续录制怎么实现?

在第一次录制完成的时候,不要调用stopRecordstopCameraPreview(调用之后不能再继续录制,只能重新录制),可以调用pauseRecord,然后通过TXUGCPartsManager.getVideoPathList获取已经录取的视频片段,通过TXVideoJoiner.joinVideo合成最终视频(4.5之前版本),还可以直接调用TXUGCPartsManager.joinAllParts合成最终视频,这个方法合成速度更快(4.5以后版本支持),这样当返回继续录制的时候,所有的录制状态都在,可以继续录制。

短视频录制完成时收不到完成回调?

确定有没有调用 stopRecord,只有调用 stopRecord 后才会有完成回调。
确定函数的调用是否都在主线程。

录制过程中用其他播放器播放视频,返回继续录制,声音录制不了?

iOS 中的 AudioSession 是所有音视频应用共用的,使用其他播放器播放的时候,AudioSession 会被占用,播放结束时如果 AudioSession 没有让出或者让出不及时,会导致录制模块的 AudioSession 失效,SDK 提供了-(void) pauseAudioSession-(void) resumeAudioSession两个接口,在去其他播放器预览的时候先调用pauseAudioSession,返回继续录制前调用resumeAudioSession

为什么录制出来的视频不清晰?

码率和分辨率不匹配,录制出来的视频就会不清晰。可以通过适当增大码率、开启B帧来提升画质。

视频编辑时退后台再回到前台,视频生成失败?

生成视频默认采用的是硬编码(编码效率高,编码出来的图像效果好),硬编码器在程序进后台后会停止工作,从而导致视频生成失败。SDK 提供了两个接口pauseGenerateresumeGenerate,App 进后台时可以调用pauseGenerate暂停视频生成,App 回到前台后再调用resumeGenerate继续视频生成。
注意:
调用resumeGenerate,SDK 将重启硬编码器,有一定的概率重启失败,或重启后前几帧数据编码失败。此时,SDK 内部会在TXVideoGenerateListener抛出错误事件,收到错误事件后需要重新生成视频。

文件上传失败?

文件上传状态码:



1. 确定上传的文件是否在本地沙盒,如果上传媒体库的文件,需要先 copy 到本地沙盒。
2. 返回错误码1002:签名有问题、时间戳过期、点播服务问题(未开通或停服)。
3. 返回错误码1003:请求参数问题、上传文件格式不支持。

短视频录制是否有拍照功能?

短视频 SDK 可以实现拍照功能,开始预览后调用TXUGCRecord类的snapshot接口获取图片即可。

集成时一直报错“Use of undeclared identifier 'TXVideoInfo'”?

该错误是编译器没有检测到 TXVideoInfo 类,建议检查 SDK(framework)是否正确,可依照 文档步骤 重新导入工程。

调用视频合成报错“-1,Failed to enable encoder” 怎么办?

1. 请确认问题是否为必现问题,建议更换机型测试。
2. 可下载最新版的 Demo 中复现一下问题。若问题是必现的,请提供 完整的日志信息 并 提工单 解决。

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈