mayudong1
mayudong1
错误码是什么呢?sdk库分为直播库和点播库,其中直播库不支持rtsp流,点播库才支持,而demo中默认使用的是直播库,直播库播放rtsp会有-10001的错误,表示不支持的协议
rtsp server在收到tcp模式的setup消息时回复的是什么内容呢,如果不支持的话应该回复461的错误码吧 以前测试过在服务器不支持tcp模式时会再次使用udp模式尝试
这个问题一直都存在,查到过部分原因,但依然顽固的存在,暂时也没有找到出现这个崩溃的原因 所以暂时没有解决方案 另:一直这个问题都是通过bugly之类的日志收集发现的,在测试过程中从来没有出现过,你这里能给提供会出现这个崩溃的场景吗?
是的,顽疾了,以前找到过部分原因,但后来依然会出现,暂时也没有进一步的发现
目前使用的ffmpeg版本是3.3.3,但是还有一些我们的修改,和官方的3.3.3并不一致
这个MP4文件结构比较特殊 在ftyp box之后有好几十个mdat box用来存储数据,然后表明音视频编码信息的moov box又在文件最后 常见的mp4文件中只有一个mdat box来存储数据,这样即使moov box在文件尾时,也可以通过mdat box的大小迅速定位到moov box的位置,然后通过新的http请求直接获取moov box数据来解析数音视频的编码格式 但是这个视频因为有很多个mdat box,无法迅速定位到moov box的位置,只能在所有数据全部下载下来之后才能拿到moov box来解析出音视频编码格式,这样因为需要下载大量的数据导致开播慢 暂时在播放端无法解决此问题,可以尝试对这种MP4文件进行一次处理,将moov box放到文件前面的部分就可以正常迅速开播了,或者找视频的生成方,不要生成这种结构的文件 moov前置可以使用一个叫做MP4Box的pc端命令行工具,执行`mp4box -inter 10000 test.mp4`命令后即可
不清楚你之前的代码是怎么做的,stop后播放器会销毁,应该把播放器对象设置为nil,再次播放时需要重新初始化播放器,然后再播放 如果是正常使用过程中要切换播放的视频的话,比较推荐使用reset的方式来修改url然后播放的,这样少了一个播放器的重新申请和初始化的步骤
是所有视频都这种表现还是个别视频才有卡顿,如果是个别视频可以提供下文件吗? 如果是所有视频都卡顿试试我们的demo播放时什么表现,[bufferTimeMax](https://ksvc.github.io/KSYMediaPlayer_iOS/doc/html/Classes/KSYMoviePlayerController.html#//api/name/bufferTimeMax)这个设置可能跟卡顿有关系
你可以试试在url前面加上一个scrawler:,即上面那个url改为scrawler:http://videocdn.xiaoxigeek.com/FpQ0Ef4lpcD4bFm2lJkmg4BAmEdw 就不会有卡顿的现象了 实际上sdk在读取http+MP4格式的文件是,都会在内部加上这个,但是判断是根据url中有没有.mp4来处理的
直播追赶一般发生在开播的时候,有的服务器会缓存比较多的数据,在开播的时候一股脑全扔个了播放端,bufferTimeMax设置后会根据这个设置的时间快速的丢弃一部分数据,使得本地的缓存小于设置的值,从而保证延迟不是特别大 正常播放过程中网络抖动造成某个时刻没有数据,下一个时刻忽然很多数据,当数据超过设置的时长时也会出现丢弃一部分数据的追赶逻辑 不清楚你所说的没有追赶时什么意思,可以试试将bufferTimeMax设置成0和设置成其他值对比一下效果,设置为0时为关闭追赶逻辑